找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1125

积分

0

好友

163

主题
发表于 5 天前 | 查看: 14| 回复: 0

一、前置认知:为什么需要 Kickstart?

在数据中心运维或频繁构建测试环境的场景下,手动安装Linux系统效率低下且容易出错。Kickstart作为Red Hat系列Linux(包括RHEL、CentOS、Rocky Linux等)的官方自动化安装工具,可以通过预定义的配置文件,全自动完成磁盘分区、软件包选择、用户配置等安装步骤。掌握它,能极大提升运维效率,是实现标准化与自动化运维的关键一步。

二、环境准备

1. 基础环境要求

  • 部署服务器:一台已安装CentOS 7/Rocky Linux 7或以上版本的机器(虚拟机即可),作为提供安装服务的控制端。
  • 待装机器:支持PXE网络启动的物理机或虚拟机,需与部署服务器处于同一局域网段。
  • 网络配置:确保网络畅通,需关闭防火墙或开放相关端口(DHCP: 67/68 UDP;TFTP: 69 UDP;HTTP: 80 TCP)。

2. 安装核心依赖包

登录部署服务器,执行以下命令安装必要服务:

sudo dnf install -y dhcp-server tftp-server httpd syslinux

安装完成后,启动服务并设置为开机自启:

sudo systemctl enable --now dhcpd tftp httpd
sudo systemctl status dhcpd tftp httpd  # 验证服务状态

三、分步搭建指南

第一步:准备系统镜像

  1. 下载与存放镜像:将目标系统(如Rocky Linux 9)的ISO镜像上传至HTTP服务目录。

    sudo mkdir -p /var/www/html/iso
    # 假设已通过wget或工具将镜像置于此处
    # sudo wget -P /var/www/html/iso https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.3-x86_64-minimal.iso
  2. 挂载镜像:将ISO镜像挂载,使其内容可通过Web访问。

    sudo mkdir -p /var/www/html/rocky9
    sudo mount /var/www/html/iso/Rocky-9.3-x86_64-minimal.iso /var/www/html/rocky9

    为防止重启后失效,将挂载信息写入/etc/fstab

    echo "/var/www/html/iso/Rocky-9.3-x86_64-minimal.iso /var/www/html/rocky9 iso9660 defaults 0 0" | sudo tee -a /etc/fstab

第二步:配置DHCP服务

DHCP服务为客户端分配IP地址,并指引其获取启动文件。

  1. 编辑DHCP配置文件:

    sudo vim /etc/dhcp/dhcpd.conf
  2. 清空原有内容,替换为以下配置(请根据实际网络环境修改):

    subnet 192.168.1.0 netmask 255.255.255.0 {  # 您的局域网段
    range 192.168.1.100 192.168.1.200;        # IP地址池
    option routers 192.168.1.1;               # 网关地址
    option domain-name-servers 8.8.8.8, 114.114.114.114; # DNS服务器
    next-server 192.168.1.5;                  # 部署服务器的IP地址(关键!)
    filename "pxelinux.0";                    # PXE引导文件名
    }
  3. 重启DHCP服务使配置生效:

    sudo systemctl restart dhcpd

第三步:配置TFTP与PXE引导

TFTP用于向客户端传输轻量的启动文件。

  1. 复制引导文件

    sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
    sudo cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    sudo cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
    sudo cp /var/www/html/rocky9/images/pxeboot/vmlinuz /var/lib/tftpboot/
    sudo cp /var/www/html/rocky9/images/pxeboot/initrd.img /var/lib/tftpboot/
  2. 创建PXE启动菜单

    sudo vim /var/lib/tftpboot/pxelinux.cfg/default

    输入以下内容(确保IP地址指向您的部署服务器):

    
    default menu.c32
    timeout 30
    prompt 0

label autoinstall
menu label ^Auto Install Rocky Linux 9
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.1.5/rocky9 inst.ks=http://192.168.1.5/ks.cfg

此配置指定了安装源和Kickstart自动应答文件的位置。

### 第四步:创建Kickstart自动应答文件
这是自动化安装的核心,定义了所有安装参数。

1. **生成基础配置文件**:系统首次安装后会在`/root`目录下生成一个`anaconda-ks.cfg`文件,可作为模板。将其复制到HTTP目录供客户端访问。
```bash
sudo cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
  1. 编辑并优化ks.cfg文件
    sudo vim /var/www/html/ks.cfg

    以下是一个适用于新手的简化配置示例,您可根据需要调整:

    
    # 版本与安装模式
    install
    url --url="http://192.168.1.5/rocky9"

系统基本设置

lang en_US.UTF-8
keyboard --vckeymap=us --xlayouts='us'
timezone Asia/Shanghai --isUtc

网络配置

network --bootproto=dhcp --device=eth0 --onboot=on --ipv6=auto

安全设置(生产环境请使用加密密码)

rootpw --plaintext 123456
firewall --disabled
selinux --disabled

磁盘分区(自动LVM分区,新手推荐)

autopart --type=lvm

选择安装的软件包组

%packages
@^minimal-environment
vim-enhanced
wget
%end

安装后执行的脚本(可选)

%post
echo "Kickstart installation completed!" > /root/install.log
%end


**重要提醒**:示例中的`root`密码为明文弱密码,仅用于测试。生产环境务必使用`openssl passwd -1`生成加密密码串进行替换。

## 四、实战测试与验证
1. **启动客户端**:将待安装的物理机或虚拟机设置为从网络(PXE)启动。
2. **自动安装**:客户端启动后,将自动从DHCP获取IP,加载PXE菜单,并开始执行全自动安装。整个过程无需人工干预。
3. **验证结果**:等待约10-20分钟(视硬件性能),系统安装完毕。使用配置的root密码登录,检查系统状态及`/root/install.log`文件,确认安装成功。

通过以上步骤,您就成功搭建了一套基于Kickstart和PXE的Linux自动化部署环境。这套方法是现代[DevOps实践](https://yunpan.plus/f/33-1)中基础设施即代码(IaC)的重要基础,能有效支持大规模的服务器初始化与交付。



上一篇:PyTorch实现层级对比学习与注意力融合的少样本轴承故障诊断
下一篇:x64汇编实战:使用纯汇编编写Windows反向Shellcode
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-18 01:27 , Processed in 0.116300 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表