曲靖市网站建设_网站建设公司_HTTPS_seo优化
2025/12/23 20:45:48 网站建设 项目流程

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以上,不然会一直报错

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询