一、什么是PXE
1.定义
PXE即预启动执行环境,提供了一种使用网络接口启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
2.所需服务
DHCP、TFTP 和FTP
DHCP:来给PXE客户机自动分配TCP/IP设置(包括IP地址、子网掩码、网关、DNS等)。告知PXE客户机“TFTP服务器的IP地址和PXE启动文件名”。
TFTP:是一个迷你的FTP共享协议软件,用来给PXE客户机提供网络启动的引导程序文件pxelinux.0。
FTP:提供系统镜像yum安装源及ks应答文件下载
文件共享:可以是vsftpd、nfs、samba、http等软件来实现文件共享。用来给PXE客户机提供系统安装文件。
文件共享:可以是vsftpd、nfs、samba、http等软件来实现文件共享。用来给PXE客户机提供系统安装文件。
二、搭建PXE自动安装系统环境
1.安装vsftpd服务
# yum install vsftpd
由于技术不到位加赶作业,出现缺少repos文件且没解决,以下内容均来源于网络,自己做总结。
2.安装DHCP服务并配置
(1)安装/组建DHCP
# yum install dhcp
(2)配置文件
# cp /usr/share/doc/dhcp-4.1.1/dhcp.conf.sample /etc/dhcpd.conf
#DHCP server to understand the network
(3)测试配置是否存在语法错误
service dhcpd configtest
(4)启动DHCP服务
# /etc/init.d/dhcpd start
(5)测试启动服务是否正常
# dhclient -d
3.安装TFTP服务并配置
(1)安装/组建TFTP服务
# yum install -y tftp
(2)查看tftp-server包所在位置
# rpm -ql tftp-server
(3)启动TFTP服务
systemctl enable tftp
4.搭建一个基于HTTP的网络yum仓库
# yum install httpd -y
# /etc/init.d/httpd start
5.准备好yum源,并启动httpd服务
# mkdir /var/www/html/centos/7/os/x86_64/-p
# mount/dev/srl/var/www/html/centos/7/os/x86_64/
# /etc/init.d/httpd start
6.准备ks文件,并放到yum仓库中
# mkdir /var/www/html/centos/7/ks -p
# cp centos7.cfg /var/www/html/centos/7/ks/
7.准备相应的文件
# mkdir /var/lib/tftpboot/pxelinux.cfg/
# cp /usr/share/syslinux/{menu.c32,pxelinux.0} /var/lib/tftpboot/
# cp /var/www/html/centos/7/os/x86_64/ioslinux.cfg/{vmlinuxz,initrd.img} /var/lib/tftpboot/
# cp /var/www/html/centos/7/os/x86_64/ioslinux.cfg/ioslinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
8.准备启动菜单
# vim /var/lib/tftpboot/pxelinux.cfg/default
三、测试
新建一个虚拟机,把网络和pxe服务器设置在同一局域网里,然后打开电源
四、注意事项
1、预先设置关闭并禁用PXE服务器selinux
2、预先关闭并禁用系统防火墙
3、不可在已存在DHCP服务器的网络内再配置新的DHCP服务器,否则会造成一个网络内多个DHCP服务器,造成IP地址获取混乱导致网络故障4、PXE安装centos7系统,则虚拟机的内存分配需要大于1G以上