第1步,挂载光盘到指定目录,并用yum安装PXE服务器的必备软件。
mkdir -pv /dvd
mount /dev/cdrom /dvd
yum install -y dhcp tftp-server vsftpd syslinux httpd nfs-utils rpcbind
第2步,备份dhcpd.conf配置文件,创建新的dhcpd.conf配置文件。
[ -f /etc/dhcp/dhcpd.conf.bak ] && echo dhcp.conf.bak ok || cp -v /etc/dhcp/dhcpd.conf{,.bak}
cat > /etc/dhcp/dhcpd.conf <<EOF
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option domain-name-servers 192.168.10.7;
option domain-name "up.com";
option routers 192.168.10.2;
option broadcast-address 192.168.10.255;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.10.7;
filename "pxelinux.0";
}
EOF
第3步,关闭防火墙和selinux。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
getenforce
第4步,启动dhcpd服务,并设为开机启动。(用于给客户机分配IP地址和声明tftp服务器IP地址)
systemctl restart dhcpd
systemctl enable dhcpd
systemctl status dhcpd
第5步,启动tftp服务,并设为开机启动。(用于共享PXE启动文件)
systemctl restart tftp
systemctl enable tftp
systemctl status tftp
第6步,启动vsftpd服务,并设为开机启动。(用于共享centos7的系统安装文件)
systemctl restart vsftpd
systemctl enable vsftpd
systemctl status vsftpd
第7步,启动httpd服务,并设为开机启动。(用于共享centos7的系统安装文件)
systemctl restart httpd
systemctl enable httpd
systemctl status httpd
第8步,查dhcpd、tftp、ftp、httpd服务的端口状态。
lsof -i :67
lsof -i :69
lsof -i :21
lsof -i :80
第9步,准备PXE启动文件。
cp -v /dvd/isolinux/* /var/lib/tftpboot/
cd /var/lib/tftpboot
rpm -ql syslinux|grep pxelinux
cp -v /usr/share/syslinux/pxelinux.0 ./
mkdir -pv pxelinux.cfg
cp -v isolinux.cfg pxelinux.cfg/default
第10步,准备centos 7的安装文件。
mkdir -pv /var/ftp/dvd
mount /dev/cdrom /var/ftp/dvd
第11步,创建一台新虚拟机作为PXE客户机,验证PXE启动过程。
第12步,在PXE服务器上指定ks自动安装的应答文件。
A、编辑PXE启动菜单,添加PXE的ks自动安装配置参数。
cd /var/lib/tftpboot/pxelinux.cfg
cat >> default <<EOF
label pxe
menu label ^Install CentOS Linux 7 pxe
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.7/dvd ks=ftp://192.168.10.7/ks/ks.cfg
EOF
B、创建ks应答文件。
chmod -v 644 /root/anaconda-ks.cfg
mkdir -pv /var/ftp/ks
cp -v /root/anaconda-ks.cfg /var/ftp/ks/ks.cfg
sed -i 's/10.7/10.11/' /var/ftp/ks/ks.cfg
第13步,重启PXE客户机,验证PXE启动过程。