站长原创:歪歪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