PXE介绍
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
使用PXE可以实现批量安装系统。
系统预安装环境的介绍
预安装环境是指系统安装之前的界面。本篇文章中在VMWare Workstation中模拟系统的自动安装过程。
新建虚拟机
配置虚拟机
- 选择新建虚拟机的开启方式为“打开电源时进入固件”
- 选择"Boot"->“Hard Drive”(
shift和+键
将Hard Drive移动至首行)->F10保存 - 保存后,系统进入以下界面,选择首行,按
Tab键
,即可进入系统的预安装界面: - 这时,系统会启动几个文件
- 在服务器的镜像中查看这些文件的位置
- 由此可以看出,执行系统的预安装环境需加载镜像的
isolinux
目录。但是我们并没有为这个新建系统安装镜像,因此此时这个新建虚拟机无法启动,将其关闭。
若要批量安装新系统而不用所有主机都安装镜像,仅需下载服务器端的isolinux
目录即可。
配置ks.cfg
在开始部署PXE工作之前,需要做以下工作:
- 在服务器端配置部署FTP服务;
- 在服务器端部署DHCP服务(可查看软件管理中关于DHCP的部分);
-
在服务器端生成ks.cfg文件,(采用Linux8部署PXE,
ks.cfg
文件可在Linux7系统中配置好,再传送到Linux8系统中); - 确保服务器端拥有安装系统所需的资源(比如:在服务器端的ftp目录挂载镜像)。
注意:上述服务部署后要检查其状态,保证所有服务处于开启状态。
其中,1、2、4工作都可通过链接文章的介绍直接完成,而生成ks.cfg时有部分内容需要改变,因此,本文单独介绍配置ks.cfg文件。
在Linux7系统中配置ks.cfg文件
ks.cfg文件在Linux7系统中部署。完成后通过ftp传送到Linux8服务器中。
关于ks.cfg文件的配置,链接文章中资源的来源是CD-ROM,若要令资源来源于网络,则需修改Installation Method
中的Installation source
。
查看服务器端(Linux8系统)的ip:
在Linux7系统中配置ks.cfg信息
配置source源
设置网络连接方式及设备名称
配置yum源
其余设置与链接中的设置相同。
设置好之后保存文件,并将该文件复制至本机的ftp目录。(注意:ks.cfg仅在该系统中配置一下,实际的使用是在另外一个服务器中)
服务器端将配置好的ks.cfg文件放在自己的ftp目录中
部署PXE环境
1. 下载pxelinux.0文件
2. 下载tftp软件
命令:yum install tftp-server.x86_64 -y
systemctl start tftp
3. 共享pxelinux.0
命令:cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4. 共享安装环境时所要读取的文件
命令:
cp /var/ftp/rhel8_source/isolinux/* /var/lib/tftpboot/
5. 生成pxelinux.0默认读取文件
命令:mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
6. dhcpd服务配置分发pxelinux.0
1. 编辑DHCP配置文件
配置文件地址:/etc/dhcp/dhcpd.conf
增加next-server
和filename
next-server
后添加tftp服务器地址;filename
后添加文件pxelinux.0在tftpboot目录中的地址。
2. 重启dhcp服务
命令:systemctl restart dhcpd
测试自动安装系统
1. 打开虚拟机
2. DHCP方式获取ip,进入预安装界面
此时虽然可以进入预安装界面,但实际上是无法进行安装的,因为isolinux.cfg
文件中默认的寻找路径还是镜像。
3. 配置pxelinux.cfg/default
配置文件位置:/var/lib/tftpboot/pxelinux.cfg/default
重启系统,资源来源发生改变
此配置方式下,系统在没有镜像的情况下能够自动执行至kickstart文件设置前。若仅需实现PXE,到这里就结束了。
注意:到这里只完成了安装系统的预处理,后面的安装操作还是需要人工执行。而我们的目标是自动安装系统,因此需要在配置文件中增加kickstart的配置文件,使用PXE+kicistart实现全自动安装新系统。
4. 再次配置pxelinux.cfg/default
添加ks.cfg文件的地址,使系统能够自动执行系统安装过程中问题的回答。
5. 安装系统
此时,便在没有镜像的情况下,完成了PXE和kickstart,并实现了text模式的系统安装。
登陆后查看,系统已自动下载好lftp软件。