一般情况下,安装Linux需要从光驱用安装光盘启动机器,然后进入交互式安装界面输入安装所需的各种配置完成安装。在下面这些情况下,这种安装方式就会暴露出缺点:
1) 机器无光驱、光驱坏了(这种情况在现实中频繁发生) 或光盘坏了,无法从光驱安装Linux。
2) 软件测试人员在搭建测试环境时,需要安装大量的centos Lniux测试机器时。这时采用手工安装方式逐台机器安装效率会很低。
3) 对IT支持人员来说,指导一个centos Lniux生手安装centos Lniux系统会耗费很多时间。日复一日重复这种工作会浪费宝贵的人力资源。
从降低商业成本和提高安装系统效率的角度出发,本文向大家介绍一种方案--基于网络的centos无人值守安装。该方案将很多安装准备工作在服务器上一次性完成,这样在客户机上安装时就不需要为每个客户机重复这些工作,节省了时间和成本,提高了效率。
在一次性的环境配置工作完毕后,该套方案能达到非常高的自动化程度:用户只需要执行很少的手工步骤即可完成安装。安装过程中的手工步骤和自动步骤如下:
1) 手工步骤:开机,选择从网络启动。如果你的方案配置得比较负责复杂灵活,也许还需要你选择安装何种系统。总之,手工步骤非常少。
2) 自动化步骤:剩余步骤,包括系统配置,硬盘分区,和程序包安装,将全部自动完成。
2. 方案介绍
这种方案需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。
涉及到的技术
该方案主要应用了三种技术:
1) 在PC上从网络启动centos Lniux安装程序的PXE协议
2) centos Lniux安装程序提供的网络安装功能(即指通过网络访问安装介质)
3) centos Lniux 安装程序提供的无人值守安装功能(centos称为kickstart)
软硬件需求
要按本文介绍的方法完成自动化安装,你需要如下软硬件资源:
· 一台PC机器作为启动和安装服务器(其它架构机器也可以)
· 一台待安装的PC机器,它的网卡必须带有PXE支持
· 一个建好的局域网,上述两台机器已经连接入同一子网
· 待安装的centos Lniux安装介质
方案原理示意图
图1是网络安装环境的一个原理示意图。整个安装环境由一个局域网,和连接到该局域网的三台机器组成:启动服务器(Boot Server),安装服务器(Installation Server),和待安装机器(Client)。其中启动服务器和安装服务器可以部署在同一台物理机上。表1列出了对这些机器的软硬件要求,和其上负载的服务与数据。
图1 网络安装原理示意图
表1 网络安装环境里各机器上的软硬件配置

表1 网络安装环境里各机器上的软硬件配置
该方案的实现步骤
1) 配置启动服务器
2) 配置安装服务器
3) 从网络启动机器以完成安装
步骤1)和2)只需做一次即可。对每一台需安装centos Lniux的机器,都需要在启动服务器和安装服务器中部署相应的数据,并执行一次步骤3)。
下面将带领您逐一执行这些步骤。
为了简单,我将用示例来说明如何在一台安装了 centos 5.4 的 PC 机上设置启动服务器和安装服务器,并在一台PC上安装centos5.4。
3. 步骤1:配置启动服务器
启动服务器的目的是帮助在待安装机器上启动centos Lniux 安装程序。启动服务器上需要搭建一个DHCP 服务器和一个TFTP 服务器。前者是为了给待安装机器分配IP地址,后者则是提供了一个让待安装机器下载启动镜像的途径。
配置DHCP 服务器
1) 安装DHCP服务器包(RPM包名:dhcpd)。
2) 编辑DHCP服务器配置文件 /etc/dhcp.conf。这里是一个示例:
[root@jadeshow xinetd.d]# vim /etc/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
option domain-name "jadeshow.com";
ddns-update-style none;
max-lease-time 7200;
server-name "bootserver";
default-lease-time 600;
allow booting;
allow bootp;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.130;
deny unknown-clients;
}
group pxe {
filename "pxelinux.0";
host testserver { hardware ethernet 00:0C:29:2B:C1:2E; fixed-address
192.168.2.123; }
}
在这个例子中,定义的子网是 192.168.2.0/255.255.255.0。主机定义项testserver指出 IP 地址 192.168.138.30 将分配给以太网卡00:0C:29:70:24:5B(待安装机器),文件 pxelinux.0(在 TFTP 服务器的根目录中)将作为启动映像被网卡ROM里的PXE客户端载入内存并运行。
每增加一台需安装的机器,我们需在dhcpd.conf中增加一条host条目。
3) 给启动服务器配置一个IP,这个IP必须在DHCP服务器定义的子网内。
这里我们使用192.168.138.1。关于如何为centos Lniux系统配置IP地址,请查阅参考资料3。
4) 启动DHCP服务。
[root@~]# service dhcpd restart
[root@~]#chkconfig dhcpd on
2 配置TFTP服务器
1) 安装TFTP服务器包(RPM包名:tftpd)。
2) 编辑TFTP 服务器的配置文件 /etc/xinetd.d/tftp。配置文件如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
这里选定了/tftpboot为TFTP 服务器的根目录位置。
.