在大規(guī)模的 Linux 應(yīng)用環(huán)境中,如 Web 群集、分布式計(jì)算等,服務(wù)器往往并不配備光驅(qū)設(shè)備,在這種情況下,如何為數(shù)十乃至上百臺(tái)服務(wù)器裸機(jī)快速安裝系統(tǒng)呢?傳統(tǒng)的 USB光驅(qū)、移動(dòng)硬盤等安裝方法顯然已經(jīng)難以滿足需求。
PXE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 按下電源
1:iso系統(tǒng)鏡像? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?開(kāi)機(jī)自檢
2:FTP? ? ? ? ? ? ? ? ? ? ? ? ? ?讀取BIOS中誰(shuí)是引導(dǎo)設(shè)備(光驅(qū),硬盤,U盤,網(wǎng)卡)?
3:DHCP(rarp協(xié)議)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 加載引導(dǎo)程序
4:TFTP(簡(jiǎn)單文件傳輸協(xié)議)? ? ? ? ? 加載初始化鏡像
內(nèi)核文件,初始化鏡像文件。? ? ? ? ? ? ? ? ?加載內(nèi)核
引導(dǎo)程序,引導(dǎo)配置文件。? ? ? ? ? ?systemd(init)(守護(hù)進(jìn)程)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進(jìn)程樹(tree)
本章將學(xué)習(xí)基于 PXE(Preboot eXecution Environment,預(yù)啟動(dòng)執(zhí)行環(huán)境)技術(shù)的網(wǎng)絡(luò)裝機(jī)方法,并結(jié)合 Kickstart 配置實(shí)現(xiàn)無(wú)人值守自動(dòng)安裝。
上述服務(wù)器的批量部署方法,具備以下三個(gè)優(yōu)點(diǎn):
規(guī)?;?#xff1a;同時(shí)裝配多臺(tái)服務(wù)器;
自動(dòng)化:安裝系統(tǒng),配置多種服務(wù);
遠(yuǎn)程實(shí)現(xiàn):不需要光盤,U盤等安裝介質(zhì)。
PXE是由intel公司開(kāi)的網(wǎng)絡(luò)引導(dǎo)技術(shù),工作在client/server模式,允許客戶機(jī)通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程服務(wù)器下載引導(dǎo)鏡像,并加載安裝文件或者整個(gè)操作系統(tǒng)。若要搭建PXE網(wǎng)絡(luò)體系,必須滿足以下幾個(gè)前提條件。
客戶機(jī)的網(wǎng)卡支持PXE(集成BOOTROM芯片,)且主板型號(hào)支持網(wǎng)絡(luò)引導(dǎo)。
網(wǎng)絡(luò)中有一臺(tái)DHCP服務(wù)器以便為客戶機(jī)自動(dòng)分配地址,指定引導(dǎo)文件位置。
服務(wù)器通過(guò)TFTP(trivial file transfer protocol,簡(jiǎn)單文件傳輸協(xié)議)提供引導(dǎo)鏡像文件的下載??蛻舳诉€沒(méi)有IP地址,用rarp協(xié)議(反向地址解析),以mac地址作為依據(jù)向DHCP服務(wù)器分一個(gè)IP地址。
其中,第一個(gè)條件實(shí)際上要硬件要求,目前絕大數(shù)服務(wù)器和大多數(shù)PC都能提供此支持,只需在BIOS設(shè)置中允許從NEWORK或LAN啟動(dòng)即可。下面將介紹PXE遠(yuǎn)程安裝服務(wù)的基本部署過(guò)程。
搭建PXE遠(yuǎn)程安裝服務(wù)器
本例的PXE遠(yuǎn)程安裝服務(wù)器集成了centos7安裝源,TFTP服務(wù),DHCP服務(wù),能夠向客戶機(jī)裸機(jī)發(fā)送PXE引導(dǎo)程序,LINUX內(nèi)核,啟動(dòng)菜單等數(shù)據(jù),以及提供安裝文件。
1,準(zhǔn)備centos7安裝源
centos7的網(wǎng)絡(luò)安裝源一般通過(guò)HTTP,FTP協(xié)議發(fā)布,另外也支持NFS(network file system,網(wǎng)絡(luò)文件系統(tǒng))協(xié)議。
例如,若采用FTP協(xié)議發(fā)布安裝源,可以在服務(wù)器上部署一個(gè)YUM軟件倉(cāng)庫(kù)。



2,安裝并啟用TFTP服務(wù)
TFTP服務(wù)由tftp-server軟件包提供,配置文件位于/etc/xinetd.d/tftp。配置時(shí)只要將“disable=yes”改為“disable=no”,然后啟動(dòng)TFTP服務(wù)即可。



3,準(zhǔn)備LINUX內(nèi)核,初始化鏡像文件。
用于PXE網(wǎng)絡(luò)安裝的LINUX內(nèi)核,初始化鏡像文件可以從centos7系統(tǒng)光盤獲得,分別為vmlinuz和initrd.img,位于文件夾images/pxeboot下,找到這兩個(gè)文件并將其復(fù)制到tftp服務(wù)的根目錄下。

4,準(zhǔn)備PXE引導(dǎo)程序
用于PXE網(wǎng)絡(luò)安裝的引導(dǎo)程序?yàn)閜xelinunx,0,由軟件包syslinux提供,安裝好軟件包syslinux,然后將文件pxelinux.0也復(fù)制到tftp服務(wù)的根目錄下。





5,安裝并啟用DHCP服務(wù)
由于PXE客戶機(jī)通常是尚未安裝的系統(tǒng)的裸機(jī),因此為了與服務(wù)器取得聯(lián)系并正確下載相關(guān)引導(dǎo)文件,需要預(yù)先配置好DHCP服務(wù)來(lái)自動(dòng)分配地址并告知引導(dǎo)文件位置。如PXE服務(wù)器的IP地址為192.168.4.254,DHCP地址池為192.168.4.100——192.168.4.200,即可以參考一下操作來(lái)搭建DHCP服務(wù)器。


從上述過(guò)程可以看到,與一般DHCP服務(wù)不同的是,配置文件增加了netx-server和filename這兩行記錄,分別用來(lái)指定TFTP服務(wù)器的地址和PXE引導(dǎo)過(guò)程的文件名。
6,配置啟動(dòng)菜單文件
啟動(dòng)菜單用來(lái)指導(dǎo)客戶積極的引導(dǎo)過(guò)程,包括如何調(diào)用內(nèi)核,如何加載初始化鏡像。默認(rèn)的啟動(dòng)菜單文件為default,應(yīng)放置在tftp根目錄的pxelinux.cfg子目錄下,典型的啟動(dòng)菜單配置可參考以下操作手動(dòng)建立。

上述配置記錄中定義了三個(gè)引導(dǎo)入口,分別為圖形安裝(配置),文本安裝,救援模式。其中,prompt用來(lái)設(shè)置是否等待用戶選擇;label用來(lái)定義并分隔啟動(dòng)項(xiàng),kernrl和append用來(lái)定義引導(dǎo)參數(shù)。引導(dǎo)入口的個(gè)數(shù)及內(nèi)容根據(jù)需要自行定義。例如,實(shí)現(xiàn)無(wú)人能值守安裝時(shí)只需要一個(gè)入口就夠了。
驗(yàn)證PXE網(wǎng)絡(luò)安裝
搭建好PXE遠(yuǎn)程安裝服務(wù)器以后,就可以使用客戶機(jī)進(jìn)行安裝測(cè)試了。對(duì)于新購(gòu)買的服務(wù)器或PC裸機(jī),一般不需要額外設(shè)置,若要為已有系統(tǒng)的主機(jī)重裝系統(tǒng),則可能需要修改BIOS設(shè)置,將“BOOT FIRST”改為“NETWORK ”或“LAN”,然后重啟主機(jī),若使用vmware創(chuàng)建的虛擬機(jī)進(jìn)行測(cè)試,虛擬機(jī)內(nèi)存至少需要2GB,否則在啟動(dòng)安裝時(shí)會(huì)報(bào)錯(cuò)。
如果服務(wù)器配置正確,網(wǎng)絡(luò)連接,PXE支持等都沒(méi)有問(wèn)題,則客戶機(jī)重啟后將自動(dòng)配置IP地址,然后從TFTP服務(wù)器中獲取引導(dǎo)程序pxelinux,0,并根據(jù)引導(dǎo)菜單配置意提示用戶指定啟動(dòng)入口,如圖6,1所示。

