我的Linux,我做主!使用PXE+Kickstart无人值守安装服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的Linux,我做主!使用PXE+Kickstart无人值守安装服务相关的知识,希望对你有一定的参考价值。
(一)了解kickstart安装的流程有时候在公司内部会需要批量安装操作系统,这个时候如果我们按照使用光盘镜像的方式来一台一台的安装操作系统,不仅耗时费力,而且效率低下。比如同时安装100台机器,按照传统的方式会需要准备100个刻录好的光盘,准备100个光驱,每台机器的操作系统配置都需要独立的配置一次,可能需要加班加点好几天才能够做好,如果我们可以使用批量自动化的方式安装操作系统,不仅对人员的损耗降低了,而且效率也会大大的得到提高。
现在我们将介绍可以实现无人值守安装系统的PXE+Kickstart服务程序,并安装部署PXE+TFTP+NFS+DHCP+Kickstart等服务程序,从而搭建出一套可批量安装Linux系统的无人值守安装系统。

首先我们有一个server服务器配置相关的应用服务,client客户端是待准备安装系统的裸机。由于需要网络传输实现配置,所以需要在服务器端安装DHCP服务器实现提供客户端所需的IP地址,子网掩码,网关和DNS服务器地址。同时在客户端我们需要一个引导程序pxelinux.0来实现引导内核vmlinuz和initrd,从而实现可以看到系统安装界面的效果。在服务器端我们需要配置TFTP服务器来实现为客户端提供pxelinux.0的配置文件的服务。在配置好DHCP服务器后,还需要在DHCP服务器中指明next-server的信息,其中next-server指向tftp-server的路径,filename则指向pxelinux.0的路径。由于客户端使用的vmlinuz和initrd也是从服务器端下载的,而且客户端的pxelinux.0在加载vmlinuz和initrd时是以怎样的参数加载的客户端并不清楚,所以客户端还要从服务器下载pxelinux.cfg的配置文件获得vmlinuz和initrd的配置参数信息。由于安装操作系统裸机是需要使用光盘镜像安装的,所以在我们的服务器端还要有通过搭建如NFS、FTP或者http服务来实现共享光盘镜像来为客户端裸机安装系统的功能。至此我们便实现了不需要光盘安装裸机操作系统的网络安装方式,接下来才可以进一步实现批量自动化方式安装。
(二)实现网络安装系统
(2.1)在我们的环境中现在有两台服务器分别是vms001:192.168.26.101,vms002:192.168.26.102,其中vms001为vns002提供了yum安装仓库,我们使用vms002作为kickstart无人值守安装的服务器端,后续还会再创建一个用于完成实验效果的裸机。
首先我们的服务器端需要给裸机自动分配IP地址、,子网掩码,网关和DNS服务器地址等,所以我们需要在vms002服务器端搭建DHCP服务器。




(2.2)将example中的模板信息查询出来并导入到/etc/dhcp/dhcpd.conf配置文件中。

(2.3)在dhcpd.conf配置文件中从subnet行位置开始进行如下配置。

(2.4)将vms002配置的DHCP服务启动起来,并设置开机自动启动。

(2.5)由于需要使当前vms002主机的DHCP服务生效,所以需要将VMware虚拟机自带的DHCP服务关闭以防止发生冲突。

(2.6)配置完DHCP服务后,接下来我们开始配置TFTP服务,实现为裸机提供内核安装文件、pxelinux.0配置文件的服务。

(2.7)由于TFTP服务是依赖于xinetd服务的,所以需要在xinetd服务中进行设置。


(2.8)接着重启服务,并设置开机自动启动。

(2.9)我们在DHCP服务器中设置了filename为"/pxelinux.0",所以我们还需要在服务器安装相关的软件包。


(2.10)此时我们需要在/var/lib/tftpboot/目录下放入vmlinuz和initrd两个文件。我们可以从光盘镜像中去查找。


(2.11)由于此时在/var/lib/tftpboot/目录下可能会存在多个版本的系统,此时是需要有相关的配置文件来关联不同的版本的,从而实现多个版本的系统都能够被引导的功能。

(2.12)同时还要给从光盘复制到/var/lib/tftpboot/目录中的相关文件添加对应的权限。

(2.13)接着我们需要在/var/lib/tftpboot/pxelinux.cfg目录下编辑default配置文件

(2.14)此时配置好default文件后,系统仍然是需要为裸机提供光盘的镜像内容的,此时我们可以搭建一个NFS服务器处理。


(2.15)配置好NFS服务器后,我们需要在default文件中进行设置。至此由网络安装系统的相关配置已经完成。


(2.16)接下来我们创建一个裸机,并配置好裸机的相关硬件。





(2.17)由于开机的时候boot.msg中并没有相关的内容,所以开机后画面是光秃秃的,我们在vms002服务器上安装figlet软件。


(2.18)接着在boot.msg文件中配置相关的内容信息,并在default配置文件中开启提示符的设置。


(2.19)此时我们便可以使用网络引导的方式为裸机提供所需的镜像文件,并进入开始安装的界面了。

(三)实现无人值守安装系统
上面我们已经实现了通过网络为裸机提供光盘镜像文件开始系统安装,但是真正在装系统的过程中我们仍然需要人工的一步步选择系统的相关配置进行安装操作,仍然很繁琐而且工作量很大。如果有一个安装操作系统的应答文件代替我们完成这些操作,那么将会轻松很多,这里我们使用kickstart来实现。
(3.1)首先我们在系统中安装对应的kickstart软件包,并将软件启动起来。


(3.2)接着我们需要修改vms002的YUM源的名称信息,才可以正常的启动kickstart软件。



(3.3)接下来我们给按照系统安装的一般步骤在kickstart软件上进行对应的设置。








(3.4)配置完成后,将ks.cfg文件保存到root家目录中。



(3.5)如果不想使用kickstart图形化软件进行配置,也可以使用文本的方式进行配置,在root家目录中默认存在一个anaconda-ks.cfg模板文件,如果需要使用文本的方式配置操作系统的安装,可以使用这个文件参考。

(3.6)现在我们仍然使用刚刚配置好的ks.cfg应答文件进行系统安装,由于需要让裸机能够获取到ks.cfg文件,所以我们在vms002主机上搭建一个FTP服务器用于共享ks.cfg文件。


(3.7)同时我们还需要在/var/lib/tftpboot/pxelinux.cfg目录下编辑default配置文件,指明裸机安装系统时获取ks.cfg的地址。


(3.8)此时所有配置已经完毕了,接下来我们就可以实现批量无人值守安装系统的过程了。



注意:如果出现了无法自动安装系统情况,可以检查一下光盘镜像挂载的目录是否访问正常。在default文件中的timeout参数也可以根据自己的实际情况进行设置。





以上是关于我的Linux,我做主!使用PXE+Kickstart无人值守安装服务的主要内容,如果未能解决你的问题,请参考以下文章