HCRM博客

如何进行网络安装CentOS操作系统?

网络安装 CentOS

在现代 IT 环境中,Linux 操作系统尤其是 CentOS 因其稳定性和安全性被广泛应用,传统的通过光驱或 USB 进行安装的方式在特定情况下可能遇到硬件限制或效率低下的问题,网络安装 CentOS 成为一种高效且灵活的解决方案,本文将详细介绍如何通过网络安装 CentOS,涵盖从准备工作到完成安装的每一个步骤,提供清晰的操作指南和相关配置示例。

如何进行网络安装CentOS操作系统?-图1
(图片来源网络,侵权删除)

二、网络安装的优势

1、无光驱/USB限制:适用于没有光驱或 USB 接口的设备。

2、高效批量安装:适合大规模部署,如数据中心的服务器安装。

3、集中化管理:可以通过网络轻松管理和控制安装过程。

4、灵活性高:支持多种网络协议和配置方式,适应不同的网络环境。

三、所需软硬件资源

1、一台PC或服务器作为启动和安装服务器

2、一台或多台待安装CentOS的客户端机器

如何进行网络安装CentOS操作系统?-图2
(图片来源网络,侵权删除)

3、一个已建立的局域网络(LAN)

4、CentOS安装介质(ISO文件)

5、PXE(预启动执行环境)支持的网卡

四、网络安装步骤

1. 配置启动服务器

启动服务器负责在网络上提供 PXE 引导程序,使得客户端机器能够通过网络启动并加载安装程序,以下是配置步骤:

1.1 安装DHCP服务器

如何进行网络安装CentOS操作系统?-图3
(图片来源网络,侵权删除)

DHCP 服务器用于自动为客户端分配IP地址,以 CentOS 为例,安装步骤如下:

安装DHCP服务器包
sudo 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 domainnameservers 8.8.8.8;
  nextserver 192.168.1.10;
  filename "pxelinux.0";
}

解释:配置了一个子网,指定了IP地址范围、网关、DNS服务器、TFTP服务器地址及启动文件名。

1.2 安装TFTP服务器

TFTP 服务器用于传输启动文件和安装文件,安装步骤如下:

安装TFTP服务器包
sudo yum install y tftpserver xinetd

创建 TFTP 根目录并设置权限:

sudo mkdir /var/lib/tftpboot
sudo chmod R 777 /var/lib/tftpboot

复制 CentOS 安装介质中的pxelinux.0 文件到 TFTP 根目录:

sudo cp /path/to/centos/iso/images/pxeboot/pxelinux.0 /var/lib/tftpboot/

编辑/etc/xinetd.d/tftp 文件,确保disable 属性设置为no,然后重启 xinetd 服务:

sudo systemctl restart tftp

1.3 配置启动文件

在 TFTP 根目录下创建pxelinux.cfg 目录,并在其中创建default 文件,内容如下:

DEFAULT centos
LABEL centos
    MENU LABEL ^Install CentOS 7
    KERNEL vmlinuz
    APPEND initrd.img

将 CentOS 安装介质中的vmlinuzinitrd.img 复制到 TFTP 根目录:

sudo cp /path/to/centos/iso/isolinux/vmlinuz /var/lib/tftpboot/
sudo cp /path/to/centos/iso/isolinux/initrd.img /var/lib/tftpboot/

2. 配置安装服务器

安装服务器负责提供安装过程中所需的软件包和配置文件,以下是配置步骤:

2.1 安装HTTP服务器

HTTP 服务器用于提供安装源,以 CentOS 为例,安装步骤如下:

安装HTTP服务器包
sudo yum install y httpd

将 CentOS 安装介质挂载到服务器,并将BaseOSAppStream 目录复制到 HTTP 服务器的发布目录(如/var/www/html/centos):

sudo mount /dev/cdrom /mnt
sudo cp r /mnt/* /var/www/html/centos/
sudo umount /mnt

编辑/etc/httpd/conf/httpd.conf 文件,添加以下内容以允许其他机器访问安装源:

<Directory "/var/www/html">
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

重启 HTTP 服务器:

sudo systemctl restart httpd

2.2 配置无人值守安装(Kickstart)

Kickstart 是一种自动化安装应答文件,可以预先定义安装过程中的各种设置,实现无人值守安装,创建一个 Kickstart 文件(如ks.cfg如下:

#platform=x86,64
Install OS instead of upgrade
install
repo name="CentOS" baseurl=http://192.168.1.10/centos
lang en_US.UTF8
timezone America/New_York
keyboard us
zerombr
clearpart all initlabel
autopart
text part / fstype="xfs" size=1024 grow asprimary
text part swap size=4096 grow
bootloader location=mbr
network bootproto=dhcp device=eth0
rootpw iscrypted $6$somehashedpassword
%packages nopercent
@core
%end
%post erroronwarnings=yes

将 Kickstart 文件放置在 TFTP 服务器上的一个可访问位置(如/var/lib/tftpboot/ks.cfg)。

3. 从网络启动客户端机器

3.1 配置客户端机器

确保客户端机器的BIOS/UEFI设置为从网络启动(通常为 PXE 或类似选项),这需要在启动时按下指定的键(如 F2、F12、DEL)进入启动菜单进行设置。

3.2 启动并开始安装

客户端机器重新启动后,将从网络引导并加载 PXE 引导程序,PXE 引导程序将通过 DHCP 获取IP地址,并通过 TFTP 下载并运行安装程序,安装程序将使用 Kickstart 文件中的配置自动完成安装过程,整个过程无需人工干预,直到系统安装完成并重启。

五、常见问题及解决方案

1、客户端无法获取IP地址

确保启动服务器上的DHCP服务正常运行。

检查网络连接和交换机端口是否正常。

确保客户端的BIOS/UEFI设置为正确的网络启动类型。

2、安装过程中卡住

检查安装服务器上的HTTP服务是否正常运行。

确保Kickstart文件中的配置正确无误。

检查网络带宽是否足够,必要时调整HTTP服务器的响应速度

3、客户端找不到TFTP服务器

确保TFTP服务器的配置文件中指定了正确的目录和文件。

确保防火墙设置允许TFTP流量通过。

确保客户端和服务器之间的网络通信正常。

通过网络安装CentOS不仅提高了安装效率,还简化了大规模部署的过程,掌握上述步骤和技巧,可以轻松实现自动化和无人值守的CentOS安装,随着云计算和虚拟化技术的发展,网络安装将进一步集成到自动化运维平台中,成为系统管理员必备的技能之一,持续关注开源社区的最新动态和技术更新,也将有助于提升网络安装的稳定性和安全性。

分享:
扫描分享到社交APP
上一篇
下一篇