1. 程式人生 > >CentOS 6.5基於DHCP的PXE自動化安裝系統詳解

CentOS 6.5基於DHCP的PXE自動化安裝系統詳解

前言
   如果要給很多臺客戶端主機安裝作業系統,要是每一臺都拿張安裝光碟一臺一臺主機的去裝系統、那就臺不現實了、在生產環境中也不會被允許的、要實現為多臺主機自動安裝作業系統、那我們怎麼實現自動化安裝呢、這就要來講講PXE了,PXE就是為這種給多臺主機自動化安裝作業系統而生的,那接下來我們就來基於DHCP完成自動化為多臺主機安裝作業系統。

正文
   要實現自動安裝之前先確保幾個包已經安裝好了:
   1、DHCP:動態主機配置協議、他是使用UDP協議工作的
   2、tfpt-server:這個是伺服器端提供需要的安裝的包
   3、xinetd:這個是喚醒tftp這個服務的服務
   4、syslinux:這個程式包是提供pxelinux.0
   5、準備安裝樹、就是要安裝的各種rpm包、安裝光碟應該提供

   這幾個包需要安裝好

基本原理及工作流程:

   首先,在客戶端主機的網絡卡要支援網路引導,當開機時網絡卡就會啟用當中的程式,自行通過網路向DHCP請求IP地址,並配置在自己的網絡卡上。
   其次,DHCP伺服器迴應給我們的主機,分配了IP地址,掩碼什麼的,再讓DHCP伺服器告訴我們的客戶端主機tftp伺服器在什麼位置。
   接著,客戶端主機就去請求tftp伺服器,當然,這裡的DHCP伺服器和tftp伺服器可以是同一臺,也可以不是同一臺,看情況而定。
   而後,tftp伺服器就會給客戶端主機提供一個pxe的檔案、這個檔案就是pxelinux.0,他相當於我們的bootloader、而這個檔案是由syslinux這個程式包提供的。
   再則,客戶端主機利用tftp伺服器提供的pxelinux.0這個檔案,再次嘗試到tftp伺服器上獲取核心,因為要啟動安裝就要啟用引導核心。
   之後,當引導核心啟動後,客戶端主機通過改名後的default(由pxelinux.0改名而來)檔案成功的引導Linux安裝核心後,通過httpd服務獲取該檔案中指定的自動應答檔案ks.cfg所在位置,根據該位置請求下載該檔案。
   最後,將ks.cfg檔案下載回來後,通過該檔案找到ks.cfg檔案的配置請求下載安裝過程所需要的軟體包,這樣就可以實現生動化安裝了。


自動化安裝過程實現:

   安裝DHCP和httpd服務、沒安裝有就得安裝、安裝有了就不用再裝了、這步就不多說了:
   # yum -y install dhcp

   安裝好dhcp之後、就去配置dhcp服務裡的一些引數了、能讓dhcp服務告訴客戶端主機tftp伺服器在什麼位置,用net-server IP設定、還要設定檔名為pxelinux.0、這些設定可以放在全域性、也可以放在某個子網中,複製/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample檔案替換原配置檔案/etc/dhcp/dhcpd.conf、然後編輯/etc/dhcp/dhcpd.conf
   # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
   # vim /etc/dhcp/dhcpd.conf
   
wKioL1McLA_y0VeKAAEDzgZq2vU463.jpg