HCRM博客

CentOS PXE网络安装指南

CentOS PXE部署实战:打造高效网络启动环境

在现代化机房运维中,PXE技术将操作系统部署时间缩短了70%以上,已成为运维工程师的核心技能。

CentOS PXE网络安装指南-图1

当您需要为机房几十甚至上百台裸金属服务器安装CentOS时,PXE(Preboot eXecution Environment)技术就是您的效率倍增器,它彻底摆脱了传统的光驱、U盘安装方式,让服务器从网络自动加载安装镜像,下面我将详细解析在CentOS 7/8上构建稳定PXE环境的完整流程。


PXE部署核心架构解析

PXE启动是一个精密的协作过程:

  1. 客户端启动: 目标服务器开机初始化网卡
  2. DHCP交互: 获取IP地址及引导文件位置
  3. TFTP传输: 下载引导加载程序(如pxelinux.0)
  4. 文件加载: 获取内核(vmlinuz)和初始化镜像(initrd)
  5. 系统安装: 通过HTTP/FTP/NFS获取完整系统包

CentOS PXE服务端部署全流程

基础环境准备

# 安装核心组件包
yum install -y dhcp tftp-server syslinux httpd xinetd
firewall-cmd --add-service={dhcp,http,tftp} --permanent
firewall-cmd --reload

DHCP服务关键配置 (/etc/dhcp/dhcpd.conf)

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  next-server 192.168.1.10;  # PXE服务器IP
  filename "pxelinux.0";
}

启动服务:systemctl enable --now dhcpd

TFTP服务深度配置

mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
chmod -R 755 /var/lib/tftpboot

编辑/etc/xinetd.d/tftp设置disable = no后启动:

systemctl enable --now xinetd

构建CentOS安装源

mkdir -p /var/www/html/centos/7/os/x86_64
mount /dev/sr0 /mnt  # 挂载ISO镜像
rsync -av /mnt/ /var/www/html/centos/7/os/x86_64/
restorecon -Rv /var/www/html

创建PXE引导菜单 (/var/lib/tftpboot/pxelinux.cfg/default)

default menu.c32
prompt 0
timeout 30
label 1
  menu label ^Install CentOS 7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img inst.repo=http://192.168.1.10/centos/7/os/x86_64 quiet
label 2
  menu label ^Rescue Mode
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img rescue quiet

放置内核文件

cp /var/www/html/centos/7/os/x86_64/images/pxeboot/{vmlinuz,initrd.img} \
   /var/lib/tftpboot/centos7/

高级部署技巧与避坑指南

  1. Kickstart自动化安装
    创建ks.cfg应答文件并添加至引导参数:

    append initrd=centos7/initrd.img ks=http://192.168.1.10/ks/centos7.cfg
  2. UEFI模式支持
    需额外配置:

    CentOS PXE网络安装指南-图2

    cp /usr/share/syslinux/efi64/* /var/lib/tftpboot/
    grub2-mknetdir --net-directory=/var/lib/tftpboot
  3. 常见故障排查点

    • 检查/var/log/messages中的DHCP/TFTP日志
    • 使用tcpdump -i eth0 port 67监控DHCP报文
    • 验证客户端是否获取到正确IP和引导文件名

安全加固建议

  1. DHCP地址池与生产网络隔离
  2. 配置TFTP访问白名单
  3. 对Kickstart文件进行HTTPS加密传输
  4. 定期更新SYSLINUX引导程序

优秀的运维工程师从不满足于基础部署,当您成功实现PXE批量安装后,建议进一步整合Cobbler或Foreman实现生命周期管理,将系统部署、配置管理、状态监控纳入统一自动化平台,每一次技术迭代,都是对运维效率的重新定义。

CentOS PXE网络安装指南-图3PXE技术让大规模服务器部署变得井然有序

:本文配置基于CentOS 7环境,CentOS 8需注意dnf包管理差异及GRUB2引导变更,实际部署前请务必验证网络环境与硬件兼容性。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/35654.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~