PXE批量部署linux操作系統


 前言

   在實際生產環境中,有時候我們會碰到為幾十上百甚至上千台服務器安裝Linux操作系統的需求,如果我們還是常規的去使用移動介質逐台安裝,顯然是一件低效又令人抓狂的事情,那要安裝到何年何月啊?這對於我們追求高逼格形象的技術人員來講當然是不可以接受的,為此,pxe模式批量部署系統應運而生。

   原理

  我們知道,當我們使用其它引導介質(例如硬盤、軟盤、U盤、CD或者DVD)安裝操作系統時,是加載其首個扇區中MBR(主引導目錄)中的引導程序並利用其查找各自介質中的必需數據來完成的。而pxe則是通過自帶pxe bootrom的網卡使用TFTP(簡單文件傳輸協議)和DHCP(動態主機配置協議)從網絡服務器上查找並裝載引導程序和必需的數據來完成系統的安裝的。下面讓我們通過實驗來進一步理解其安裝過程。

  實驗環境:vmware Workstation 10、CentOS-6.5-x86_64

  1、配置DHCP服務

     1、配置/etc/sysconfig/network-scripts/ifcfg-eth0 將網卡設置為開機啟動,地址配置為靜態(服務器一般設置為靜態ip地址)。

       blob.png

     2、關掉防火牆以免對實驗帶來不必要的麻煩(有可能有影響tftp)。

     blob.png

     3、修改/etc/sysconfig/selinux配置文件,永久關閉selinux,以免帶來不必要的麻煩。

      blob.png

       blob.png

     4、yum -y installdhcp安裝dhcp程序包

     5、將/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample拷貝至/etc/dhcp/dhcpd.conf並做如下修改

       blob.png

     6、依次做如下圖操作,確保dhcpd服務運行

       blob.png

     7、驗證dhcp服務器配置

       我的實驗環境中有一個win7系統,將dhcp服務器所在虛擬機客戶端與win7客戶端接入vnet3中驗證

       blob.png

      測試win7是否能夠自動獲取自動配置信息

       blob.png

      獲取成功,dhcp服務器配置完畢!

  2、配置tftp服務

    1、yum -y install tftp tftp-server

       blob.png

     可以看到,由於tftp是瞬時服務進程,不能進行自我管理,需要通過超級服務進程進行管理,所以安裝tftp-server時,超級服務進程程序xinetd被依賴。

     2、設置並確保超級服務進程開機啟動。

       blob.png

       blob.png

       chkconfig tftp開啟tftp服務

       blob.png

     3、tftp服務器測試

       新建一個文件,放到/var/lib/tftpboot/目錄下,並在服務器本機進行測試。

       blob.png

       本機測試成功

       使用另外一台帶有linux系統的客戶端測試

      blob.png

      測試成功,至此tftp服務器配置完畢。

  3、配置http服務

    1、yum -y install httpd

     2、設置httpd服務開機啟動,開啟httpd服務  

       blob.png

     創建/media/cdrom 目錄並將系統安裝光盤掛載至該目錄,然后創建/var/www/html/centos/6/x86_64並綁定掛載至/media/cdrom,通過http服務器為pxe客戶端提供安裝源和ks文件

       blob.png

     用宿主機測試http服務器,看是否工作正常

       blob.png

     http服務器測試成功!

 4、制作kickstart.cfg文件

     為實現系統安裝過程的無人值守自動化安裝,為了方便實驗,以http服務器為基礎制作ks文件

     1、執行yum -y install system-config-kickstart,安裝完成后執行system-config-kickstart程序。

     2、點擊File–>Open File–>root目錄–>anaconda-ks.cfg(該ks文件由服務器端系統安裝完后生成)–>點擊Open載入ks文件。

       blob.png

     3、Basic Configuration(基礎配置)

       blob.png

     4、Installation Method 安裝方式

       blob.png 

     5、Boot Loader Options 默認

     6、配置分區信息

       blob.png

     7、Network Configuration 將網卡eth0 設置為dhcp模式

       blob.png

     8、Authentication默認

     9、Firewall Configuration 關閉防火牆,關閉selinux

       blob.png

     10、Display Configuration默認 

     11、Package Selection 默認,參照本機ks文件

     12、Pre-Installation Script和Post-Installation Script均默認設置。

     13、點擊File–>Save–>修改文件名為centos-6.5-ks.cfg保存至/var/www/html/centos.ks(本人自定義目錄)下

     14、編輯/var/www/html/centos-6.5-ks.cfg,指定repo源到我們的http服務器對應repo源路徑

       blob.png

  5、提供PXE工作環境必須、內核以及其它所需

    1、首先,我們要將能夠通過網絡引導系統安裝的文件pxelinux.0(類似於grub,是一種引導程序,但是它專為pxe模式下的網絡系統部署提供引導)

       1、安裝提供該文件的程序:

         yum -y install syslinux

       2、找到/usr/share/syslinux/pxelinux.0文件,並將其復制到/var/lib/tftpboot/目錄下。

         blob.png

     2、將系統鏡像盤中pxe模式下專用的內核文件和initrd鏡像文件件復制到tftp服務器相應目錄中

         blob.png

     3、復制其它文件

       1、將系統光盤鏡像中的isolinux/目錄下的boot.msg splash.jpg vesamenu.c32復制到/var/lib/tftpboot/目錄下

         blob.png

       2、將系統光盤鏡像中的isolinux/目錄下的isolinux.cfg文件拷貝至/var/lib/tftpboot/pxelinux.cfg/目錄下,命名為default,用來引導客戶端啟動過程。

         blob.png

         修改/var/lib/tftpboot/pxelinux/default文件,指定ks文件的加載位置

         blob.png

 6、使用搭建好的pxe環境安裝linux 6.5 系統

   1、將服務器虛擬主機和待安裝系統虛擬主機網絡接入方式選擇為自定義:特定虛擬網絡VMnet4

      blob.png

    2、到待安裝系統虛擬主機上,進入bios,將網絡啟動設為首選

      blob.png 

   3、啟動客戶機

     進入安裝界面

     blob.png

     載入內核和initrd

     blob.png

     檢索install.img

     blob.png

     配置網絡

     blob.png

     自動創建分區

     blob.png

     依賴關系檢查

     blob.png

     開始安裝

     blob.png

     安裝軟件包

     blob.png

     等待安裝完成即完成該實驗!

 

http://www.178linux.com/4661


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM