概述
PXE(Preboot Execution Environment)是一种计算机网络协议,它允许计算机通过网络从远程服务器启动和安装操作系统,而无需使用本地存储设备。PXE网络装机是一种常见的自动化操作系统部署方式,特别适用于大规模计算机系统管理、服务器集群部署、虚拟化环境以及无人值守的安装场景。
实验前提条件
1、关闭虚拟机的DHCP功能
准备一台网络环境正常且开启图形化的rhel7试验机,和一台测试机
init 5 --------------> 开启图形化界面
如果没有图形化界面,使用yum group list 查找并进行安装即可,我这里安装的是中文界面,在图中进行标注
yum group list
英文界面对比:
安装 yum group install "Server with GUI" -y
关闭防火墙 systemctl stop firewalld
关闭selinux setenforce 0
安装图形化自动生成kickstart的自动安装脚本工具
yum install system-config-kickstart -y
启动图形制作工具
system-config-kickstart
ksvalidator ks.cfg 检测文件是否有错误
下载http服务
yum install httpd -y 安装http服务
将ks.cfg文件复制到/var/www/html中
cp /root/ks.cfg /var/www/html/
建一个软连接指向/rhel7
ln -s /rhel7 /var/www/html/rhel7
开启httpd
systemctl enable --now httpd
然后打开浏览器访问
http://172.25.254.100/ks.cfg
安装所需要的最基础的东西 yum install syslinux.x86_64
启动服务
安装dhcp服务
yum install dhcp -y
模版文件覆盖配置文件
\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
打开配置文件,使用 set nu 显示行号 ,35行后的都不要 , 27/28行注释
vim /etc/dhcp/dhcpd.conf
将要分享的资源文件放到这个目录下
[root@shiyan ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@shiyan ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
创建 pxelinux.cfg文件夹 将系统系统界面的文件放到 pxelinux.cfg下的default中
[root@shiyan tftpboot]# mkdir pxelinux.cfg
[root@shiyan tftpboot]# cp isolinux.cfg pxelinux.cfg/default
修改dhcp配置文件 让dhcp服务分配地址的时候告诉主机下一个要访问的服务器的位置或者说要安装的系统资源所在的位置
vim /etc/dhcp/dhcpd.conf
重启dhcp服务
[root@shiyan tftpboot]# systemctl restart dhcpd
pxelinux.0文件会告诉主机你要读取的是 /var/lib/tftpboot/pxelinux.cfg/default
所以我们要修改 /var/lib/tftpboot/pxelinux.cfg/default 内的配置
vim /var/lib/tftpboot/pxelinux.cfg/default
测试
从这里进入虚拟机
之后等待片刻 自动安装系统
等待安装完成后,系统重启,关机 ,选择从硬盘进入系统