CentOS 自动安装
背景介绍

CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 的开源操作系统,它以其稳定性和安全性而闻名,广泛应用于服务器环境,在大规模部署和管理服务器时,手动逐台安装和配置操作系统显然不切实际且容易出错,实现CentOS的自动安装对于提高效率和减少人为错误具有重要意义。
一、原理解析
CentOS自动安装主要依赖于Kickstart文件和PXE(预启动执行环境)服务,Kickstart是一种无人值守的安装方式,通过记录人工安装过程中的所有设置生成一个应答文件(*ks.cfg*),安装程序根据这个文件中的指令自动完成系统安装,PXE则用于在网络上启动并安装操作系统。
二、详细步骤
准备ISO文件
首先需要下载CentOS的安装镜像ISO文件,可以从CentOS官网或镜像站点获取。
- wget http://mirror.centos.org/centos/7/isos/x86_64/CentOS7x86_64DVD2009.iso
将ISO文件挂载到系统中:

- mount o loop CentOS7x86_64DVD2009.iso /mnt
创建Kickstart文件
Kickstart文件包含了安装过程中所需的所有配置信息,可以通过图形界面或命令行生成,以下是一个简单的示例:
创建一个名为ks.cfg
的文件,内容如下:
- #platform=x86, AMD64, or Intel EM64T
- #version=DEVEL
- Install
- cdrom
- lang en_US.UTF8
- keyboard us
- timezone America/New_York
- bootloader location=mbr
- clearpart all initlabel
- autopart /boot type=xfs size=1024 asprimary gptforce
- autopart / fstype=ext4 size=1024 gptforce
- rootpw iscrypted $6$somehashedpassword
- %packages
- @base
- %end
该文件指定了语言、键盘布局、时区、磁盘分区和软件包等设置。
配置PXE服务
3.1 安装DHCP服务器
DHCP服务器负责为网络中的客户端动态分配IP地址,可以使用dhcp
软件包来安装和配置DHCP服务器。
- yum install y 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 subnetmask 255.255.255.0;
- nextserver 192.168.1.10;
- filename "pxelinux.0";
- }
启动DHCP服务:
- systemctl start dhcpd
- systemctl enable dhcpd
3.2 安装TFTP服务器
TFTP服务器用于提供PXE引导文件和Kickstart文件,可以使用tftpserver
软件包来安装和配置TFTP服务器。
- yum install y tftpserver xinetd
复制PXE引导文件和Kickstart文件到TFTP目录:
- cp r /mnt/isolinux/ /var/lib/tftpboot
- cp ks.cfg /var/lib/tftpboot/
编辑/etc/xinetd.d/tftp
文件,确保以下行被取消注释:
- disable = no
启动TFTP服务:
- systemctl start tftp
- systemctl enable tftp
3.3 配置DNS服务器(可选)
如果网络中没有DNS服务器,可以安装并配置bind
作为DNS服务器,以下是简要步骤:
- yum install y bind bindutils
编辑/etc/named.conf
和/var/named/named.localhost
文件,添加相应的区域和记录。
启动DNS服务:
- systemctl start named
- systemctl enable named
配置网络引导(PXE Boot)
在客户端计算机上设置从网络引导,这通常涉及进入Bios或UEFI设置,并将启动顺序更改为通过网络启动(通常是PXE或BIOS),具体步骤因硬件而异,请参考设备的用户手册。
测试自动安装
将一台计算机连接到配置好的网络中,重新启动并确保其从网络引导,如果一切正常,计算机将自动使用PXE服务加载操作系统镜像,并根据Kickstart文件中的设置进行安装。
三、回溯测试与优化
在生产环境中使用之前,建议在虚拟环境中多次测试自动安装流程,以确保所有配置正确无误,还可以根据实际需求进一步优化Kickstart文件和PXE配置,例如添加更多软件包、调整分区方案或设置更复杂的网络配置。
四、常见问题排查
无法从网络引导:检查BIOS/UEFI设置是否正确,并确保DHCP和TFTP服务器正常运行。
安装过程中卡住:检查Kickstart文件是否有语法错误,或增加调试输出以查看详细信息。
找不到Kickstart文件:确保Kickstart文件已正确放置在TFTP目录中,并且客户端能够访问该目录。
软件包依赖问题:确保所有必要的软件仓库都已配置,并且网络连接正常。
五、归纳与展望
通过上述步骤,可以实现CentOS的自动安装,大大提高部署效率并减少人为错误,随着云计算和自动化技术的发展,CentOS的自动安装将更加智能化和便捷化,结合Ansible等配置管理工具,可以实现更复杂和灵活的自动化部署方案,随着容器技术的普及,CentOS在容器编排和管理方面也将发挥重要作用。