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

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




     

     

     

         

       

       

     

       

       

       

          

   

原創文章,作者:Silently,如若轉載,請注明出處:http://www.www58058.com/4661

(1)
SilentlySilently
上一篇 2015-05-23 22:20
下一篇 2015-05-23 22:22

相關推薦

  • RAID學習總結

    RAID(Redundant Array of Independent Disks): 定義:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列(Redundant Array of Independent Disks),簡稱磁盤陣列。 原理:把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使其性能達到甚至超過價格昂貴,容量巨大的硬盤。 優勢: RAID在容量和管理上…

    Linux干貨 2016-08-22
  • N25- linux主機名

    N 由于我是零基礎學習linux,學完1-2課時,用心消化中,   先分享我的一個小經驗,我用xshell登錄系統后一般會打開日志記錄功能(文件—-日志——啟動),日志功能啟動后,會以txt的形式記錄下你與系統所有的交互(只會記錄系統打印到幕的內容和你輸入的命令,并不會記錄你與你與運行程序交互時輸入的內容)日志功…

    Linux干貨 2016-12-03
  • 每日一練–8.10 腳本

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中 3、編寫腳本/root/bin/disk.sh,顯示當前硬盤分區中空…

    Linux干貨 2016-08-15
  • rpm程序包管理器使用詳解

    rpm程序包管理器的使用詳解   說到程序包管理器,就會想到基于CentOS系統上的rpm命令與其對應的前端處理器yum。所謂程序包,是將源代碼轉換為二進制格式,再組織成一個或者多個包文件供用戶安裝使用。rpm程序包的命名格式如下:   name-VERSION-release.arch.rpm   軟件名-版本號(分為主版本m…

    Linux干貨 2016-08-21
  • 第三周n28

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d ” ” -f 1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 who | tail -1 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 cat /etc/passwd | …

    Linux干貨 2017-12-17
  • 文件查找:find命令、locate命令;Linux文件系統上的權限

    文件查找:find、locate locate:依賴事先構建的索引,是在系統空閑周期性自動進行;手動更新(updatedb);極其消耗資源;   find [option]… [查找路徑] [查找條件] [處理動作] 查找條件: 根據文件名查找: -name “文件名稱”:支持使用通配符glob(*,?,[],[…

    Linux干貨 2017-12-14
欧美性久久久久