PXE實(shí)踐
本篇只以記錄個(gè)人部署pxe過程中所遇問題,至于原理,只做部分簡單說明。
pxe部署必要軟件:
sysLinux (用于提供引導(dǎo)中所必備文件)
tftp(用于提供存放vmlinuz,initrd,sysLinux.0等引導(dǎo)類文件)
dhcp(用于自動(dòng)獲取IP包括指明去哪個(gè)主機(jī)獲取sysLinux.0文件)
最后還需要一個(gè)web或者ftp服務(wù),已提供系統(tǒng)安裝中所使用的yum倉庫。
另外還需要網(wǎng)卡中內(nèi)嵌了支持pxe的ROM芯片,現(xiàn)在這一條基本不用擔(dān)心,都支持。
現(xiàn)在可以找一臺(tái)虛擬機(jī)安裝上所需軟件。

安裝上述軟件,這里我準(zhǔn)備使用的是web服務(wù)。并且一臺(tái)主機(jī)直接提供所有服務(wù)。
然后我們先配置dhcp

先將DHCP的實(shí)例配置文件覆蓋配置文件,安裝過后配置文件本身是空的!
然后我們在做下修改

這里我們只需要自己添加這樣一段就夠了,畢竟我們不是真的需要dhcp服務(wù),只要分配出去的ip能和我們提供tftp,web服務(wù)通信即可,其他的我們都不用管。
接著我們進(jìn)入tftp的根目錄,這里我發(fā)現(xiàn)上面安裝的時(shí)候裝錯(cuò)了,裝成tftp的客戶端了,我們需要的是tftp-server,重新安裝一個(gè)tftp-server。

進(jìn)入此目錄接著復(fù)制需要的文件至此。

接著創(chuàng)建一個(gè)目錄,以提供pxeLinux啟動(dòng)時(shí)讀取選項(xiàng)界面。
然后我們進(jìn)入此目錄創(chuàng)建一個(gè)為default的文件,pxeLinux.0是讀取這個(gè)文件的,所以必須要以這個(gè)名字命名?。。?!

提供類似此種配置,默認(rèn)讀取menu.c32提供的界面,選取時(shí)間為10秒,超時(shí)時(shí)長為30秒 標(biāo)題為 Centos 7 PXE Menu 標(biāo)簽為Linux, 選項(xiàng)是提供的字符串 testinstall Centos 7 x86_64 讀取kernel的名稱 yum安裝倉庫為web服務(wù)的centos7目錄下,ks文件位置在web的根目錄下叫centos7.cfg 。(這里虛擬機(jī)暫時(shí)是橋接的,過會(huì)我會(huì)配置為單主機(jī),且地址配置為172.16.10.9)
接著我們將創(chuàng)建centos7目錄 并將光盤掛載至目錄

然后我們需要準(zhǔn)備一個(gè)ks配置文件,最方便的方式是用system-config-kickstart生成一個(gè),但需要安裝圖形界面,這里我沒準(zhǔn)備,就準(zhǔn)備直接更改一下家目錄的annaconda文件。
先將文件拷貝至html目錄下并改名為centos7.cfg

在接著就可以改改配置文件了

這里我主要增加了橫線標(biāo)出那一行,因?yàn)橹笆峭ㄟ^光盤安裝,這里我們要通過web服務(wù)安裝,之前通過cdrom安裝已經(jīng)被我注釋掉了,接著我們就可以啟動(dòng)服務(wù),并且調(diào)整虛擬機(jī)了!

dhcpd報(bào)錯(cuò)了 先看看報(bào)錯(cuò)什么吧

好吧,我們應(yīng)該要先調(diào)整虛擬機(jī)在啟動(dòng)dhcp,因?yàn)槎x的172網(wǎng)段和真實(shí)的網(wǎng)段不同。
我們先測試下httpd和tftp


這里可以看到我們請(qǐng)求yum倉庫是成功了,但是ks文件缺失敗了,提示沒權(quán)限,檢查一下文件權(quán)限。

發(fā)現(xiàn)確實(shí)權(quán)限問題,修改,在測試

可以正常請(qǐng)求到文件內(nèi)容了,接著測試下tftp

我們正常登陸tftp服務(wù)并且下載了一個(gè)文件,至此,我們可以去修改虛擬機(jī),啟動(dòng)dhcp了

這里我已經(jīng)指定了靜態(tài)地址,并且把虛擬機(jī)已經(jīng)調(diào)整??梢钥吹絛hcp服務(wù)也正常啟動(dòng)了!接著我們就可以找一臺(tái)主機(jī)啟動(dòng)測試了。


這里我找了個(gè)主機(jī),并且把兩臺(tái)主機(jī)調(diào)整至同一個(gè)網(wǎng)段,并且把虛擬機(jī)帶的dhcp服務(wù)已經(jīng)關(guān)閉,可以開機(jī)了!!


正確的獲得了地址,并且我們剛才自己添加的選項(xiàng)也已經(jīng)再此!tab鍵也可以像grub一樣看到具體的配置 至此,后面的就不演示了,ks文件根據(jù)自己實(shí)際需要調(diào)整。