萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

PXE 無人值守安裝 CentOS 6.4 完整部署指南

架構元件

  • DHCP 伺服器:分配 IP 並指向 PXE 開機檔案。
  • TFTP 伺服器:提供 pxelinux.0、核心、initrd。
  • Kickstart 自動應答檔(ks.cfg):定義安裝參數(分割區、套件、網路、Root 密碼等)。
  • YUM/HTTP/FTP/NFS 其中一種提供 RPM 套件倉庫(本文採用 FTP)。
  • CentOS 6.4 安裝光碟映像。

1. 製作 Kickstart 檔

yum install -y system-config-kickstart
# 參考 /root/anaconda-ks.cfg(目前系統安裝參數)修改

關鍵片段

# 分割區
clearpart --all --initlabel
part /boot --fstype=ext4 --size=500
part pv.008002 --grow --size=1
volgroup vg_centos --pesize=4096 pv.008002
logvol / --fstype=ext4 --name=lv_root --vgname=vg_centos --grow --size=1024 --maxsize=51200
logvol swap --name=lv_swap --vgname=vg_centos --grow --size=1984 --maxsize=1984

# 套件群組
%packages
@base
@core
@development-tools
@network-file-system-client
...
%end

2. 搭建 FTP 伺服器掛載光碟映像

yum install -y vsftpd
systemctl enable vsftpd --now
mount -o loop CentOS-6.4-x86_64-bin-DVD1.iso /var/ftp/pub/centos6.4
# 防火牆開放 21/TCP、被動模式埠範圍

3. 配置 DHCP

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;  # TFTP 伺服器 IP
  filename "pxelinux.0";
}

4. 配置 TFTP 與 PXE 開機選單

yum install -y tftp-server syslinux
systemctl enable tftp --now
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/pxelinux.cfg
# default 選單檔 /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu.c32
PROMPT 0
TIMEOUT 300
MENU TITLE PXE Boot Menu

LABEL centos64-auto
  MENU LABEL ^Auto Install CentOS 6.4 (KS)
  KERNEL vmlinuz
  APPEND initrd=initrd.img ks=ftp://192.168.1.10/pub/ks.cfg ksdevice=bootif

將光碟 images/pxeboot/vmlinuz、initrd.img 複製到 /var/lib/tftpboot/。

5. 客戶端開機安裝

  1. 客戶端 BIOS 設定網卡 PXE 啟動(或選 UEFI PXE)。
  2. 取得 IP → 下載 pxelinux.0 → 顯示選單 → 選擇自動安裝。
  3. 全程無人值守,依 ks.cfg 完成分割、套件安裝、網路配置、Root 密碼設定。

驗證與維護

  • 安裝完成後檢查 /root/anaconda-ks.cfg 確認參數套用正確。
  • 定期更新 FTP 倉庫內的 RPM(createrepo --update)。
  • 多版本共存:在 TFTP 目錄建立不同版本的核心/initrd 與 ks.cfg,選單加入對應項目。

CentOS 6 已於 2020/11/30 結束生命週期(EOL),新部署建議使用 CentOS Stream 9、Rocky Linux 9、AlmaLinux 9 或 Ubuntu LTS,並改用 Cobbler、Foreman 或 Ansible 自動化部署工具。

copyright © 萬盛學電腦網 all rights reserved