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
下一篇 2015-05-23

相關推薦

  • Linux 進程及作業管理

    Linux 進程及作業管理 概述:      我們在實際的運維工作中經常要對服務器做各種監控,以了解其相關狀態,比如,CPU利用率,磁盤空間利用率,等等,這就需要我們了解相關的數據并學會使用各種工具來分析數據。本章就將總結Linux系統中進程管理和作業管理的相關命令、參數和工具,包括:進程的相關定義、分類、狀態以及進程查看和管理…

    Linux干貨 2016-09-11
  • 磁盤管理的相關知識

    1.設備文件:關聯至一個設備驅動程序,進而與之相對應設備文件通信 2.設備號碼:     主設備號:major number 標識文件類型     次設別號:minor number  同一類型下不同設備 3磁盤組成結構: .    &nb…

    Linux干貨 2016-08-30
  • 【Linux基礎】計算機及操作系統基礎

    【Linux基礎】計算機及操作系統基礎 計算機的組成及其功能 計算機的組成 簡單來說,計算機應由兩部分組成:第一部分:硬件 馮諾依曼結構體系 當前計算機主要是基于馮諾依曼體系結構設計的,在該體系中,計算機硬件由5個部件組成。分別是:運算器、控制器、存儲器、輸入設備和輸出設備。而現今運算器和控制器一般集成在一起,叫中央處理器(Central Processin…

    Linux干貨 2018-03-04
  • 使用CDN后,PHP如何獲取用戶的真是IP?

    在統計訪問日志參數的時候IP是一個重要的參數,所有索取客戶端的IP就至關重要。 在logformat配置中有兩個變量是獲取IP地址的: remoteaddr:客戶端IP xforwardedfor:客戶端的IP 從上面來看兩個都是客戶端IP,那這兩個變量有什么不同? 首先當你訪問某個網站,假設你中間不經過任何代理,那么webserver就會把remotead…

    Linux干貨 2015-12-21
  • 非常不錯的編程技術教程

    下面是一些非常不錯的編程教程,當然,全是英文版的。不過因為是新手教程,所以非常容易閱讀,可以在學習技術的同時加強一下自己的英語閱讀能力。 如果你是一個新手,建議你把本頁設為你的收藏夾。C Introduction to C Programming C Optimization Tutorial Compiling C and C…

    Linux干貨 2016-05-10
  • Linux三劍客之sed

    sed 簡介 sed 工作原理 命令格式 常用選項: 地址定界: 編輯命令: 替換標記: sed元字符集(正則表達式) 高級編輯命令: sed用法實例 作業: 選定行的范圍:,(逗號) 刪除操作:d命令 顯示模式空間內容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多點編輯:e命令 從文件讀入:r命令 寫入文件:w命令 替換操作:s命令 替…

    Linux干貨 2016-08-11
欧美性久久久久