网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答
一.PXE 批量装机环境搭建
PXE (预启动执行环境,Preboot execution Environment) —— 用于远程安装
工作模式:PXE client 集成在网卡启动芯片。引导时调入内存执行,获取PXE server 配置,显示菜单,用户远程。
PXE 平台 基本配置结构
- DHCP服务:分配IP地址,定位引导程序
- TFTP服务:提供引导程序下载
- HTTP服务(FTP/NIS),提供yum安装源
测试预备安装系统主机的网卡必须支持PXE协议域主板支持从网卡启动 !!
网络软件仓库搭建
环境:
- vim /etc/selinux/config # disabled - 关闭 selinux
reboot
- systemctl stop firewalld # 关闭 火墙
- systemctl disable firewalld
1 )利用镜像搭建本地软件仓库
- df # 查看设备挂载路径—— 光驱中加载系统镜像IOS文件的路径
/run/media/root/RHEL-8-0-0-BaseOS-x86_64
- vim /etc/yum.repos.d/ server.repo # 软件源指向文件配置目录
2 )安装共享软件 —— Apache (阿帕奇 网页服务软件 Apache HTTP Server )
- dnf install httpd -y # 安装 httpd
- systemctl enable --now httpd # 启动 httpd
3 ) 建立共享目录
- mkdir /var/www/html/server_share # 建立共享目录
- mount /dev/cdrom /var/www/html/server_share # 挂载镜像资源到共享目录 !!!
4 )编辑共享源路径
- vim /etc/yum.repos.d/server.repo
- systemctl restart httpd # 重启 web 服务
- firefox http://172.25.254.20/server_share # 测试
DHCP 服务器搭建
- dnf search dhcp —— dhcp-server.x86_64 : Provides the ISC DHCP server
- dnf install dhcp-server.x86_64 -y # 安装 dhcp 服务软件
- cp -p /usr/share/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf # 用模板配置文件复制创建 dhcp服务器配置文件
- vim /etc/dhcp/dhcpd.conf # 编辑dhcp服务器 配置文件 dhcpd.conf
- systemctl restart dhcpd
kickstart自动安装脚本的制作
安装 kickstart 相关软件
- dnf whatprovides */ksvalidator # ksvalidator 命令 —— kickstart.cfg 启动脚本配置文件,语法检测命令
pykickstart-3.16.3-2.el8.noarch : Python utilities for manipulating kickstart files.
- dnf install pykickstart-3.16.3-2.el8.noarch -y
制作 kickstart 自动安装脚本
- cp -a /root/anaconda-ks.cfg /var/www/html/kickstart.cfg #模板/root/anaconda-ks.cfg ,重命名为kickstart.cfg 到网络共享目录下
- chmod 755 /var/www/html/kickstart.cfg # 赋予755文件权限
- vim /var/www/html/kickstart.cfg # 编辑启动脚本 (详. 14单元-kickstart介绍与部署 —— 实现批量化自动安装Linux系统)
- ksvalidator /var/www/html/kickstart.cfg #检测kickstart.cfg的语法
二. PXE引导配置
PXE引导文件 —— pxelinux.0
- dnf whatprovides */pxelinux.0 # 查找 程序 (pxe)
- dnf install syslinux-nonlinux-6.04-1.el8.noarch -y # 安装 pxelinux 相关软件
- rpm -ql syslinux-nonlinux-6.04-1.el8.noarch | grep pxelinux # 查询 pxelinux.0 文件存储路径
TFTP 服务器 —— pxelinux.0 PXE引导文件的共享传输方式
- dnf search tftp
- dnf install tftp-server -y
- systemctl enable --now tftp
TFTP 服务器 默认资源目录:/var/lib/tftpboot
- cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # 将启动引导程序转入TFTP默认路径下为了传输给客户端
- /var/www/html/sever_share/isolinux/* /var/lib/tftpboot/ # 将装机启动资源放入TFTP默认路径下为了传输给客户端
- mkdir /var/lib/tftpboot/pxelinux.cfg # 存放客户端的配置文件目录
- cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default # default PXE引导客户端 默认读取的配置文件
DHCP 服务器 (分配IP地址+子网掩码+广播地址+默认网关+DNS服务器地址+PXE引导设置(TFTP地址与引导文件名)
- vim /etc/dhcp/dhcpd.conf # 编辑dhcp服务器 配置文件 dhcpd.conf
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.101 172.25.254.199;
option routers 172.25.254.20;
filename "pxelinux.0"; # 引导文件名
next-server "172.25.254.20"; # 指定 PXE 服务器 IP
}
- systemctl restart dhcpd
测试