PXE(预启动执行环境)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
1 需要安装的服务
yum install httpd tftp-server dhcp syslinux -y
httpd #共享安装资源
dhcp #分配ip以及让客户主机获取pexlinux.0文件
tftp-server #提供tftp协议,令客户主机可以读取到预安装环境
syslinux #提供pxelinux.0文件
pxelinux.0 #预安装环境头文件,用来指定读取后续文件的程序
2 防火墙设置:
可以选择关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld
也可以选择添加服务允许http,dhcp,tftp。
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=tftp
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --reload
3 开启http 服务
systemctl start httpd
ystemctl enable httpd
4 开启tftp服务
vim /etc/xinetd.d/tftp
14 disable = no ##打开tftp服务 # 修改该行的yes为no 打开服务
systemctl restart xinetd.service
5 启用dhcp服务
正常设置dhcp服务配置文件。 dncp服务器搭建
在最后添加:
filename “pxelinux.0”; #客户主机获得到的预安装环境头文件
next-server 172.25.47.104 #指定头文件所在主机的ip
systemctl start dhcpd
systemctl enable dhcpd
1 需要一个共享yum源 ,挂载的镜像作为安装系统的安装源
[root@localhost pxelinux.cfg]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3237804 7236096 31% /
devtmpfs 927060 0 927060 0% /dev
tmpfs 942648 84 942564 1% /dev/shm
tmpfs 942648 17040 925608 2% /run
tmpfs 942648 0 942648 0% /sys/fs/cgroup
/dev/sr0 3654720 3654720 0 100% /var/www/html/toto # 共享yum源
2 制作预安装环境
cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
# 将头文件复制到共享目录中
cp -p /var/www/htmltoto/isolinux/* /var/lib/tftpboot/
#isolinux/目录下有目录有内核和初始化文件等,复制到/var/lib/tftpboot/,在pexlinux.0引导客户主机访问tftp时,访问这些文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
# 创建配置目录
cp -p /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#pexlinux.0的配置文件是/var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default # 修改配置文件,设定自动化部署
61 label linux
62 menu label ^Install Red Hat Enterprise Linux 7.0
63 kernel vmlinuz
64 append initrd=initrd.img repo=http://172.25.47.104/toto http://172.25.47.104/ks.cfg # 修改此处,指定系统安装源 指定自动安装文件
生成ks.cfg自动花安装脚本参考生成ks.cfg自动安装文件