引言:基于Kickstart的網(wǎng)絡(luò)自動(dòng)化安裝技術(shù),能夠有效地減少大規(guī)模安裝Linux操作系統(tǒng)的工作量,提高維護(hù)工作效率。雖然該技術(shù)比較成熟,在網(wǎng)上有較多的配置實(shí)例,但往往都只是重視配置本身,而忽略對(duì)技術(shù)原理的分析,初學(xué)者不易理解。本文主要對(duì)該安裝技術(shù)的運(yùn)行原理和步驟進(jìn)行介紹,希望能夠幫助初學(xué)者理解和學(xué)習(xí)該方法。
筆者單位機(jī)房需要安裝大量的服務(wù)器,這些服務(wù)器要求安裝Linux操作系統(tǒng)。如果采用人工安裝的方式來安裝操作系統(tǒng),除了需要準(zhǔn)備光驅(qū)、光盤或U盤等安裝介質(zhì)外,還要花費(fèi)大量的時(shí)間進(jìn)行安裝,而其中基本都是重復(fù)的工作內(nèi)容。在機(jī)房網(wǎng)絡(luò)環(huán)境中,針對(duì)大批量同一安裝要求的服務(wù)器,相比人工安裝方式而言,采用無人值守的網(wǎng)絡(luò)自動(dòng)化安裝方式無疑是更為便利和有效的。
基于Kickstart的網(wǎng)絡(luò)自動(dòng)化安裝技術(shù),技術(shù)架構(gòu)主要使用了PXE網(wǎng)絡(luò)技術(shù)和Kickstart的技術(shù)。原理是客戶端通過PXE網(wǎng)絡(luò)技術(shù)從安裝服務(wù)器中自動(dòng)獲取IP地址、下載映像、加載操作系統(tǒng),再根據(jù)事先設(shè)計(jì)的Kickstart配置文件參數(shù)完成系統(tǒng)安裝,實(shí)現(xiàn)Linux操作系統(tǒng)的無人值守安裝。同時(shí),由于該技術(shù)采用Client/Server網(wǎng)絡(luò)架構(gòu)模式,所以可以實(shí)現(xiàn)同時(shí)大批量安裝。
基于Kickstart的網(wǎng)絡(luò)自動(dòng)化安裝技術(shù),是比較成熟的技術(shù),在網(wǎng)上有較多的配置實(shí)例,有詳細(xì)的配置步驟,但對(duì)原理的介紹卻并不詳細(xì)。本文并不列舉實(shí)際配置,而是主要針對(duì)該安裝技術(shù)架構(gòu)的運(yùn)行原理和步驟進(jìn)行詳細(xì)分析和介紹。
Kickstart是RedHat公司開發(fā)的一種無人值守安裝方式,工作原理是將安裝過程所需要的信息事先記錄在Kickstart的配置文件ks.cfg中,然后可使用硬盤、光盤、網(wǎng)絡(luò)等多種方式進(jìn)行安裝。在安裝過程中,當(dāng)遇到要求填寫參數(shù)的情況,安裝程序會(huì)查找ks.cfg文件,從中查詢安裝參數(shù)。由于所有安裝信息均已在ks.cfg中事先設(shè)置,所以安裝時(shí)系統(tǒng)不需要人工干預(yù),直到安裝完成為止。
Kickstart網(wǎng)絡(luò)安裝,可選擇使用NFS、FTP或HTTP三種方式之一進(jìn)行安裝。NFS、FTP和HTTP服務(wù)器中存放系統(tǒng)安裝文件(本文用HTTP服務(wù)器為例進(jìn)行分析)。
PXE(Preboot Execute Environment預(yù)啟動(dòng)執(zhí)行環(huán)境)是由Intel公司設(shè)計(jì)的一個(gè)網(wǎng)絡(luò)協(xié)議,工作于Client/Server的網(wǎng)絡(luò)模式,它可以使計(jì)算機(jī)通過網(wǎng)絡(luò)啟動(dòng),引導(dǎo)系統(tǒng)網(wǎng)絡(luò)化安裝。協(xié)議分為Client和Server兩端,PXE Client在網(wǎng)卡的ROM當(dāng)中,當(dāng)待安裝系統(tǒng)的計(jì)算機(jī)開機(jī)引導(dǎo)時(shí),BIOS把PXE Client調(diào)入內(nèi)存中執(zhí)行,PXE Client會(huì)在自檢后,以廣播的形式發(fā)送一個(gè)請(qǐng)求,DHCP服務(wù)器在收到請(qǐng)求后會(huì)進(jìn)行回應(yīng),給客戶端分配IP地址,并指示TFTP服務(wù)器的IP地址??蛻舳嗽讷@取IP地址后,從TFTP服務(wù)器中下載開機(jī)引導(dǎo)文件“pxelinux.0”到本地內(nèi)存運(yùn)行,開機(jī)引導(dǎo)程序通過TFTP讀取配置文件Pxelinux.cfg,獲取系統(tǒng)初始化的相關(guān)文件信息,在內(nèi)存中進(jìn)行系統(tǒng)內(nèi)核和文件系統(tǒng)的加載,隨后可開始Linux系統(tǒng)安裝。配合Kickstart技術(shù),可完成Linux系統(tǒng)的完全無人值守安裝。
使用Kickstart網(wǎng)絡(luò)自動(dòng)化安裝技術(shù),PXE客戶機(jī)(即需要安裝Linux系統(tǒng)的客戶機(jī))應(yīng)該與DHCP服務(wù)器、TFTP服務(wù)器和HTTP服務(wù)器都處在同一局域網(wǎng)網(wǎng)段中。在實(shí)際應(yīng)用中,這三臺(tái)服務(wù)器可以都安裝在同一臺(tái)主機(jī)上,該主機(jī)作為“安裝服務(wù)器”使用,其中的各項(xiàng)服務(wù)并不相互影響,如圖1所示。
圖1 Kickstart網(wǎng)絡(luò)自動(dòng)化安裝技術(shù)拓?fù)鋱D
圖2 Kickstart網(wǎng)絡(luò)自動(dòng)化安裝步驟圖
在Kickstart網(wǎng)絡(luò)自動(dòng)化安裝技術(shù)架構(gòu)中,DHCP服務(wù)器用于IP地址分配、指示PXE客戶機(jī)pxelinux啟動(dòng)程序和配置文件的下載地址。TFTP服務(wù)器用于放置pxelinux啟動(dòng)程序和配置文件,PXE客戶機(jī)從TFTP服務(wù)器上下載并執(zhí)行pxelinux引導(dǎo)程序,在內(nèi)存中加載系統(tǒng)內(nèi)核,構(gòu)建一個(gè)基本的操作系統(tǒng)。HTTP服務(wù)器用于放置系統(tǒng)安裝鏡像和Kickstart的配置文件。在客戶機(jī)內(nèi)存中已構(gòu)建的基本操作系統(tǒng),從HTTP服務(wù)器中讀取Kickstart配置文件“ks.cfg”,根據(jù)該配置文件執(zhí)行安裝程序,從HTTP服務(wù)器中讀取系統(tǒng)安裝鏡像,在硬盤上安裝操作系統(tǒng)。在系統(tǒng)安裝過程需要進(jìn)行設(shè)置參數(shù)時(shí),程序自動(dòng)根據(jù)“ks.cfg”文件中的配置完成參數(shù)設(shè)置,最終完成Linux系統(tǒng)的安裝。Kickstart網(wǎng)絡(luò)自動(dòng)化安裝步驟如圖2所示。
使用網(wǎng)絡(luò)自動(dòng)化安裝Linux系統(tǒng)的客戶機(jī),必須開放網(wǎng)卡的PXE啟動(dòng)功能。目前幾乎所有網(wǎng)卡都具備PXE啟動(dòng)功能,但客戶機(jī)BIOS中有可能是將此功能默認(rèn)設(shè)置為禁止啟動(dòng)的。在進(jìn)行安裝之前,需要將該功能開放。
基于Kickstart網(wǎng)絡(luò)自動(dòng)化安裝技術(shù),主要用到了PXE網(wǎng)絡(luò)技術(shù)和Kickstart技術(shù)。PXE網(wǎng)絡(luò)技術(shù)主要負(fù)責(zé)客戶機(jī)安裝程序的引導(dǎo)和內(nèi)核加載,為系統(tǒng)安裝做好初始化準(zhǔn)備。Kickstart技術(shù)則負(fù)責(zé)Linux操作系統(tǒng)的安裝和配置。本文主要對(duì)Kickstart網(wǎng)絡(luò)自動(dòng)化安裝技術(shù)的原理進(jìn)行了分析和介紹。在實(shí)際運(yùn)維工作中運(yùn)用這種技術(shù),可以有效地減少大規(guī)模安裝Linux 操作系統(tǒng)的工作量,提高維護(hù)效率。