当前位置: 首页 > news >正文

CentOS7.9‑Kickstart 无人值守安装结构化实战教程

教程前言

Kickstart 是红帽系自动化部署工具,通过 ks.cfg 应答文件,预先填写系统安装过程所有选项,批量自动化安装 CentOS 系统;省去手动点击界面,适合服务器批量装机,企业机房批量部署必备技术。
本次环境:CentOS‑7.9,搭建HTTP+TFTP+DHCP+Kickstart完整无人值守装机架构,全程命令可直接复制执行。

整体架构

  1. 服务器:部署 DHCP(分配 IP)+ TFTP(传输引导文件)+ HTTP(存放系统镜像与 ks 应答文件)+ Kickstart 配置文件。
  1. 客户端:PXE 网卡启动,自动获取 IP,下载引导文件,读取 ks.cfg 文件全自动安装系统,无需人工干预。

环境规划

角色

IP 地址

系统

软件包

主机名

PXE 服务端

[192.168.30.10](192.168.30.10)

CentOS7.9

dhcp、tftp‑server、httpd、syslinux、system‑config‑kickstart

pxe‑server

装机客户端

PXE 自动获取 IP

CentOS7.9

客户端主机

前置硬性条件:关闭防火墙、关闭 selinux,服务器与客户端同网段。

一、环境初始化(服务端执行)

1.1 关闭防火墙与安全机制

bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

1.2 安装全部依赖软件包

bash
yum install -y dhcp tftp-server httpd syslinux system-config-kickstart

1.3 设置服务开机自启

bash
systemctl enable dhcpd httpd tftp.socket

二、分步部署各服务(结构化实战)

2.1 DHCP 服务配置(分配 IP,下发 PXE 引导文件名称)

  1. 复制模板文件

bash
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

  1. 修改 dhcp 配置文件vim /etc/dhcp/dhcpd.conf,清空原有内容,写入下面配置

conf
subnet 192.168.30.0 netmask 255.255.255.0 {
range 192.168.30.100 192.168.30.200;
option subnet-mask 255.255.255.0;
option routers 192.168.30.10;
option domain-name-servers 223.5.5.5;
next-server 192.168.30.10; # 指定tftp服务器IP
filename "pxelinux.0"; # 指定引导文件
default-lease-time 600;
max-lease-time 7200;
}

  1. 启动 dhcp 服务

bash
systemctl start dhcpd

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

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

  1. 开启 tftp 服务配置,修改文件vim /etc/xinetd.d/tftp,将 disable 参数改为 no

conf
disable = no
server_args = -s /var/lib/tftpboot

  1. 拷贝引导文件 syslinux 提供的 pxelinux.0 文件到 tftp 目录

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

  1. 复制内核文件 vmlinuz 与初始化镜像 initrd.img(从 CentOS‑7.9 镜像内提取)

bash
# 先挂载系统镜像
mount /dev/cdrom /mnt
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/

  1. 创建 pxelinux.cfg 文件夹,编写启动菜单文件 default

bash
mkdir -p /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default

菜单文件内容:

conf
default install
prompt 0
label install
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.30.10/ks.cfg

ks=http://192.168.30.10/ks.cfg:客户端安装时下载 kickstart 应答文件。

  1. 重启 tftp 服务

bash
systemctl restart tftp.socket

2.3 HTTP 服务配置(共享系统安装源 + ks.cfg 应答文件)

  1. 创建网页根目录存放系统文件,挂载镜像到 http 站点目录

bash
mkdir -p /var/www/html/centos7
mount /mnt /var/www/html/centos7

  1. 启动 http 服务,测试访问http://192.168.30.10/centos7

bash
systemctl start httpd

三、核心:Kickstart 应答文件 ks.cfg 制作(两种方式实战)

方式 1:图形界面生成(零基础推荐,system‑config‑kickstart)

  1. 终端输入命令调出图形配置窗口

bash
system-config-kickstart

依次填写参数:
1)基础设置:语言中文、时区 Asia/Shanghai,设置 root 密码,取消安装后重启;
2)安装方式:选择 HTTP 安装,URL 填写:http://192.168.30.10/centos7
3)引导装载程序:安装 GRUB 引导;
4)分区方案:自定义分区(/boot 500M,swap 2G,/ 剩余全部空间);
5)网络配置:开启网卡,DHCP 获取地址;
6)防火墙与 SELinux:全部关闭;
7)软件包选择:勾选最小化安装;
8)后期脚本:可以写入 yum 源更换命令。
文件导出保存为 ks.cfg,复制到网站目录:

bash
cp ~/ks.cfg /var/www/html/

方式 2:手动编写 ks.cfg 文件(生产常用,直接复制使用)

新建文件vim /var/www/html/ks.cfg,完整模板:

cfg
#platform=x86_64
#version=DEVEL
install
#安装方式http
url --url="http://192.168.30.10/centos7"
lang zh_CN.UTF-8
keyboard us
timezone Asia/Shanghai --isUtc
rootpw --plaintext 123456
firewall --disabled
selinux --disabled
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto"
#磁盘分区
clearpart --all --initlabel
part /boot --fstype=xfs --size=500
part swap --size=2048
part / --fstype=xfs --grow
#网络配置
network --bootproto=dhcp --device=eth0 --onboot=on
#安装包组
%packages
@minimal-development
net-tools
vim-enhanced
%end
#安装后执行脚本
%post
systemctl disable firewalld
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
%end
reboot

