一. PXE簡介:
PXE(preboot execute environment,預啓動執行環境)是由Tntel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統,在啓動過程中,終端要求服務器分配IP地址,再用 TFTP(trivial file transfer protocol)或MFTP (multicast trivial filetransfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶?)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統.
本篇將介紹PXE通過dhcp和tftp來完成CentOS6系統的自動化安裝
二.安裝環境的搭建:
首先在服務端裝上DHCP服務和tftp服務,確保其打開。安裝syslinux軟件包,關閉防火牆和禁止啓動SELinux,提供引導內核等文件;提供安裝源我們通過http來完成;提供ks.cfg文件。
1.DHCP服務:它也是工作於C/S 模式,稱爲動態主機配置協議,簡單的理解就是局域網內爲所有主機提供動態獲取IP地址的機制。它的配置文件核心代碼如下:
subnet 192.168.10.0 netmask 255.255.255.0 //dhcp所工作的網段
{
33 range 192.168.10.3 192.168.10.254;//可以分配的地址段(地址池)
34 option routers 192.168.1.254; //:默認網關信息
35 next-server 192.168.10.3; //:這裏指tftp服務器的IP地址(因爲我們是用tftp)
36 filename="pxelinux.0"; //:通過tftp所要下載的系統啓動文件
37 }
我們可以通過yum安裝
2.安裝syslinux: SYSLINUX是一個小型的Linux操作系統,它的目的是簡化首次安裝Linux的時間,並建立修護或其它特殊用途的啓動盤。它的安裝很簡單,一旦安裝syslinux好之後,sysLinux啓動盤就可以引導任何操作系統;我們可以用rpm -ql syslinux查看都生成了哪些文件,其中/usr/share/syslinux/下有一個pxelinux.0的文件下面我們將用到。
3.tftp服務:它也是工作於C/S 模式,它是一種簡單的文件傳輸協議,實現小型文件的傳輸,使用並不複雜,我們只需安裝tftp-server包即可。我們可以用rpm -ql tftp-server 命令來查看安裝此服務都生成了哪些文件。tftp服務是一種瞬時性守護進程,所謂瞬時守護進程即自己並做網絡監聽,是靠其他服務來代爲監聽。這裏是靠xinetd代爲監聽的,因此我們要啓動xinetd服務,默認端口號爲69,我們用ss -unl 看69號端口是否監聽即可。當然啓動這類服務我們也可以用service xinetd restart。
注意:1.我們安裝tftp後會生成一個/var/lib/tftpboot目錄,默認裏面是空的,我們應該將系統安裝啓動的文件放在裏面,如內核文件,ramdisk 文件,pxelinux.0文件,以及光盤裏面的isolinux目錄中所有文件。
# 2.mkdir/var/lib/tftpboot/pxelinux.cfg/ 創建pxelinux.cfg目錄
# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
將isolinux.cfg放在pxelinux.cfg下並保存名字爲default 這個名字是固定的
4.ks.cfg文件:它系統啓動安裝程序前所要完成的配置,在我們已經安裝好的系統可以發現anaconda-ks.cfg 這樣一個文件,它裏面的內容就是系統安裝依賴的配置文件,簡單地說就比如你安裝時的分區信息,時區,語言設置等。當然我們平時安裝的時候是通過手動安裝的這個文件就不需要我們事先去編輯,這裏我們想實現自動化就應該事先編輯這個文件,在系統安裝程序啓動的時候去讀取它就可以了。下面我們講怎麼簡單的配置ks.cfg文件。
首先我們要安裝system-config-kickstart ;其次我們使用# system-config-kickstart配置命令打開一個可視化配置窗口如下圖所示:
注意要打開這個界面先確保你已經安裝好Xmaneger管理軟件,或者在圖形界面下打開。
三.系統安裝工作模式介紹:
四:使用http提供安裝源:
首先確保系統已經安裝好http服務並開啓此服務。所謂的安裝源指的是當系統啓動安裝程序前要找到ks.cfg配置文件,並能夠找到ks.cfg配置文件中所需要安裝的包的來源。我們這裏是以光盤爲例。即我們應該在訪問http頁面下有光盤的內容。即在/var/www/html/下面要放下光盤的內容,可將其掛載在這個目錄下面。
這裏是在ks.cfg文件中指明http的訪問地址,下面是ks.cfg文件中部分代碼:
注意這裏我們是在192.168.10.3這臺主機實現了tftp服務器、DHCP服務器、http服務器;
五:思考總結:
1.我們是否可以不適用http服務器?
這個當然可以所謂的安裝源也可以是FTP服務器,lftp 服務器,等文件傳輸的服務器,
只要有正確安裝源即可。
2.我們是否可以將所有安裝文件放入tftp服務器中/var/lib/tftpboot/目錄下面作爲安裝源?
這個理論上可以的,但是我們說過TFTP是一種小型文件傳輸協議,如果傳輸資料過多時,會影響傳輸效率。
因此我們一般不將其作爲安裝源。