向宸薇
【摘要】 kickstart技術(shù)為RedHat提供的一種無人值守裝機(jī)方式,采用PXE技術(shù)和DHCP、TFTP和NFS等網(wǎng)絡(luò)服務(wù),在局域網(wǎng)中引導(dǎo)需要裝機(jī)的客戶端通過kickstart服務(wù)器進(jìn)行無人工參與的自動(dòng)裝機(jī)。kickstart技術(shù)因其自動(dòng)化和高效率的特點(diǎn)被廣泛應(yīng)用于大型自動(dòng)化系統(tǒng)中,對(duì)系統(tǒng)各終端進(jìn)行有效管理。
【關(guān)鍵詞】 kickstart技術(shù) 無人值守裝機(jī) 大型自動(dòng)化系統(tǒng)應(yīng)用
引言
大型自動(dòng)化系統(tǒng)終端數(shù)量多,若采用傳統(tǒng)的人工方式進(jìn)行系統(tǒng)安裝,耗時(shí)長(zhǎng)而且效率低,RedHat提供無人值守的kickstart服務(wù)采用自動(dòng)化方式進(jìn)行無人值守安裝系統(tǒng),大大提高了大型自動(dòng)化系統(tǒng)的裝機(jī)效率,并且可基于該技術(shù)對(duì)終端進(jìn)行更有效的管理。
一、kickstart技術(shù)
kickstart技術(shù)是大型自動(dòng)化系統(tǒng)常見的一種無人值守裝機(jī)方式,需要進(jìn)行裝機(jī)的客戶端通過網(wǎng)絡(luò)啟動(dòng),從kickstart服務(wù)器讀取ks文件,ks文件包含系統(tǒng)安裝過程中需要填寫的參數(shù),程序通過此文件引導(dǎo)系統(tǒng)進(jìn)行正確的安裝,避免人工干預(yù),實(shí)現(xiàn)客戶端批量自動(dòng)安裝。kickstart技術(shù)以PXE技術(shù)為基礎(chǔ),通過DHCP服務(wù)、TFTP服務(wù)和文件傳輸服務(wù)實(shí)現(xiàn)。DHCP服務(wù)用于給客戶端分配IP地址,給出TFTP服務(wù)器位置及引導(dǎo)文件位置,隨后,TFTP服務(wù)引導(dǎo)客戶端讀取并下載啟動(dòng)安裝程序所必需的文件,啟動(dòng)linux安裝程序的引導(dǎo)內(nèi)核。接下來進(jìn)行操作系統(tǒng)的網(wǎng)絡(luò)安裝,通過NFS、HTTP等文件傳輸服務(wù)傳輸讀取自動(dòng)應(yīng)答ks文件和查找系統(tǒng)安裝包,根據(jù)ks文件中的參數(shù)進(jìn)行系統(tǒng)的自動(dòng)安裝。
二、kickstart關(guān)鍵技術(shù)與所需工具
2.1 PXE技術(shù)
kickstart需要客戶端的網(wǎng)卡支持PXE,PXE(preboot execute environment)技術(shù)工作在C/S網(wǎng)絡(luò)模式下,當(dāng)客戶端通過網(wǎng)絡(luò)啟動(dòng)時(shí),可從kickstart服務(wù)器下載映像,并完成操作系統(tǒng)的啟動(dòng)。
PXE分為Server端和Client端,需要進(jìn)行系統(tǒng)安裝的Client端在計(jì)算機(jī)開始啟動(dòng)后,尋找網(wǎng)絡(luò)中的DHCP服務(wù)器,請(qǐng)求IP并按照DHCP服務(wù)器的引導(dǎo),在TFTP服務(wù)器上查詢pxelinux.0文件,獲取并執(zhí)行該文件,加載內(nèi)核和系統(tǒng)文件,隨后進(jìn)入安裝畫面,使用NFS、HTTP等文件傳輸方式進(jìn)行系統(tǒng)安裝。
2.2 DHCP服務(wù)
DHCP(Dynamic Host Configuration Protocol),動(dòng)態(tài)主機(jī)配置協(xié)議,是局域網(wǎng)的網(wǎng)絡(luò)協(xié)議之一,主要負(fù)責(zé)給網(wǎng)內(nèi)的其他主機(jī)分配IP。DHCP使用服務(wù)器/客戶端模型,采用UDP協(xié)議,有自動(dòng)分配方式、動(dòng)態(tài)分配方式和手工分配方式三種工作模式。DHCP工作原理可簡(jiǎn)述為如下四個(gè)步驟:
1)當(dāng)客戶端啟動(dòng)后,廣播DHCP DISCOVERY包,該包源地址為0.0.0.0,目的地址255.255.255.255,并且包含客戶端主機(jī)的MAC地址和計(jì)算機(jī)名等信息,向DHCP服務(wù)器請(qǐng)求分配IP地址。
2)DHCP服務(wù)器收到請(qǐng)求后,在地址池中查詢是否有IP地址可進(jìn)行分配,如果有合法IP可提供,將此IP標(biāo)記后,廣播DHCP OFFER包,源地址為0.0.0.0,目的地址255.255.255.255,此包中含有客戶端MAC地址,所分配IP地址,子網(wǎng)掩碼,租約等信息。
3)DHCP收到DHCP OFFER包后,選擇包中的IP地址,廣播DHCP REQUEST包,向所有DHCP服務(wù)器宣布該客戶端選擇的IP地址,并向分配給它IP地址的服務(wù)器正式請(qǐng)求分配IP,其它DHCP服務(wù)器收到DHCPQUEST包后將釋放之前標(biāo)記的分配給該客戶端的IP地址。
4)收到正式請(qǐng)求的DHCP服務(wù)器發(fā)送DHCPACK包,客戶端收到DHCPACK包后,將使用分配的IP地址及該DHCP服務(wù)器提供的TCP/IP配置參數(shù)。
DHCP的配置文件/etc/dhcpd.conf可對(duì)DHCP服務(wù)器進(jìn)行相應(yīng)的配置,包括對(duì)地址池、默認(rèn)網(wǎng)關(guān)、DNS地址等參數(shù)的設(shè)置,其中next-server ip一項(xiàng)用來指定引導(dǎo)服務(wù)器,采用bootp方式進(jìn)行引導(dǎo),可指向TFTP服務(wù)器地址,在TFTP服務(wù)器上查詢引導(dǎo)文件。
2.3 TFTP服務(wù)
TFTP(Trivial File Transfer Protocol,簡(jiǎn)單文件傳輸協(xié)議),基于UDP協(xié)議,用于在服務(wù)器和客戶端進(jìn)行簡(jiǎn)單文件傳輸。
安裝TFTP服務(wù),需在服務(wù)器端安裝TFTP Server,客戶端安裝TFTP Client。因此,進(jìn)行kickstart裝機(jī)的客戶端機(jī)器的網(wǎng)卡需要支持PXE Client,PXE Client的ROM中包含TFTP Client,客戶端啟動(dòng)后就可以通過TFTP協(xié)議從TFTP服務(wù)器上讀取需要的引導(dǎo)文件。
進(jìn)行kickstart裝機(jī)的客戶端網(wǎng)絡(luò)啟動(dòng)后,通過DHCP服務(wù)器取得TFTP服務(wù)器的IP地址,并使用TFTP服務(wù)從TFTP服務(wù)器下載所需的啟動(dòng)文件,啟動(dòng)文件中會(huì)指明存儲(chǔ)有ks文件和系統(tǒng)安裝包的服務(wù)器地址。
2.4 NFS服務(wù)
kickstart文件傳輸可使用HTTP、NFS等方式,本文只討論NFS方式。
NFS(Network File System,網(wǎng)絡(luò)文件系統(tǒng)),基于TCP/ IP協(xié)議,通過RPC(Remote Procedure Call,遠(yuǎn)程調(diào)用)服務(wù)實(shí)現(xiàn),是通過網(wǎng)絡(luò)進(jìn)行資源共享的一種服務(wù),NFS服務(wù)器端的共享文件對(duì)于客戶端是透明的,客戶端將服務(wù)器端的共享目錄掛載到本地,此時(shí),共享目錄就好像本地磁盤上的文件目錄,供用戶進(jìn)行操作。
在服務(wù)器端編輯/etc/exports文件可完成共享目錄配置,確定共享目錄,訪問用戶權(quán)限等內(nèi)容,客戶端通過mount掛載后可對(duì)共享目錄進(jìn)行訪問和其相對(duì)應(yīng)權(quán)限的操作。
將系統(tǒng)安裝盤的內(nèi)容拷貝到NFS服務(wù)器上并設(shè)置共享目錄,在ks文件中指定操作系統(tǒng)安裝文件訪問方式和所在路徑,引導(dǎo)客戶端讀取操作系統(tǒng)安裝文件來進(jìn)行隨后的安裝步驟。
system-config-kickstart工具
ks文件提供操作系統(tǒng)安裝參數(shù),引導(dǎo)客戶端進(jìn)行無人工干預(yù)的自動(dòng)安裝。用戶可以提前手動(dòng)填寫好ks文件,也可以使用system-config-kickstart工具生成,使用此工具必須安裝X window環(huán)境。用戶使用system-config-kickstart工具,通過其提示對(duì)安裝參數(shù)進(jìn)行配置,工具自動(dòng)生成ks文件。
除了語言、安裝方式和設(shè)備規(guī)格等配置參數(shù),ks還提供%packages軟件包安裝命令、%pre預(yù)安裝腳本和%post安裝后腳本,可在完成系統(tǒng)的安裝后,進(jìn)行軟件包安裝和環(huán)境配置等工作。
三、kickstart在大型自動(dòng)化系統(tǒng)中的應(yīng)用
大型自動(dòng)化系統(tǒng)中通常將DHCP服務(wù)器、TFTP服務(wù)器和NFS服務(wù)器配置為一臺(tái)kickstart服務(wù)器,執(zhí)行kickstart無人值守裝機(jī)。
管理員為系統(tǒng)創(chuàng)建完整的目錄結(jié)構(gòu),為各個(gè)客戶端設(shè)置對(duì)應(yīng)的文件夾,在隸屬于各客戶端的目錄下提供對(duì)應(yīng)的ks文件、系統(tǒng)安裝包和預(yù)安裝程序等文件。TFTP服務(wù)器上的引導(dǎo)文件可以使用MAC地址命名,來對(duì)不同的客戶端引導(dǎo)進(jìn)行區(qū)分,客戶端網(wǎng)絡(luò)啟動(dòng)后會(huì)在TFTP服務(wù)器上尋找自身MAC對(duì)應(yīng)的引導(dǎo)文件,引導(dǎo)文件中定義ks文件的路徑,可以引導(dǎo)客戶端找到對(duì)應(yīng)的ks文件進(jìn)行預(yù)先設(shè)置好的安裝。
ks文件提供的%packages軟件包安裝命令、%pre預(yù)安裝腳本和%post安裝后腳本等參數(shù),可以在客戶端安裝操作系統(tǒng)的基礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行軟件安裝、環(huán)境設(shè)置等工作,減少人工安裝軟件和進(jìn)行其他配置等方面的時(shí)間消耗,大大提升了工作效率。
四、結(jié)束語
本文對(duì)kickstart無人值守自動(dòng)裝機(jī)技術(shù)進(jìn)行了分析和研究,并介紹其在大型自動(dòng)化系統(tǒng)中的應(yīng)用。kickstart服務(wù)配置好以后,在系統(tǒng)安裝過程中全程無人工參與,完全自動(dòng)化安裝,是自動(dòng)化管理典型技術(shù)之一,高質(zhì)量、高效率且大大節(jié)省人工和時(shí)間成本。
參 考 文 獻(xiàn)
[1] 劉青昆,陰元友,鄭曉薇等.基于Kickstart的Linux網(wǎng)絡(luò)安裝新模型[J].計(jì)算機(jī)工程,2008,34(21):103-105. DOI:10.3969/j.issn.1000-3428.2008.21.038.
[2] 李懷剛,邱建新.網(wǎng)絡(luò)安裝Linux的技術(shù)原理分析及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(9):109-111,118. DOI:10.3969/j.issn.1000-386X.2006.09.044.
[3] 么羅野.大規(guī)模快速部署Linux的實(shí)現(xiàn)方法[J].計(jì)算機(jī)與現(xiàn)代化,2011,(5):165-167.DOI:10.3969/ j.issn.1006-2475.2011.05.047.
[4] 伍文靜,劉愛貴,程耀東等.大規(guī)模機(jī)群系統(tǒng)的快速部署與動(dòng)態(tài)配置[J].計(jì)算機(jī)應(yīng)用研究,2008,25(6):1911-1913. DOI:10.3969/j.issn.1001-3695.2008.06.091.
[5] 曾德生,陳孟祥.通過CentOS實(shí)現(xiàn)無人值守方式批量安裝部署Linux[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013,(13):90-91.
[6] 閭立新.Linux下無人值守安裝的實(shí)現(xiàn)[J].無錫職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,8(6):49-51.DOI:10.3969/ j.issn.1671-7880.2009.06.017.