赋予文件读取权限:

bash
chmod 644 /var/www/html/ks.cfg

四、整套服务校验(必做检查项)

bash
#检查全部服务状态
systemctl status dhcpd httpd tftp.socket
#测试ks.cfg文件网页访问
curl http://192.168.30.10/ks.cfg
#检查tftp文件是否完整
ls /var/lib/tftpboot/

全部服务 running,文件可以正常访问即部署完成。

五、客户端 PXE 无人装机实战测试流程

  1. 新建虚拟机,启动模式改为网卡 PXE 优先启动;
  1. 客户端自动获取 DHCP 分配 IP;
  1. 下载 vmlinuz 内核和 initrd 镜像文件;
  1. 读取 ks.cfg 文件,自动分区、安装软件包、执行后置脚本;
  1. 全程无任何手动操作,系统自动部署完毕重启;

成功标准:客户端自动完成 CentOS7‑9 系统安装,不需要人工操作。

六、常见报错排查清单

  1. 客户端获取不到 IP:dhcp 配置网段错误,dhcp 服务未启动。
  1. 无法下载引导文件:tftp 目录文件缺失,selinux 未关闭。
  1. 找不到 ks 文件:http 服务未开启,ks.cfg 路径 IP 写错。
  1. 分区失败:磁盘没有清空,clearpart 参数未开启。

七、Kickstart 核心功能总结(结构化要点)

  1. 应答自动化:预先定义安装全部参数,跳过图形界面交互;
  1. 磁盘分区自动化:自动清空磁盘,按照脚本规划分区格式;
  1. 网络批量部署:配合 PXE‑DHCP‑TFTP‑HTTP,机房几十上百台服务器批量装机;
  1. 软件包定制:脚本选定安装组件,统一软件环境;
  1. 后置脚本 % post:系统安装完成之后自动执行脚本,配置 yum 源、关闭安全策略、批量部署初始化环境;
  1. 版本统一管控:所有服务器系统版本、分区方案、基础配置完全一致,降低运维差异故障。
http://www.jsqmd.com/news/1250771/

相关文章:

  • 软件开发团队统一采购MacBook怎么选服务商
  • 2026 年新发布:长治优秀的龙吸水出租公司哪家权威,租房必备:这吸水神器如何帮你省下水电费?-大禹大型水泵租赁 - 企业官方推荐【认证】
  • 2026 商丘 CMA 甲醛检测口碑名单:商丘博达甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 2026广州半日式搬家真实体验分享|预算适中也能省心搬家,打工人首选 - 到家兄弟搬家
  • 2026 辽阳 CMA 甲醛检测口碑名单:辽阳博达甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 2026年7月最新百达翡丽龙湖常州龙城天街维修保养服务电话 - 百达翡丽官方售后中心
  • 【无【YashanDB认证】零基础通关YCA,我的崖山数据库学习心得标题】
  • 请假流程:六款.NET工作流引擎实现方式对比
  • 电销团队每日拓客流程的系统化搭建方法:从名单获取到效果复盘
  • 2026 聊城 CMA 甲醛检测口碑名单:聊城博达甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 亲身探访成都浪琴售后服务中心|维修地址与24小时服务电话(2026年7月最新) - 浪琴官方售后服务中心
  • 开放式耳机质量怎么样?盘点十大公认质量好的开放耳机
  • 2026 朔州 CMA 甲醛检测口碑名单:朔州博达甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • AI落地失败,最大的变量不是技术,而是组织
  • 自动感应门雷达人体接近检测解决方案
  • RAR 压缩包密码怎么取消?3种方法应对
  • SSH方式连接Git服务器
  • 租相机哪家性价比高:雕马租比买值 - 18002239949
  • 2026 南宁 CMA 甲醛检测口碑名单:南宁中科甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 谷歌发布「史上最差」AI模型Gemini 3.6 Flash,Gemini 3.5 Pro延期、4已预训练
  • 三星扩产2倍背后的半导体设备采购逻辑与技术选型框架
  • 2026 常德 CMA 甲醛检测口碑名单:常德中科甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 支付宝、微信、美团AI助手登场,超级App如何借AI重塑交互逻辑与商业模式?
  • 2026 太原 CMA 甲醛检测口碑名单:太原博达甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 2026 厦门 CMA 甲醛检测口碑名单:厦门闽环甲醛检测中心等 5 家纯检测机构深度测评 - CMA甲醛检测
  • 华为MetaERP EBS 里 OU 本身不是 “法定报表主体”,不能直接在 GL 层按 OU 隔离余额;要单独出具某 OU 的三大表,核心是:把 OU 维度放进科目弹性域段 → 子模块(AR/AP/
  • 2026年做跨境电商,很多人不知道这3个隐形关联流量入口,正被头部大卖悄悄吃透(实战复盘)
  • 2026微信去水印小程序推荐与横向对比 - 免费软件工具方法教程
  • HuProt™ 人类蛋白组芯片用于天然产物靶点发现技术研究
  • 2026年图片去水印工具怎么选?免费在线与AI去水印软件实测 - 免费软件工具方法教程