在企业运维或大规模服务器部署中,手动安装成百上千台 Linux 系统显然不现实。这时,Linux无人值守安装就派上了大用场。通过结合 Kickstart自动化安装 和 PXE网络引导 技术,我们可以实现“一键批量装机”。本教程将手把手教你搭建一套完整的无人值守安装环境,即使是 Linux 小白也能轻松上手!
什么是无人值守安装?
无人值守安装(Unattended Installation)是指在没有人工干预的情况下,自动完成操作系统安装、配置和初始化的全过程。在 Linux 中,最常用的方式是使用 Red Hat 系列(如 CentOS、RHEL、Fedora)提供的 Kickstart 文件配合 PXE 网络启动技术。
所需组件概览
- DHCP 服务器:为客户端分配 IP 并告知 PXE 引导文件位置
- TFTP 服务器:提供 PXE 引导所需的内核和初始化镜像
- HTTP/FTP/NFS 服务器:存放操作系统安装源和 Kickstart 配置文件
- Kickstart 文件(ks.cfg):包含所有安装选项的自动化脚本
步骤一:准备安装服务器(以 CentOS 7 为例)
首先,确保你有一台可联网的 CentOS 7 服务器,并拥有 root 权限。
1. 安装必要软件包
sudo yum install -y dhcp tftp-server httpd syslinux xinetd 2. 挂载 CentOS 安装 ISO
将 CentOS 的 ISO 镜像挂载到 HTTP 目录下:
sudo mkdir -p /var/www/html/centos7sudo mount -o loop /path/to/CentOS-7-x86_64-DVD.iso /var/www/html/centos7 步骤二:配置 DHCP 服务
编辑 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; option domain-name-servers 8.8.8.8; filename "pxelinux.0"; next-server 192.168.1.10; # 这是你的TFTP服务器IP} 启动 DHCP 服务:
sudo systemctl start dhcpdsudo systemctl enable dhcpd 步骤三:配置 TFTP 服务
启用 TFTP 服务并复制必要的引导文件:
sudo systemctl start tftp.socketsudo systemctl enable tftp.socket# 复制引导文件sudo cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/sudo cp /var/www/html/centos7/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/# 创建 PXE 启动菜单目录sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg 步骤四:创建 Kickstart 配置文件
在 /var/www/html/ks.cfg 创建自动化安装脚本:
#version=DEVELinstallurl --url=http://192.168.1.10/centos7keyboard --vckeymap=us --xlayouts='us'rootpw --plaintext your_root_passwordauth --useshadow --passalgo=sha512lang en_US.UTF-8firewall --disablednetwork --bootproto=dhcp --device=eth0 --onboot=onreboottimezone Asia/Shanghai --isUtcbootloader --location=mbr --boot-drive=sdaclearpart --none --initlabelautopart --type=lvm%packages@^minimal%end ⚠️ 注意:请根据实际网络和需求修改 IP、密码、时区等参数。
步骤五:配置 PXE 启动菜单
创建 /var/lib/tftpboot/pxelinux.cfg/default 文件:
default menu.c32prompt 0timeout 300menu title PXE Boot Menulabel install menu label ^Install CentOS 7 Unattended kernel vmlinuz append initrd=initrd.img inst.ks=http://192.168.1.10/ks.cfg 步骤六:启动 HTTP 服务
sudo systemctl start httpdsudo systemctl enable httpd 测试无人值守安装
现在,将目标机器设置为从网络(PXE)启动。如果一切配置正确,它会自动获取 IP、下载内核、加载 Kickstart 文件,并全程无需人工干预完成 CentOS 7 的安装!
总结
通过本教程,你已经掌握了基于 Kickstart自动化安装 和 PXE网络引导 的 Linux无人值守安装 全流程。这项技术不仅节省大量人力,还能确保系统配置的一致性,是运维工程师必备技能之一。快去试试吧!
关键词回顾:Linux无人值守安装、Kickstart自动化安装、PXE网络引导、自动化部署Linux系统。
