网络安装平台部署 —— 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

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

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                  # 测试

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答 

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

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

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的语法

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答 网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

二. PXE引导配置

PXE引导文件 —— pxelinux.0

  • dnf whatprovides */pxelinux.0           # 查找 程序 (pxe)

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

  • dnf install syslinux-nonlinux-6.04-1.el8.noarch -y                     # 安装 pxelinux 相关软件
  • rpm -ql  syslinux-nonlinux-6.04-1.el8.noarch | grep pxelinux   # 查询 pxelinux.0 文件存储路径

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

TFTP 服务器 ——  pxelinux.0   PXE引导文件的共享传输方式

  • dnf search tftp
  • dnf install tftp-server -y
  • systemctl enable --now tftp

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

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引导客户端 默认读取的配置文件

 网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答 

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

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答 

测试

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答

网络安装平台部署 —— DNS服务器----批量装机环境-----配置PXE引导---------Kickstart自动应答