目录
前言
PXE(Pre-boot Execution Environment,预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE是什么?
批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。
RHEL 8无此服务包,此实验在RHEL 7上完成!
|-------------------------|-------------------------------------------|
| dhcp | 动态主机配置协议 |
| xinted | 可以监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来 处理连接请求 |
| tftp-server | 简单文件传输协议 |
| vsftpd | 为客户端提供系统安装时所需的文件 |
| syslinux | 产生pxelinux.0文件 |
| system-config-kickstart | 生成kickstart配置文件 |
一、交互式
(一)、搭建环境
防火墙设置,宽容模式
添加网络,将分配取消
配置网卡和本地yum源,后挂载mount /dev/sr0 /mnt
安装服务,dhcp,vsftp,tftp,syslinux
yum install -y dhcp xinetd tftp-server vsftpd syslinux
(二)、配置dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
启动服务
systemctl start dhcpd
(三)、FTP服务
将/dev/sr0挂载到ftp服务目录上或者将内容全部复制到ftp服务目录里
这里选用的后者
mkdir -p /vat/ftp/centos7
cp /mnt/* /vat/ftp/centos7/
启动服务
systemctl start vsftpd
(四)、配置TFTP服务
vim /etc/xinetd.d/tftp
启动服务
systemctl start tftp
(五)、准备pxelinx.0文件、引导文件、内核文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cd /mnt/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot
mkdir -p /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
(六)、测试
新开虚拟机网络适配器为vmnet2
显示OK后enter
后续操作与新安装虚拟机操作一样。
二、非交互式
接着上面继续操作
(一)、配置pxe无人值守安装
Kickstart :是一种无人值守的安装方式,提前定义好Linux安装过程的配置文件,名为
ks.cfg,这个文件预先定义了安装要求从而进行自动化安装。
yum install -y system-config-kickstart.noarch
system-config-kickstart
自行添加网络设备,防火墙默认SElinux为激活,其余可不管
切记要保持再退出,否则要重新配置
(二)、修改ks.cfg文件
查看家目录能看到文件ks.cfg
从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg
vim ks.cfg
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony
kexec-tools
%end
(三)、修改default文件
vim /var/lib//tftpboot/pxelinux.cfg/default
将修改后的ks.cfg文件复制到/var/ftp
cp /root/ks.cfg /var/ftp
(四)测试
新开虚拟机网络适配器为vmnet2等待自动安装(时间稍微长点),登录root用户即可
总结
pxe配置非常适用批量的装机,利用dhcp自动分配IP将同网段IP电脑自动部署进行装机,节省了大量的时间。