花了一段时间研究linux下的网络批量无人值守安装linux操作系统。也就是传说中kickstart服务。现在我把自己的心得和大家分享下,无人值守安装这个词语队大家来说并不陌生,但是估计大家有一定的误解,所谓的GHOS克隆,基于物理层的网络克隆,这些都不算无人职守安装,顶多算无人职守拷贝。如果大家还要问我什么是kickstart或者为什么要使kickstart
的话,我建议你去google,因为我不想用大量的篇幅来写这些文字介绍。
进入正题
所有系统的网络安装和无人职守安装都是基于PXE的,当然linux下的无人职守安装也是基于PXE(Preboot Execution Environment,远程引导技术)技术。同于依耐大量linux服务,最主要的服务包括,kickstart(通过预先设置的脚本,按要求安装系统),dhcpd(很重要,负责pxe启动,还有定义tftp服务器地址kickstart文件位置),nfs、yum、vsftp(为安装提供安装介质),tftp(pxe启动文件传输的通道),dns(如果需要给新安装的机器设置主机名就需要)。由于PXE技术比较深奥,所以我们今
天不做探讨,只做应用。
下面我介绍下kickstart的工作架构。
首先,完成这个服务需要3个角色
1、启动服务器:给clinet提供启动的相关参数和连接安装服务器使用的IP地址。
2、安装服务器:提供安装所需的配置文件和安装文件。
3、客户端:需要无人职守安装的机器(网卡要支持PXE,也就是可以从网卡启动,现在的电脑基本都支
持,只要你的爱机不是古董)
下面是工作流程
本来想画个示意图给大家看的,由于美工太差,画出来我自己都看不懂了。所以我就讲述下吧
1、pxe启动,就去广告寻找dhcp服务器获取ip地址hebootstrap文件,成功以后进入第二步(DHCP提供IP地址,还有bootstrap配置文件的位置)
2、client通过tftp连接到服务器,下载bootstrap文件。(linux里的bootstrap文件就是pxelinux.0,
系统内有,大家可以使用#locate pxelinux.0查找它存放的位置)
3、client下载成功pxelinux.0文件后,系统还会下载控制pxelinux.0的配置文件,叫default。然后
client就会按照default的配置
来执行pxelinux.0文件。
4、现在client端会在获取一次IP地址。并且根据DHCP服务器配置文件找到kickstart配置文件并下载。也是使用的tftp协议。
5、pxelinux.0文件定义的想服务器请求linux内核,根文件系统之类的参数。运行这个文件,client就会向服务器请求相关的文件并
下载,都里使用的都是tftp协议。
6、文件下载文成后,client就会启动linux内核,这就进入了我们安装时候看见的第一个图形界面,这
个界面和自己安装看见的第一个画面一样,回车就是图形安装,输入text就是文本安装那里。如果使用
了kickstart,这个界面消失很快,可能看不见。
到这里PXE启动就完成了。
7、下面就该主角kickstart出场了。其实kickstart在第四步已经出现了,当按照default要求运行
pxelinux.0文件,系统读取内核,挂在根文件系统以后,的任务就都交给了kickstart了。包括安装介质
来源、语言、时区、分区、安装哪些包等,都是在kickstart文件中定义。
只要进入这一步,kickstart配置文件正确,我们的无人值守安装已经成功了。
原理介绍就算完成,下面我们来实战,使用kickstart服务安装系统
一、环境搭建
1、一台server担任启动服务器和安装服务器
2、一台client,需要能从网卡启动
3、两台机器在同一局域网
4、服务器要有安装所需的所有包
5、我们用192.168.0.0/24网段来试验,我的服务器IP是:192.168.0.2/24
6、服务器系统RHEL5.1,client系统RHEL5.1
二、具体实施,server端配置
1、安装自己的yum服务器(必须要做)。不会的请参考我的blog: