一、PXE定义
PXE (Pre-boot Execution Environment) 是由Intel和微软设计的协议。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行
二、PXE服务端与客户端通信原理
三、PXE服务器部署(CentOS6.8)
注意:
1)虚拟环境中需将自带 DHCP 功能关闭。网络编辑器
2)注意测试安装机器是否将网络与 PXE 服务器网络对齐 Nat或者仅主机模式
1、安装环境
yum install -y vsftpd dhcp syslinux tftp-server
#vsftp给客户端共享所需软件包或镜像 (可选项,例如Apache、nginx共享服务)
#dhcp分配IP地址并告诉客户机tftp服务器地址以及pxelinux.0
#syslinux告诉客户机所安装系统的相关配置
#tftp传输引动二进制文件以及相关配置文件
2、拷贝镜像文件到ftp共享目录
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
mkdir -p /var/ftp/pub/dvd/
chown -R ftp:ftp /var/ftp/pub/dvd/
cp -rf /mnt/cdrom/* /var/ftp/pub/dvd/
service vsftpd start #vsftp服务开启
chkconfig vsftpd on #开机自启
3、配置dhcp服务
vim /etc/dhcp/dhcpd.conf
subnet 172.16.31.0 netmask 255.255.255.0 {
range 172.16.31.50 172.16.31.100;
option routers 172.16.31.101;
next-server 172.16.31.101; #tftp server的ip
filename "pxelinux.0"; #next-server索取文件
}
service dhcpd start
chkconfig dhcpd on
4、配置tftp
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot #共享目录
disable = no #开机自启
per_source = 11
cps = 100 2
flags = IPv4
}
service xinetd start #tftp服务是无状态服务,所属于xinetd服务,因此开启xinetd即可
chkconfig xinetd on
5、拷贝、创建相关文件
mkdir -p /tftpboot/pxelinux.cfg
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/ #pxelinux.0文件
chmod 644 /tftpboot/pxelinux.cfg/default
cp /var/ftp/pub/dvd/isolinux/* /tftpboot/ #pxelinux.0所需相关图片文件
6、安装kiscstart无人值守安装脚本
yum -y install system-config-kickstart
进入CentOS系统gui界面,(如果系统是最小化安装,可按照相关Desktop软件包进入桌面,可参考:https://blog.csdn.net/qq_40836555/article/details/105430952)
打开终端输入system-config-kickstart进行客户机预安装系统的配置(根据需要设置)
最后点击file----save 。默认保存文件名为ks.cfg
7、查看ks.cfg文件
vim /root/ks.cfg --只显示几行
........
%post --interpreter=/bin/bash #修改安装完系统后执行的脚本,如全部客户机安装Apache 服务
touch /root/readme.txt
echo "Hello" >> /root/readme.txt
%end
%packages #整个系统完成后初始样子,可通过其他系统/root/文件anaconda-ks.cfg中packages段安装的程序
@chinese-support
@core
@server-policy
@workstation-policy
%end
8、修改开机默认进入选择图形的文件/tftpboot/pxelinux.cfg/default
mv /root/ks.cfg /var/ftp/pub/ks.cfg
vim /tftpboot/pxelinux.cfg/default
主要修改客户端开机进入选择后默认选择linux选择,即Install or upgrade an existing system ,并告诉ks文件位置
至此,PXE服务器端配置完成,在Vmware上建立多台虚拟机并打开电源即可自动获取IP地址并安装centos系统。
附上本小小编所遇问题:
问题一:客户端在即将安装系统时弹出下图,需点击OK才能继续自动安装。估计是系统版本问题,下图使用的系统是CentOS6.5,后续更换系统为CentOS6.8后,问题解决。