PXE實踐
本篇只以記錄個人部署pxe過程中所遇問題,至于原理,只做部分簡單說明。
pxe部署必要軟件:
sysLinux (用于提供引導中所必備文件)
tftp(用于提供存放vmlinuz,initrd,sysLinux.0等引導類文件)
dhcp(用于自動獲取IP包括指明去哪個主機獲取sysLinux.0文件)
最后還需要一個web或者ftp服務,已提供系統安裝中所使用的yum倉庫。
另外還需要網卡中內嵌了支持pxe的ROM芯片,現在這一條基本不用擔心,都支持。
現在可以找一臺虛擬機安裝上所需軟件。
安裝上述軟件,這里我準備使用的是web服務。并且一臺主機直接提供所有服務。
然后我們先配置dhcp
先將DHCP的實例配置文件覆蓋配置文件,安裝過后配置文件本身是空的!
然后我們在做下修改
這里我們只需要自己添加這樣一段就夠了,畢竟我們不是真的需要dhcp服務,只要分配出去的ip能和我們提供tftp,web服務通信即可,其他的我們都不用管。
接著我們進入tftp的根目錄,這里我發現上面安裝的時候裝錯了,裝成tftp的客戶端了,我們需要的是tftp-server,重新安裝一個tftp-server。
進入此目錄接著復制需要的文件至此。
接著創建一個目錄,以提供pxeLinux啟動時讀取選項界面。
然后我們進入此目錄創建一個為default的文件,pxeLinux.0是讀取這個文件的,所以必須要以這個名字命名?。。?!
提供類似此種配置,默認讀取menu.c32提供的界面,選取時間為10秒,超時時長為30秒 標題為 Centos 7 PXE Menu 標簽為Linux, 選項是提供的字符串 testinstall Centos 7 x86_64 讀取kernel的名稱 yum安裝倉庫為web服務的centos7目錄下,ks文件位置在web的根目錄下叫centos7.cfg 。(這里虛擬機暫時是橋接的,過會我會配置為單主機,且地址配置為172.16.10.9)
接著我們將創建centos7目錄 并將光盤掛載至目錄
然后我們需要準備一個ks配置文件,最方便的方式是用system-config-kickstart生成一個,但需要安裝圖形界面,這里我沒準備,就準備直接更改一下家目錄的annaconda文件。
先將文件拷貝至html目錄下并改名為centos7.cfg
在接著就可以改改配置文件了
這里我主要增加了橫線標出那一行,因為之前是通過光盤安裝,這里我們要通過web服務安裝,之前通過cdrom安裝已經被我注釋掉了,接著我們就可以啟動服務,并且調整虛擬機了!
dhcpd報錯了 先看看報錯什么吧
好吧,我們應該要先調整虛擬機在啟動dhcp,因為定義的172網段和真實的網段不同。
我們先測試下httpd和tftp
這里可以看到我們請求yum倉庫是成功了,但是ks文件缺失敗了,提示沒權限,檢查一下文件權限。
發現確實權限問題,修改,在測試
可以正常請求到文件內容了,接著測試下tftp
我們正常登陸tftp服務并且下載了一個文件,至此,我們可以去修改虛擬機,啟動dhcp了
這里我已經指定了靜態地址,并且把虛擬機已經調整。可以看到dhcp服務也正常啟動了!接著我們就可以找一臺主機啟動測試了。
這里我找了個主機,并且把兩臺主機調整至同一個網段,并且把虛擬機帶的dhcp服務已經關閉,可以開機了??!
正確的獲得了地址,并且我們剛才自己添加的選項也已經再此!tab鍵也可以像grub一樣看到具體的配置 至此,后面的就不演示了,ks文件根據自己實際需要調整。