在提示子串“boot”后直接按enter鍵(或執(zhí)行“auto”命令),將會(huì)進(jìn)入默認(rèn)的圖形安裝入口,若執(zhí)行“l(fā)inux text”命令,則進(jìn)入文本安裝入口,若執(zhí)行“l(fā)inux rescue”命令,則進(jìn)入救援模式。
直接按neter鍵確認(rèn)后將自動(dòng)通過(guò)網(wǎng)絡(luò)下載安裝文件,并進(jìn)入圖形化安裝程序界面,如圖6,2所示。若能夠成功到達(dá)這一步,說(shuō)明PXE網(wǎng)絡(luò)安裝基本成功。

實(shí)現(xiàn)kickstart無(wú)人值守安裝
上一節(jié)介紹了通過(guò)PXE技術(shù)遠(yuǎn)程安裝centos7系統(tǒng)的方法,安裝介質(zhì)不在受限于光盤,移動(dòng)硬盤等設(shè)置,大大提高了系統(tǒng)安裝的靈活性,然而,安裝期間仍需要手動(dòng)選擇語(yǔ)言,鍵盤類型,指定安裝源等一系列交互操作,當(dāng)需要批量安裝時(shí)非常不方便。
本屆將進(jìn)一步學(xué)習(xí)如何實(shí)現(xiàn)無(wú)人值守自動(dòng)安裝,通過(guò)使用kickstart工具配置安裝應(yīng)答文件,自動(dòng)完成安裝過(guò)程中的各種設(shè)置,從而無(wú)須手動(dòng)干預(yù),提高網(wǎng)絡(luò)裝機(jī)效率。
準(zhǔn)備安裝應(yīng)答文件:
在centos7系統(tǒng)中安裝system-config-kickstart工具之后,即可通過(guò)圖形化向?qū)Чぞ邅?lái)配置安裝應(yīng)答文件。
如果用戶對(duì)自動(dòng)應(yīng)答文件的配置比較熟悉,也可以直接編輯centos7安裝后自動(dòng)創(chuàng)建的應(yīng)答文件(/root/anaconda-ks.cfg),根據(jù)需要適當(dāng)修訂后使用。
1,配置安裝應(yīng)答參數(shù)
通過(guò)桌面菜單“應(yīng)用程序》系統(tǒng)工具》kickstart”即可打開(kāi)“kickstart配置程序”窗口。
在“kickstart配置程序”窗口中,可以針對(duì)基本配置,安裝方法,引導(dǎo)裝載程序選項(xiàng),分區(qū)信息,網(wǎng)絡(luò)配置等各種安裝設(shè)置進(jìn)行指定,如圖所示。

(1)基本配置及安裝方法
“基本配置”可參考圖6,3來(lái)指定。例如,將默認(rèn)語(yǔ)言設(shè)定為“中文(簡(jiǎn)體)”,時(shí)區(qū)設(shè)為“Asia/shanghai”,根口令設(shè)為“pwd123”,高級(jí)配置中勾選“安裝后重啟”。
在“安裝方法”界面中,應(yīng)正確指定centos7的安裝放大,如圖6,4所示。若有用戶驗(yàn)證信息也需一并指定。在“引導(dǎo)裝載程序選項(xiàng)”界面中,選擇安裝新引導(dǎo)裝載程序。

(2)分區(qū)信息
在“分區(qū)信息”界面中,需正確規(guī)劃硬盤分區(qū)方案。例如,可劃分一個(gè)500MB的/boot分區(qū),4GB的/home分區(qū),2GB的swap分區(qū),將剩余空間劃分給根分區(qū),如圖所示。

