一.pxe的安装系统简介
PXE(预启动执行环境)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
二.pxe的工作流程
1.客户以自己的pxe网卡启动,向本网络中的DHCP端索取ip
2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
3. 客户机向本网络中的TFTP服务器索取bootstrap文件
4.客户机取得bootstrap文件后之执行该文件
5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装
三.pxe的具体配置
1.安装软件

[root@localhost ~]# yum install httpd tftp-server.x86_64 dhcp syslinux -y

http ##用来共享安装资源
tftp ##提供tftp协议,让客户可以读取预安装环境
dhcp ##分配ip及让客户主机获取pxelinux.0文件
syslinux ##提供pxelinux.0文件
(1)火墙允许http tftp dhcp通过

[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# firewall-cmd --permanent --add-service=tftp
success
[root@localhost ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@localhost ~]# firewall-cmd --reload 
success
[root@localhost ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources: 
  services: dhcp dhcpv6-client http ssh tftp
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules:

(2)开启http服务

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

(3)配置tftp服务

[root@localhost ~]# vim /etc/xinetd.d/tftp 
[root@localhost ~]# cat /etc/xinetd.d/tftp|tail -n 5
	disable			= no  ##将yes改为no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
[root@localhost ~]# systemctl restart xinetd.service

(4)配置dhcp服务
正常配置dhcp服务
删除35行以后的及27、28行

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
 7 option domain-name "westos.com";
 8 option domain-name-servers 114.114.114.114;

30 subnet 172.25.254.0 netmask 255.255.255.0 {
 31   range 172.25.254.110 172.25.254.130;
 32   option routers 172.25.254.250;
 33   filename "pxelinux.0";  ##客户主机获得预安装环境头文件
 34   next-server 172.25.254.133;  ##指定头文件所在的主机的ip
 35 }
 [root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl enable dhcpd

2.设定共享文件
(1)安装共享yum源作为预安装环境

[root@localhost ~]# df
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/vda1           10473900 3222564   7251336  31% /
devtmpfs              469332       0    469332   0% /dev
tmpfs                 484920     140    484780   1% /dev/shm
tmpfs                 484920   12808    472112   3% /run
tmpfs                 484920       0    484920   0% /sys/fs/cgroup
/dev/mapper/vg0-vo    483670    2339    451840   1% /home
/dev/sr0             3654720 3654720         0 100% /var/www/html/luck

(2)预安装环境的制作

[root@localhost ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot  ##头文件复制至共享目录中
[root@localhost ~]# cp -p /var/www/html/luck/isolinux/* /var/lib/tftpboot/  ##isolinux/目录下有目录、内核和初始化文件等,复制到/var/lib/tftpboot/,在pexlinux.0引导客户主机访问tftp时,访问这些文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# cp -p /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default  ##pexlinux.0的配置文件是/var/lib/tftpboot/pxelinux.cfg/default
[root@localhost ~]# 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.254.133/luck http://172.25.254    /133/ks.cfg  ##指定系统安装源,指定自动安装文件

生成ks.cfg自动花安装脚本参考生成ks.cfg自动安装文件

四.测试安装

pxe搭建引导指定iso镜像 linux pxe引导安装_服务器


进入安装系统