基于iVentoy的PXE服务器的部署实战指南
目次项目阐明
项目背景
需求
常见系统批量安装方式
使用商业化软件
使用开源软件
结论
iventoy先容
PXE先容
使命清单
系统平台部署
Windows下安装iventoy
设置iventoy
测试安装(半手动安装设置)
自动化脚本安装
项目情况
项目拓扑结构
软硬件情况清单
实施步调
安装下载
设置iventoy
拷贝ISO文件
运行软件
启动 PXE 服务
系统安装
iVentoy 定制安装
作用
脚本变量扩展
定制CentOS7
测试效果
ps:嫌啰嗦的可以直接跳到“项目情况”
项目阐明
该项目共分为2个子项目,由iventoy和定制安装两部分组成
项目背景
需求
[*] 新购了一批服务器和台式机,需要为台式机和服务器安装系统,一部分需要安装国产OpenEuler,一部分要求安装CentOS 7.9,同时也要满足定制化需求,即按要求分区安装相应软件。
常见系统批量安装方式
使用商业化软件
[*] 使用商业化软件要额外本钱开支
使用开源软件
[*] Linux 操作系统基于pxe技术结合kickstart实现定制化需求。
[*] Linux 操作系统基于cobbler结合自定义ks文件实现定制化需求。
[*] windows 系统安装 iventoy 结合自定义设置文件实现定制化需求。
[*] U盘装系统,制作u盘启动盘引导安装。
[*] 服务器通过ipmi远程ISO安装。
[*] 刻录光盘,外接光驱安装系统。
结论
[*] 综合比较,选择iventoy,将我们自己条记本打造成pxe服务器,操作相对简单,官方已经检测通过100多种操作系统。
iventoy先容
[*] 主页:iVentoyiVentoy is a new netboot solution.https://csdnimg.cn/release/blog_editor_html/release2.3.8/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=P1C7https://www.iventoy.com/cn/index.html
[*] iVentoy 可以看成是一个增强版的 PXE 服务器,使用iVentoy 你可以通过网络同时给多台机器启动、安装操作系统。
[*] iVentoy 使用极其简单,无需复杂的设置,直接把 ISO 文件放到指定位置,客户机在启动时根据菜单选择要启动的ISO文件即可。
[*] iVentoy 同时支持 x86 Legacy BIOS、IA32 UEFI、x86_64 UEFI 和 ARM64 UEFI 模式。
[*] iVentoy 支持 110 多种常见范例的操作系统
[*] iVentoy 在运行时会使用系统的一些端口号,这些端口需要在防火墙中放开,否则 iVentoy 会无法正常工作,详细如下:
PXE先容
https://i-blog.csdnimg.cn/img_convert/9e5b1c02c170a45b6f5e33619ff44ad0.png
[*] PXE,预启动执行情况(Preboot eXecution Environment,PXE,也被称为预执行情况)提供了一种使用网络接口(Network Interface)启动盘算机的机制。这种机制让盘算机的启动可以不依靠本地数据存储设备(如硬盘)或本地已安装的操作系统。
[*] PXE(Pre-boot Execution Environment)是由Intel计划的协议,它可以使盘算机通过网络启动。协议分为client和server两端,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
使命清单
系统平台部署
[*] 安装VmWare17
[*] 新建2台虚拟机
Windows下安装iventoy
[*] 前置处理
[*] 解压缩部署
设置iventoy
[*] 设置网卡信息
[*] 设置vmware
测试安装(半手动安装设置)
[*] 安装centos7.9
[*] 安装openeuler
自动化脚本安装
[*]设置自动化脚本
[*]自动化安装,检测
项目情况
项目拓扑结构
[*] 安装win10/11 条记本一台、服务器若干、交换机一台
软硬件情况清单
[*] 注意:为了学习方便(没有财力),使用VMware 17 workstation 里面创建新的虚拟机代替台式机和服务器来验证。
主机名IP地址硬件软件pxe-controlwindows本机分配IPWindows本机iventoy-1.0.20-win64-free.zipnode1192.168.88.162cpu:1颗2核 内 存:4GB HDD:20GB 网 络:NATVmWare17 Centos7.9node2192.168.88.163cpu:1颗2核 内 存:4GB HDD:20GB 网 络:NATVmWare17 OpenEuler22.03 SP4 实施步调
安装下载
[*] 下载地址:Download . VentoyiVentoy is a new netboot solution.https://csdnimg.cn/release/blog_editor_html/release2.3.8/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=P1C7https://www.iventoy.com/cn/download.html
https://i-blog.csdnimg.cn/img_convert/f6afcefa045c706e6a52e0c15eb1b546.jpeg
[*] 注意:下载解压缩iventoy-1.0.20-win64-free.zip,==解压位置的全路径中不能有中文或空格==, 软件解压后的目次结构如下:
https://i-blog.csdnimg.cn/direct/69eeeee8d11e47b39741aa03508f69d4.png
[*] 各个目次作用如下:
目次阐明data存放 License、设置文件等doc存放软件相干阐明文档iso放ISO文件的地方,可以在里面创建子目次lib存放 iVentoy 运行所需的 LIB 文件,==用户不要动这个目次==log存放 iVentoy 运行日志user存放用户文件、第三方软件包、自动安装脚本等文件 设置iventoy
拷贝ISO文件
[*] 将需要安装的系统ISO文件都拷贝到D:\iventoy-1.0.20-win64-free\iventoy-1.0.20\iso目次下
[*] 可以在此目次下任意创建子目次来归类存放各种差别范例系统的ISO文件。
[*] 注意:
[*] ==目次名和ISO文件名中不能有中文或空格==
[*] 也可以管理员身份打开cmd,使用命令创建iso快捷方式(软连接),即不需要将ISO文件从别的位置拷贝到这个 iso 目次下 ( Linux 系统中你可以使用 ln -s 命令)
# 在 Windows 系统中你可以使用 mklink 目标源 命令创建
C:\Users\Administrator>mklink D:\iventoy-1.0.20-win64-free\iventoy-1.0.20\iso\CentOS-7-x86_64-DVD-2207-02.iso D:\Linux\Linux_app\ISO\CentOS-7-x86_64-DVD-2207-02.iso
为 D:\iventoy-1.0.20-win64-free\iventoy-1.0.20\iso\CentOS-7-x86_64-DVD-2207-02.iso <<===>> D:\Linux\Linux_app\ISO\CentOS-7-x86_64-DVD-2207-02.iso 创建的符号链接
https://i-blog.csdnimg.cn/direct/fa8a82f502c7411fa09319e08a86ece8.png
运行软件
[*] Windows 系统中直接双击运行 exe 文件即可
[*] Linux 系统下在终端中执行 sudo bash iventoy.sh start 命令。
[*] 注意:windows 注意需要关闭防火墙或放行相干端口。==本文接纳关闭全部防火墙(在控制面板里,点击系统和安全)==,如图:
https://i-blog.csdnimg.cn/img_convert/a5a7e39b758b23f035733964accaf46c.png
https://i-blog.csdnimg.cn/img_convert/00c7a825f902509f44a6834a847675a7.png
[*] 右键选择管理员身份启动iventoy
https://i-blog.csdnimg.cn/direct/6790bf930e9440b389cc70ed70ea0878.png
https://i-blog.csdnimg.cn/direct/833cf31b7fa1415bbadfffb969a11035.png
[*] Windows 系统中打开软件之后,会自动打开浏览器,如果没有自动打开,则需要手动点击 打开链接 按钮,如图:
https://i-blog.csdnimg.cn/direct/80e2b94993e5491e959cf644d9b0915d.png
[*] 分析客户端IP地址设置:打开vmware17->编辑菜单->虚拟网络编辑器->VMnet8 NAT 网卡查看网段,点击NAT设置查看网关地址,注意:需要关闭VMware nat模式的dhcp服务。
https://i-blog.csdnimg.cn/direct/289e5f0fb9704c81b9889768c950fd62.png
https://i-blog.csdnimg.cn/direct/c392d9115919458cb60632eafa948a2e.png
https://i-blog.csdnimg.cn/direct/43c70dd2c4ca4af9b8531fa73de36f15.png
启动 PXE 服务
[*] 在 iVentoy 主界面上选择本机 IP 地址,根据之前的分析设置好 IP 地址池,然后点击绿色的开始按钮即可,如图:
https://i-blog.csdnimg.cn/direct/eaf712659fd04925a5f036405516e2b0.png
[*] 启动 iventoy 后如图示:
https://i-blog.csdnimg.cn/direct/3aad90da8f33471aa9f2c5e4c0f89be7.png
系统安装
[*] 本文使用VMware workstation 新建虚拟机测试,新建虚拟机时不要加载iso镜像。
[*] 新建Centos7.9虚拟机
https://i-blog.csdnimg.cn/img_convert/8f7e9e82737cc8c51b29d8d481ebe1f3.png
https://i-blog.csdnimg.cn/img_convert/47d7ff79b2f89997a697e188b87f06be.png
https://i-blog.csdnimg.cn/img_convert/f3ae455a7b42e7fb0a6e7ef042834ba7.png
https://i-blog.csdnimg.cn/img_convert/429ea7a63bcb8fc25c63a5b1923891a5.png
https://i-blog.csdnimg.cn/img_convert/7a8e65ccf8ee74feabeb309d3d3b4dcc.png
https://i-blog.csdnimg.cn/img_convert/72cab2103a13fdcbf7c936bd4f655c93.png
注意:新CD/DVD处不能设置ISO镜像文件
[*] PXE自动辨认:
https://i-blog.csdnimg.cn/img_convert/41b6ec52e3226c4761455e406d39fa98.png
[*] 由于网络安装加载较慢,需要等待一段时间,后续就和正常装机一样,过程略(一路继续)。
https://i-blog.csdnimg.cn/direct/a5284ba6a98440b49c2796686a17d964.png
[*] 注意:
[*] 安装RHEL9/OpenEuler系统时需要上==4G内存==,否则无法加载设备(vmware中pxe服务器安装报错dracut:FATAL: Failed to find a root file system in /tmp/curl_fetch_url1/install.img_dracut : fatal :failed to find a root filesystem-CSDN博客)
[*] 某些系统自定义分区时需要增长biosboot分区或/boot/efi分区,大小100m即可
iVentoy 定制安装
作用
[*] 通过 iVentoy 你无需重新制作ISO文件,只需要简单地为一个ISO文件指定一个或者多个自动安装脚原来实现无人值守、自动安装部署系统的方案。
[*] 可以使用 Windows 中的 unattend XML、Redhat/CentOS系列中的 Kickstart 脚本、SUSE系列中的 autoYast XML、Debian系列中的preseed脚本等等。
[*] 下面的示例模版脚本位于安装包内的 user/scripts/example 目次下,如图:
https://i-blog.csdnimg.cn/img_convert/5b099b343a138a4c31ce9d2254ad9316.png
发行版脚本格式示例脚本阐明WindowsUnattend XMLunattended.xmlWindows系列Deepin/UOSINIdeepin.iniDeepin/UOS 系统RHEL8/CentOS8Kickstart scriptkickstart8.cfg同时也支持基于这几个派生出来的发行版。好比 OpenAnolis, RockyLinux 等。RHEL7/CentOS7/FedoraKickstart scriptkickstart7.cfg同时也支持基于这几个派生出来的发行版。好比 Oracle Linux, EuroLinux 等。RHEL6/CentOS6Kickstart scriptkickstart6.cfg同时也支持基于这几个派生出来的发行版。openEulerKickstart scriptopeneuler.cfgopenEuler 版本。DebianPreseed scriptpreseed.cfgDebian 系列的发行版。Ubuntu Server (< 20.x)Preseed scriptpreseed.cfg早期 Ubuntu Server 版本Ubuntu Server (20.x+)cloud-initcloud-init-user-dataUbuntu Server 20.x 以后的版本SUSEautoYast XMLautoYast.xmlSLES 和 openSUSE
[*] 注意:这里的示例脚本仅供参考,需要根据实际需要修改,尤其是里面磁盘分区设置的部分。否则会造成磁盘被误格式化、数据丢失等题目。
脚本变量扩展
[*] 在举行自动安装时,在安装脚本中有一些设置是无法固定写死的,必须根据实际情况举行调整。
[*] 最常见的就是对于安装盘的指定,好比我们在安装脚本中指定系统安装到 DISK0 或者 /dev/sda 但在有些机器上它对应的那个盘并不是我们想要的那个。 如许大概就把系统安装到错误的盘上了。
[*] 针对上述需求,iVentoy 在自动安装脚本中支持 变量扩展,变量使用 $$VT_XXX$$ 的形式,其中 VT_XXX 对应变量名。
[*] 注意:
[*] 包含变量的自动安装脚本文件必须是 UTF-8 编码格式。
[*] 只支持下面表格中列出的变量,不支持自定义变量。
[*] 变量名双方必须各用2个$$ 符号包起来
[*] Ventoy 会自动检测自动安装脚本内是否包含变量,对于不包含变量的脚本不会做扩展处理。
[*] 变量扩展是在副本中举行的,不会修改脚本源文件。
https://i-blog.csdnimg.cn/img_convert/bd081dba755b534bf193eba4eac8cab7.png
定制CentOS7
[*] 复制 kickstart7.cfg
[*] 改名为 CentOS7.cfg
install
lang en_US.UTF-8
keyboard us
rootpw 123456
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disable
firewall --disabled
timezone --utc Asia/Shanghai
#network --onboot=yes --device=$$VT_MAC_COLON_LOWER$$ --bootproto=static --ip=$$VT_LOCAL_IP$$ --netmask=$$VT_NET_MASK$$ --gateway=$$VT_GATEWAY$$ --noipv6
eula --agreed
firstboot --disable
%include /tmp/partation.ks
zerombr
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 2048
part / --fstype xfs --size 1 --grow
#packages configuration
%packages
@core
bash-completion
chrony
dos2unix
net-tools
lrzsz
nmap
sysstat
telnet
tree
vim
wget
%end
reboot
%pre
#Select install disk
disk_short_name=$$VT_LINUX_DISK_MAX_SIZE$$
echo bootloader --location=mbr --driveorder=$disk_short_name >> /tmp/partation.ks
echo ignoredisk --only-use=$disk_short_name>> /tmp/partation.ks
echo clearpart --all --initlabel --drives=$disk_short_name>> /tmp/partation.ks
%end
#Download third part software
%post
# wget $$VT_IMG_ID_HTTP_URL$$/Packages/kernel-tools-3.10.0-957.el7.x86_64.rpm -O /root/kernel-tools.rpm
# wget http://$$VT_SERVER_IP$$:$$VT_HTTP_PORT$$/user/xxx.zip -O /root/xxx.zip
%end
https://i-blog.csdnimg.cn/direct/9866502e60b246dabda3696ed2f4d7c8.png
[*] 关闭PEX服务(之前的那个网页)
https://i-blog.csdnimg.cn/direct/ef73287f892a425fbb178e70ee5ade92.png
[*] 将设置好的自动部署脚本和镜像关联
https://i-blog.csdnimg.cn/img_convert/3ac3c7f0945c8eef09692879854019dd.png
测试效果
[*] 启动服务
https://i-blog.csdnimg.cn/direct/33a343be3beb4331abe85a4d1c397b08.png
[*] 本文使用VMware workstation 新建虚拟机测试,新建虚拟机时不要加载iso镜像,测试CentOS7,按回车键。
https://i-blog.csdnimg.cn/direct/9024b67d4b554674ad3df41f00579eee.png
[*] 切换到自定义脚本,然后按 回车键
https://i-blog.csdnimg.cn/img_convert/034869d7ea201c0403088ff2d8860d20.png
[*] 由于网络安装加载较慢,需要等待一段时间,安装按预先设定脚本执行
注意:若安装某些系统时卡死,一样平常都是虚拟机分配的内存不足造成的,建议分配4G内存
https://i-blog.csdnimg.cn/img_convert/abebd931a1662059b9e947c4478d0ddf.png
[*] 安装完毕后,登录系统检查(用户名root,暗码是隐蔽输入)
# lsblk
https://i-blog.csdnimg.cn/direct/e0358158c8324402bf744e1486b6d68a.png
[*] 软件包检查
# rpm -aq | egrep
https://i-blog.csdnimg.cn/direct/23f03c7fc01c490991785eafd86c1908.png
[*] 检查防火墙
# firewall-cmd --state
<img alt=""src="https://i-blog.csdnimg.cn/direct/1e1bc6afd6c74452a4d0feb0f5e56b6c.png"/>
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]