pxe概念
PXE(preboot execute environment,预启动执行环境)是由intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
pxe网络安装的流程:bios启动——>pxeclient中的程序进入内存,显示命令菜单——>此程序开始寻找网络引导程序(bootstrap文件,这个文件的名字随着发行版的不同而不同,在 centos中,它是pxelinux.0)——>引导程序读取配置文件pxelinux.cfg,获得系统初始化的相关文件信息——>系统启动,开始进行安装。
操作步骤
服务器端:
1.安装dhcp服务
2.编辑配置文件,由于PXE客户机通常是尚未装系统的裸机,因此为了和服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件的位置。
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf
vim /etc/dhcp/dhcpd.conf
next-servere 提供pxe服务的主机ip
filename “pxelinux.0"; 指定pxe引导程序的文件名
systemctl restart dhcpd
3.安装pxe服务
yum install syslinux-4.05-12.el7.x86_64
less /usr/share/syslinux/pxelinux.0 查看文档,帮助使用pxe
4.安装tftp服务,使服务端的系统配置文件能够通过网络传输给客户端
vim /etc/xinetd.d/tftp 将disable=yes 改为disable=no
systemctl restart xinetd.service 重启服务
netstat -antlupe |grep xinetd 查看端口信息,69端口已打开
5.编辑引导配置文件
1)将光盘镜像中有关系统预安装的文件(isolinux) 拷到服务端的/var/lib/tftpboot下
2)在/tftpboot创建pxelinux.cfg目录,用于放isolinux的配制文件。光盘下有一个isolinux.cfg文件,把它拷贝到/tftpboot/pxelinux.cfg/目录下并改名为default.
客户端测试:
新建一个虚拟机,设置为通过pxe引导,通过获取动态ip及预安装文件,成功进入预安装界面
改变预安装界面的风格
cd /var/lib/tftpboot
将timeout=600 改为timeout=50,发现进入安装的时间由60s变为了5s
2)vim pxelinux.cfg/default
将menu default 从lable check移到lable linux,发现预安装界面的默认选项由第二条变为第一条
3)vim pxelinux.cfg/default
改变预安装界面的大标题
虽然能进入系统的预安装环境,但是不能安装操作系统,必须在服务端指明安装源,且应与内核的版本一致
vim /var/lib/tftpboot/pxelinux.cfg/default
可通过kickstart完成后续的自动安装
yum install system-config-kickstart
system-config-kickstart
vim /var/www/html/ks.cfg
ksvalidator ks.cfg 检查配置文件是否有错
在浏览器中测试,看是否能看到ks.cfg文件,以防在系统安装过程中出现问题
vim /var/lib/tftpboot/pxelinux.cfg/default
测试: