kickstart技术在大型自动化系统中的应用
2017-04-13向宸薇
向宸薇
【摘要】 kickstart技术为RedHat提供的一种无人值守装机方式,采用PXE技术和DHCP、TFTP和NFS等网络服务,在局域网中引导需要装机的客户端通过kickstart服务器进行无人工参与的自动装机。kickstart技术因其自动化和高效率的特点被广泛应用于大型自动化系统中,对系统各终端进行有效管理。
【关键词】 kickstart技术 无人值守装机 大型自动化系统应用
引言
大型自动化系统终端数量多,若采用传统的人工方式进行系统安装,耗时长而且效率低,RedHat提供无人值守的kickstart服务采用自动化方式进行无人值守安装系统,大大提高了大型自动化系统的装机效率,并且可基于该技术对终端进行更有效的管理。
一、kickstart技术
kickstart技术是大型自动化系统常见的一种无人值守装机方式,需要进行装机的客户端通过网络启动,从kickstart服务器读取ks文件,ks文件包含系统安装过程中需要填写的参数,程序通过此文件引导系统进行正确的安装,避免人工干预,实现客户端批量自动安装。kickstart技术以PXE技术为基础,通过DHCP服务、TFTP服务和文件传输服务实现。DHCP服务用于给客户端分配IP地址,给出TFTP服务器位置及引导文件位置,随后,TFTP服务引导客户端读取并下载启动安装程序所必需的文件,启动linux安装程序的引导内核。接下来进行操作系统的网络安装,通过NFS、HTTP等文件传输服务传输读取自动应答ks文件和查找系统安装包,根据ks文件中的参数进行系统的自动安装。
二、kickstart关键技术与所需工具
2.1 PXE技术
kickstart需要客户端的网卡支持PXE,PXE(preboot execute environment)技术工作在C/S网络模式下,当客户端通过网络启动时,可从kickstart服务器下载映像,并完成操作系统的启动。
PXE分为Server端和Client端,需要进行系统安装的Client端在计算机开始启动后,寻找网络中的DHCP服务器,请求IP并按照DHCP服务器的引导,在TFTP服务器上查询pxelinux.0文件,获取并执行该文件,加载内核和系统文件,随后进入安装画面,使用NFS、HTTP等文件传输方式进行系统安装。
2.2 DHCP服务
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是局域网的网络协议之一,主要负责给网内的其他主机分配IP。DHCP使用服务器/客户端模型,采用UDP协议,有自动分配方式、动态分配方式和手工分配方式三种工作模式。DHCP工作原理可简述为如下四个步骤:
1)当客户端启动后,广播DHCP DISCOVERY包,该包源地址为0.0.0.0,目的地址255.255.255.255,并且包含客户端主机的MAC地址和计算机名等信息,向DHCP服务器请求分配IP地址。
2)DHCP服务器收到请求后,在地址池中查询是否有IP地址可进行分配,如果有合法IP可提供,将此IP标记后,广播DHCP OFFER包,源地址为0.0.0.0,目的地址255.255.255.255,此包中含有客户端MAC地址,所分配IP地址,子網掩码,租约等信息。
3)DHCP收到DHCP OFFER包后,选择包中的IP地址,广播DHCP REQUEST包,向所有DHCP服务器宣布该客户端选择的IP地址,并向分配给它IP地址的服务器正式请求分配IP,其它DHCP服务器收到DHCPQUEST包后将释放之前标记的分配给该客户端的IP地址。
4)收到正式请求的DHCP服务器发送DHCPACK包,客户端收到DHCPACK包后,将使用分配的IP地址及该DHCP服务器提供的TCP/IP配置参数。
DHCP的配置文件/etc/dhcpd.conf可对DHCP服务器进行相应的配置,包括对地址池、默认网关、DNS地址等参数的设置,其中next-server ip一项用来指定引导服务器,采用bootp方式进行引导,可指向TFTP服务器地址,在TFTP服务器上查询引导文件。
2.3 TFTP服务
TFTP(Trivial File Transfer Protocol,简单文件传输协议),基于UDP协议,用于在服务器和客户端进行简单文件传输。
安装TFTP服务,需在服务器端安装TFTP Server,客户端安装TFTP Client。因此,进行kickstart装机的客户端机器的网卡需要支持PXE Client,PXE Client的ROM中包含TFTP Client,客户端启动后就可以通过TFTP协议从TFTP服务器上读取需要的引导文件。
进行kickstart装机的客户端网络启动后,通过DHCP服务器取得TFTP服务器的IP地址,并使用TFTP服务从TFTP服务器下载所需的启动文件,启动文件中会指明存储有ks文件和系统安装包的服务器地址。
2.4 NFS服务
kickstart文件传输可使用HTTP、NFS等方式,本文只讨论NFS方式。
NFS(Network File System,网络文件系统),基于TCP/ IP协议,通过RPC(Remote Procedure Call,远程调用)服务实现,是通过网络进行资源共享的一种服务,NFS服务器端的共享文件对于客户端是透明的,客户端将服务器端的共享目录挂载到本地,此时,共享目录就好像本地磁盘上的文件目录,供用户进行操作。
在服务器端编辑/etc/exports文件可完成共享目录配置,确定共享目录,访问用户权限等内容,客户端通过mount挂载后可对共享目录进行访问和其相对应权限的操作。
将系统安装盘的内容拷贝到NFS服务器上并设置共享目录,在ks文件中指定操作系统安装文件访问方式和所在路径,引导客户端读取操作系统安装文件来进行随后的安装步骤。
system-config-kickstart工具
ks文件提供操作系统安装参数,引导客户端进行无人工干预的自动安装。用户可以提前手动填写好ks文件,也可以使用system-config-kickstart工具生成,使用此工具必须安装X window环境。用户使用system-config-kickstart工具,通过其提示对安装参数进行配置,工具自动生成ks文件。
除了语言、安装方式和设备规格等配置参数,ks还提供%packages软件包安装命令、%pre预安装脚本和%post安装后脚本,可在完成系统的安装后,进行软件包安装和环境配置等工作。
三、kickstart在大型自动化系统中的应用
大型自动化系统中通常将DHCP服务器、TFTP服务器和NFS服务器配置为一台kickstart服务器,执行kickstart无人值守装机。
管理员为系统创建完整的目录结构,为各个客户端设置对应的文件夹,在隶属于各客户端的目录下提供对应的ks文件、系统安装包和预安装程序等文件。TFTP服务器上的引导文件可以使用MAC地址命名,来对不同的客户端引导进行区分,客户端网络启动后会在TFTP服务器上寻找自身MAC对应的引导文件,引导文件中定义ks文件的路径,可以引导客户端找到对应的ks文件进行预先设置好的安装。
ks文件提供的%packages软件包安装命令、%pre预安装脚本和%post安装后脚本等参数,可以在客户端安装操作系统的基础上,对系统进行软件安装、环境设置等工作,减少人工安装软件和进行其他配置等方面的时间消耗,大大提升了工作效率。
四、结束语
本文对kickstart无人值守自动装机技术进行了分析和研究,并介绍其在大型自动化系统中的应用。kickstart服务配置好以后,在系统安装过程中全程无人工参与,完全自动化安装,是自动化管理典型技术之一,高质量、高效率且大大节省人工和时间成本。
参 考 文 献
[1] 刘青昆,阴元友,郑晓薇等.基于Kickstart的Linux网络安装新模型[J].计算机工程,2008,34(21):103-105. DOI:10.3969/j.issn.1000-3428.2008.21.038.
[2] 李怀刚,邱建新.网络安装Linux的技术原理分析及实现[J].计算机应用与软件,2006,23(9):109-111,118. DOI:10.3969/j.issn.1000-386X.2006.09.044.
[3] 么羅野.大规模快速部署Linux的实现方法[J].计算机与现代化,2011,(5):165-167.DOI:10.3969/ j.issn.1006-2475.2011.05.047.
[4] 伍文静,刘爱贵,程耀东等.大规模机群系统的快速部署与动态配置[J].计算机应用研究,2008,25(6):1911-1913. DOI:10.3969/j.issn.1001-3695.2008.06.091.
[5] 曾德生,陈孟祥.通过CentOS实现无人值守方式批量安装部署Linux[J].计算机光盘软件与应用,2013,(13):90-91.
[6] 闾立新.Linux下无人值守安装的实现[J].无锡职业技术学院学报,2009,8(6):49-51.DOI:10.3969/ j.issn.1671-7880.2009.06.017.