Linux自动部署
你有没有想过? 如果学校机房有 50 台电脑,每一台都要重装 Linux 系统,用 U 盘一台一台装要累死啦!
PXE + Kickstart 技术 就像“克隆大法”:只需一台服务器,其他电脑开机联网,就能全自动安装系统,连软件、账号都提前配好!是不是很酷?
PXE 预启动
Preboot eXecution Environment,网卡自带“上网技能”。电脑没硬盘也能从网络启动,像从网络“下载”操作系统!
客户端网卡支持PXE → 从DHCP拿IP → 从TFTP下载启动文件 → 自动装机。
Kickstart
自动安装“答题卡”!把所有安装选项(分区、语言、软件包)提前写成 ks.cfg 文件,安装时自动读取,没人值守。
就像考试交了标准答案,电脑照做就行!
DHCP + TFTP
DHCP 自动给客户机发IP地址(像宾馆分房间)。
TFTP 简单文件传输,传递引导文件 pxelinux.0,内核等。搭档工作,缺一不可。
HTTP/FTP 服务器
存放系统安装镜像、YUM软件仓库。客户端通过网络下载需要的 RPM 包,安装办公软件、ntfs-3g工具等。
PXE 网络装机流程
1️⃣ 电脑开机
网卡请求IP
2️⃣ DHCP服务器
分配IP + 告诉TFTP地址
3️⃣ 下载引导文件
pxelinux.0
4️⃣ 读取菜单配置
选装系统版本
5️⃣ 加载内核 + 自动应答文件
ks.cfg → 自动安装
✅ 完成!
无需人工干预
📌 小提示:服务器要提供 DHCP、TFTP、HTTP/FTP 服务,客户端只要从网络启动(Network Boot)即可。
核心组件配置
DHCP 配置(分配IP & 告诉客户端PXE服务器位置)
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.20 192.168.100.150; # IP池
next-server 192.168.100.10; # TFTP服务器地址
filename "pxelinux.0"; # 启动文件名
}
TFTP 服务 & 引导文件
# 安装 tftp-server syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
# 配置启动菜单 default
启动菜单示例:图形化界面,支持选择 CentOS / RHEL,甚至本地硬盘启动。
PXE 图形化菜单 —— 像游戏选角色
通过 vesamenu.c32 模块和背景图片,学生机开机可以选择:
安装 RHEL 6.7 | 安装 CentOS 6.7 | 救援模式 | 从硬盘启动
菜单倒计时默认30秒,无操作自动从硬盘启动,很智能!
# 修改 /var/lib/tftpboot/pxelinux.cfg/default
vesamenu.c32
menu background splash.jpg
menu title Welcome to PXE Installation Server
label rhel6
menu label Install RH^EL 6.7 (Kickstart)
kernel rhel6/vmlinuz
append ks=http://192.168.4.254/pxe/ks-el6.cfg initrd=rhel6/initrd.img
ks=http://... 就是告诉安装程序去哪里下载自动应答文件!
无人值守的秘密武器 —— ks.cfg
Kickstart 文件里写了安装时的所有答案:语言、键盘、分区方式、root密码、要装的软件包(比如办公套件 LibreOffice、NTFS支持工具)。还可以写安装后的脚本,自动创建管理员备用账号!
创建备用管理员账号(UID=0 拥有root权限)
# 在 ks.cfg %post 段可以执行命令
useradd -u 0 -o zyadm
echo "123456" | passwd --stdin zyadm
这样 zyadm 和 root 权限一样,防止忘记root密码!
安装额外软件(LibreOffice + ntfs-3g)
%packages
@base
libreoffice5*
ntfs-3g
%end
提前把这些软件包做成 YUM 仓库,自动安装!
部署自己做的YUM仓库( createrepo )
# 把 rpm 包放到 /var/ftp/other ,运行 createrepo 创建仓库数据
createrepo /var/ftp/other
# 客户端配置 .repo 文件指向 ftp://服务器/other
这样安装完系统,办公软件、NTFS读写功能就自动配好啦!
自动部署服务器主要服务总览
| 服务名称 | 作用 | 相当于生活中的例子 |
|---|---|---|
| DHCP | 分配IP地址,告知tftp服务器位置 | 快递员分配取件码 |
| TFTP | 传递pxelinux.0 启动引导文件 & 内核 | 打开门的钥匙 |
| HTTP/FTP | 存放安装镜像ISO,YUM软件包,ks.cfg文件 | 自助餐厅取餐区 |
| Kickstart | 自动应答配置 | 提前写好的任务清单 |
| Syslinux | 提供pxelinux.0 + vesamenu.c32 图形模块 | 启动小管家 |
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)