news 2026/3/6 5:29:34

27.PXE高效批量网络装机

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
27.PXE高效批量网络装机

1.挂载镜像文件:

mkdir -p /mnt/cdrom

mount /dev/sr0 /mnt/cdrom

2.安装必要组件:

sudo yum install -y httpd dhcp tftp-server syslinux xinetd

配置 TFTP 服务(传输引导文件)

TFTP 用于传输 pxelinux.0、vmlinuz、initrd.img 等小文件。

3. 启用 TFTP

3.1开启服务

sudo systemctl enable tftp.socket

sudo systemctl start tftp.socket

默认根目录:/var/lib/tftpboot

3.2. 复制引导文件

创建目录结构

sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg

复制 syslinux 引导文件

sudo cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

sudo cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/

sudo cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/ # CentOS 7 需要

从 ISO 复制内核和 initrd

sudo cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

4.复制到 Apache 目录

sudo mkdir -p /var/www/html/centos7 sudo cp -r /mnt/cdrom/* /var/www/html/centos7/
sudo systemctl enable --now httpd sudo systemctl enable --now dhcpd sudo systemctl enable --now tftp.socket

dhcpd启动可能失败

从日志可以明确dhcpd启动失败的原因:配置文件中未为网络接口(virbr0、ens33)配置对应的子网声明,导致服务无可用监听接口而退出。

问题核心

日志中“* No subnet declaration for virbr0”“* No subnet declaration for ens33”说明:/etc/dhcp/dhcpd.conf未定义这些接口所属的子网段配置,dhcpd无法确定为哪些网段分配IP。

解决步骤

  1. 编辑dhcpd配置文件
    打开/etc/dhcp/dhcpd.conf,添加对应接口的子网声明(以ens33的192.168.43.0网段为例):
subnet 192.168.43.0 netmask 255.255.255.0 { range 192.168.43.100 192.168.43.200; # IP分配范围 option routers 192.168.43.1; # 网关 option domain-name-servers 8.8.8.8; # DNS服务器 }
  1. 重启dhcpd服务
systemctl restart dhcpd

5.配置 DHCP 服务

sudo tee /etc/dhcp/dhcpd.conf <<EOF

subnet 192.168.10.0 netmask 255.255.255.0 {

range 192.168.10.100 192.168.10.200;

option routers 192.168.10.2;

option domain-name-servers 8.8.8.8;

option subnet-mask 255.255.255.0;

PXE 关键配置 ↓

next-server 192.168.10.67; # TFTP 服务器 IP(本机)

filename “pxelinux.0”; # 引导文件名

}

EOF

7.创建 PXE 启动菜单

sudo tee /var/lib/tftpboot/pxelinux.cfg/default <<‘EOF’

default menu.c32

prompt 0

timeout 300

menu title ########## PXE Boot Menu ##########

label 1

menu label ^1) Install CentOS 7 (Auto)

kernel vmlinuz

append initrd=initrd.img method=http://192.168.10.67/centos7 ks=http://192.168.10.67/ks.cfg

label 2

menu label ^2) Install CentOS 7 (Manual)

kernel vmlinuz

append initrd=initrd.img method=http://192.168.10.67/centos7

EOF

8.创建 Kickstart 文件(关键!)

sudo tee /var/www/html/ks.cfg <<‘EOF’

#version=DEVEL

auth --enableshadow --passalgo=sha512

url --url="http://192.168.84.139/centos7"

keyboard --vckeymap=us --xlayouts=‘us’

rootpw 123456

lang en_US.UTF-8

network --bootproto=dhcp --device=eth0 --onboot=on

reboot

firewall --disabled

selinux --disabled

skipx

timezone Asia/Shanghai --isUtc

手动分区

clearpart --all --initlabel

part /boot --size=500 --fstype=xfs

part swap --size=4096 --fstype=swap

part / --grow --fstype=xfs

%packages

@^minimal

%end

EOF

9.重启所有服务

sudo systemctl restart httpd dhcpd tftp.socket

10.客户机设置(VMware)

  1. 开机按F2→ BIOS → Boot Order
  2. Network BootPXE移到第一位
  3. 保存退出(F10)

11.启动安装

  • 客户机将自动:
    1. 获取 IP(DHCP)
    2. 下载<font style="color:rgb(17, 17, 51);background-color:rgba(175, 184, 193, 0.2);">pxelinux.0</font>(TFTP)
    3. 加载内核和 initrd(TFTP)
    4. 从 HTTP 获取安装源和<font style="color:rgb(17, 17, 51);background-color:rgba(175, 184, 193, 0.2);">ks.cfg</font>
    5. 自动分区(LVM)→ 安装系统 → 重启

重点:PXE装机时,虚拟机内存不能只给1G,要2G以上,不然会一直报错

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 13:37:10

Java全栈开发面试实录:从基础到微服务的实战解析

Java全栈开发面试实录&#xff1a;从基础到微服务的实战解析 面试官与程序员的对话记录 第一轮&#xff1a;基础语言与框架 面试官&#xff08;王哥&#xff09;&#xff1a; 你好&#xff0c;我是王哥&#xff0c;今天来聊聊你的技术栈。你用过哪些Java版本&#xff1f; 程序员…

作者头像 李华
网站建设 2026/3/2 7:45:57

新式“Excel”一出,VBA都落伍了,不少网友都在偷偷用,真香!

在平时的数据统计中&#xff0c;Excel就一直是做报表的首选工具。毕竟&#xff0c;Excel的确在使用过程中展现了极高的功能性。但一旦公式变多&#xff0c;数据量积累越来越大&#xff0c;几个人一起使用时&#xff0c;Excel就有点力不从心&#xff0c;要用VBA还得依托微软体系…

作者头像 李华
网站建设 2026/3/2 23:00:19

基于单片机的智能涂料搅拌器设计

摘 要 目前&#xff0c;在社会主义现代化建设中&#xff0c;涂料市场也在不断发展&#xff0c;因而对搅拌设备的需求也越来越高。为了通过新型的涂料搅拌器设计使得涂料生产的成本降低&#xff0c;减少大量的人力物力提高工作效率&#xff0c;本文进行了基于单片机的智能涂料…

作者头像 李华
网站建设 2026/3/4 4:57:19

TOSHIBA TC4053BFT(EL,N) TSSOP16 模拟开关/多路复用器

TC4051B、TC4052B和TC4053B是具备模拟信号和数字信号选择与混合功能的多路复用器。TC4051B为8通道配置&#xff0c;TC4052B为4通道2配置&#xff0c;TC4053B为2通道3配置。控制端的数字信号可使各通道对应的开关“导通”&#xff0c;大振幅&#xff08;VDD - VEE&#xff09;信…

作者头像 李华