站长原创:歪歪IT技术网   首发:迷你兔

案例环境:

某企业因为需要安装多台CentOS 5 服务器,为了方便这些服务器的安装,决定采取网络批量安装(无人职守安装)方式,使用DHCP+TFTP Server+sftpd+kickstart等组合技术实现,确定其他服务器都支持PXE网络启动。该企业案例网络拓扑如下图:


案例实施:

1)安装以下软件包。


2)准备CentOS 5安装源

将CentOS光盘所有内容复制到/var/ftp(vsftpd匿名用户的家目录)下任意目录(本例子中直接将光盘挂载到/var/ftp/CentOS5中),这里是为客户端提供下载CentOS 5 光盘的内容,除了可以使用FTP的方式外,还可以采用HTTP、NFS等方式。其他方式,请大家自行实验。



3)准备应答文件

在CentOS 5系统中安装system-config-kickstart工具以后,即可通过图形化向导工具来配置安装应答文件(无人职守文件),system-config-kickstart配置的大部分内容与安装CentOS 5时差不多。当然如果你对自动应答文件的配置比较熟悉,也可以直接编辑CentOS 5安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修改后使用。

在本环境中使用的是FTP服务,所以这里在“安装方法”选项中的“选择安装方法”选择FTP,并输入安装信息所在的FTP目录,如下图所示:(将生成的ks.cfg无人值守文件保存到/var/ftp目录下)



4)修改/etc/xinetd.d/tftp文件,内容如下(开启TFTP服务)。

TFTP服务由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后启动xinetd服务即可。




5)准备Linux内核、初始化镜像文件。

用于PXE网络安装的Linux内核、初始化镜像文件可以从CentOS 5 系统光盘获得,分别为vmlinuz和initrd.img,位于文件夹isolinux目录中,找到这两个文件并将其复制到TFTP服务的根目录下。


6)准备PXE引导程序、启动菜单文件。

1.用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux(CentOS 5 默认已经安装好),然后将文件pxelinux.0也复制到TFTP服务的根目录下。





2.启动菜单用来知道客户机的引导过程,包括如何调用内核、如何加载初始化镜像。默认的启动菜单文件为default,应放置在TFTP根目录的pxelinux.cfg子目录中。

(1)复制配置文件模板:


(2)修改default文件,内容如下:



7)修改/etc/dhcpd.conf,并启动DHCP服务

由于PXE客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件位置。内容如下:


到此,其他服务器就可以通过这台服务器安装CentOS 5 系统了,客户端需将启动方式改为从网络启动后,就会从这台服务器获得IP地址、启动文件、无人职守文件等,会出现如下图所示界面,键入回车可自动安装CentOs 5 系统。





----------------------以上环境配置可能出现的问题如下-------------------


问题:

使用system-config-kickstart来配置ks.cfg文件,但是在软件包选择这里,却显示"由于下载软件包信息失败,软件包选择被禁止",如下图所示:





解决方法:

检查yum客户端配置文件(/etc/yum.repos.d/目录下)中是否设置了“base”这个yum源标签,如果没有,可自建一个yum源,yum源名字一定要是base

如下配置即可:

[base]

name=base

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=0