一、概述
PXE (Preboot eXcution Environment),预启动执行环境,在操作系统之前运行。PXE:域启动的引导程序(多平台系统都可以装),是c|s架构。
优点:
1、规模化:同时装配多台服务器
2、自动化:安装系统、配置各种服务
3、远程实现:不需要光盘、U盘等安装个质
PXE工作原理:
1、客户端向DHCP服务器发送广播请求IP地址
2、DHCP服务器响应客户端请求,分配一个地址池中的可用地址给客户端
3、dhcp服务器提供tftp服务器的地址,指引客户端去tftp服务器取得系统需要的引导文件
4、客户端需要系统启动的内核文件和驱动文件
5、当操作系统安装之后需要一些软件包,客户端向ftp服务器请求
二、实验
服务端
一、设置网卡
[root@server ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens37#配置网卡文件
[root@server ~]# systemctl restart network#重启网卡
二、安装DHCP
[root@server ~]# yum -y install dhcp#安装DHCP软件
[root@server ~]# vim /etc/dhcp/dhcpd.conf#进入DHCP配置文件
[root@server ~]# systemctl start dhcpd#开启DHCP服务
三、安装TFTP
[root@server ~]# yum -y install tftp-server.x86_64#安装tftp软件
[root@server ~]# rpm -ql tftp-server#查询已安装的软件包所有在系统中安装的文件
/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot
[root@server ~]# yum provides */pxelinux.0#查看含有该文件的所有软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
base/7/x86_64/filelists_db | 7.2 MB 00:00:00
extras/7/x86_64/filelists_db | 231 kB 00:00:00
updates/7/x86_64/filelists_db | 4.7 MB 00:00:00
syslinux-4.05-15.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem
源 :base
匹配来源:
文件名 :/usr/share/syslinux/pxelinux.0
[root@server ~]# yum -y install syslinux#安装syslinux软件
[root@server ~]# rpm -ql syslinux | grep pxelinux#查找pxelinux.0文件
/usr/share/doc/syslinux-4.05/pxelinux.txt
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@server ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/#将系统引导文件pxelinux.0复制到tftp家目录下
[root@server ~]# mount /dev/sr0 /mnt#挂载光盘
[root@server ~]# cd /mnt/images/pxebppt
[root@server pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/#将驱动文件和内核文件复制到tftp家目录下
[root@server pxeboot]# cd /var/lib/tftpboot
四、安装FTP
[root@server tftpboot]# yum -y install vsftpd#安装ftp软件
[root@server tftpboot]# mkdir /var/ftp/centos7#在ftp目录下创建一个centos7目录
[root@server tftpboot]# cp -rf /mnt/* /var/ftp/centos7#复制光盘文件到ftp目录下
[root@server tftpboot]# mkdir pxelinux.cfg#创建放置菜单文件的目录
[root@server tftpboot]# cd /var/ftp/centos7
[root@server centos7]# cd isolinux
[root@server isolinux]# cp -p isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default#复制菜单文件到default目录下
[root@server isolinux]# cp -p splash.png vesamenu.c32 /var/lib/tftpboot/#复制背景图文件和图形化文件到tftpboot目录下
[root@server isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default#进入菜单配置文件(自动应答文件)
修改显示的菜单标题
后面的菜单内容,添加启动自动读秒
[root@server ~]# systemctl start vsftpd#开启ftp服务
[root@server ~]# vim /etc/xinetd.d/tftp#进入tftp配置文件
[root@server ~]# systemctl start tftp#开启tftp服务
实现Kickstart无人值守安装
[root@server ~]# yum -y install system-config-kickstart#安装图形化界面(kickstart由system-config-kickstart提供)
[root@server ~]# system-config-kickstart#配置安装应答参数
[root@server ~]# vim /etc/yum.repos.d/CentOS-Base.repo#配置yum源(软件包无法选择,此时修改yum配置文件)
[root@server ftp]# cp ~/ks.cfg .#将ks文件放到ftp目录下
客户端
与服务端设置同一网卡
从网络安装
安装完成
安装完成,重启后验证:
设置从硬盘进入
进入图形化页面