3)網(wǎng)絡(luò)配置及防火墻配置
在“網(wǎng)絡(luò)配置”界面中,添加一個(gè)網(wǎng)絡(luò)設(shè)備“ens33”,將網(wǎng)絡(luò)類型設(shè)為“DHCP”。
在“防火墻配置”界面中,可以選擇禁用SElinux,禁用防火墻。
(4)軟件包選擇
centos7系統(tǒng)開(kāi)始不在提供軟件包的選擇,如圖6,6所示。如果需要安裝軟件包,可以根據(jù)需要將/root/anaconda-ks.cfg的軟件包安裝腳本復(fù)制到ks.cfg文件中,只需要復(fù)制%packages到%end部分即可,在%packages到%end之間,包含以@開(kāi)頭的軟件包列表,將不需要的軟件包刪除,剩下的就是系統(tǒng)會(huì)自動(dòng)安裝的軟件包。例如,僅保留以下內(nèi)容即為采用最小化安裝。


(5)安裝腳本
在“預(yù)安裝腳本”界面,“安裝后腳本”界面中,可以分別添加在安裝前,安裝后自動(dòng)運(yùn)行的可執(zhí)行語(yǔ)句。此項(xiàng)設(shè)置是服務(wù)器的自動(dòng)化配置變得更加容易。例如??梢允箍蛻魴C(jī)在完成安裝后自動(dòng)設(shè)置YUM軟件倉(cāng)庫(kù),如圖6,7所示。需要注意的是,應(yīng)確保所編寫的代碼能夠正確執(zhí)行,以免安裝失敗。

(6)其他信息
若沒(méi)有特殊需求,在“驗(yàn)證”界面,“顯示配置”界面中,保持默認(rèn)設(shè)置就可以了。
2,保存自動(dòng)應(yīng)答文件 保存到/var/ftp中
選擇“kickstart配置程序“窗口的”文件“》”保存“命令,指定目標(biāo)文件夾,文件名,將配置好的應(yīng)答參數(shù)保存為文本文件,如/root/ks.cfg。以后若要修改此應(yīng)答配置,可以在”kickstart配置程序“窗口中打開(kāi)進(jìn)行調(diào)整,或者使用vi等文本編輯工具進(jìn)行修改。

實(shí)現(xiàn)批量自動(dòng)裝機(jī)
有了自動(dòng)安裝的應(yīng)答文件后,只要將其放置PXE安裝服務(wù)器的FTP目錄下,并適當(dāng)修改引導(dǎo)菜單,就可以實(shí)現(xiàn)基于網(wǎng)絡(luò)的批量自動(dòng)裝機(jī)了。
1,啟用自動(dòng)應(yīng)答文件
在PXE遠(yuǎn)程安裝服務(wù)器中,將上一節(jié)建立的應(yīng)答文件復(fù)制到/var/ftp/centos7目錄下,使客戶機(jī)能夠通過(guò)ftp://192.168.4.254/centos7/ks.cfg訪問(wèn),然后編輯引導(dǎo)菜單文件default,添加ks引導(dǎo)參數(shù)以制定ks。cfg應(yīng)答文件的URL路徑。

2,驗(yàn)證無(wú)人值守安裝
啟用自動(dòng)應(yīng)答安裝之后,當(dāng)客戶機(jī)每次以PXE方式引導(dǎo)時(shí),將自動(dòng)下載ks.cfg應(yīng)答配置文件,然后根據(jù)其中的設(shè)置安裝centos7系統(tǒng),而無(wú)須手工干預(yù),如圖6,8所示,這樣就可以同時(shí)為多臺(tái)客戶機(jī)安裝系統(tǒng)了。
客戶機(jī)安裝完成以后,檢查其YUM軟件倉(cāng)庫(kù)配置,可以發(fā)現(xiàn)已經(jīng)按照“安裝后腳本”的設(shè)置自動(dòng)建立了/etc/yum.repos,d/centos7.repo文件。


注意:如果是在vmware虛擬機(jī)環(huán)境下,需要禁用vmware的dhcp功能,否則安裝文件將無(wú)法加載。