CentOS 6.5 PXE無人值守安裝

 1.PXE簡介    

      PXE(preboot execute environment,預啓動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統,在啓動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。PXE可以引導多種操作系統,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。

      PXE最直接的表現是,在網絡環境下工作站可以省去硬盤,但又不是通常所說的無盤站的概念,因爲使用該技術的PC在網絡方式下的運行速度要比有盤PC快3倍以上。當然使用PXE的PC也不是傳統意義上的TERMINAL終端,因爲使用了PXE的PC並不消耗服務器的CPU,RAM等資源,故服務器的硬件要求極低。


      PXE+KickStart無人值守安裝的原理:

      1. DHCP服務器給需要安裝的機器分發IP, 並指定ftp服務器地址和pxelinux.0

      next-server 192.168.146.129;  

      filename "pxelinux.0";  

     2. 客戶端連接到服務器,讀取啓動文件 /tftpboot/pxelinux.cfg/default

     3. 根據default裏面指定的ks.cfg文件的位置,打開KickStart配置文件,

     4. 根據ks.cfg的ftp服務器的配置, 讀取/var/lib/tftpboot文件, 引導安裝程序


2.PXE服務器環境及所需應用

      centos6.5 : 操作系統

      主機IP : 192.168.146.129

dhcp:動態主機配置協議,給客戶端提供ip地址

tftp-server:tftp服務器端,提供系統安裝所需文件

xinetd:tftp服務超級守護進程,用於喚醒tftp服務

httpd:基於http服務提供安裝源

syslinux:提供pxelinux.0文件,此文件用於引導系統,相當於bootloader


3.實現步驟

 前提:安裝好所需應用包

 yum install dhcp tftp-server xinted syslinux httpd -y


3.1 配置dhcp服務

  複製範例配置文件到指定目錄進行修改

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf  #複製腳本

vim /etc/dhcp/dhcpd.conf         #打開配置文件,具體如下:

spacer.gifwKiom1VF-ayAqL1WAAFtvwd0dC4573.jpg

  dhcp服務配置完成,測試配置無語法錯誤後,啓動服務並設置開機自啓

      service dhcpd configtest      //檢測配置語法

      service dhcpd force-reload  //重新加載配置文件

      chkconfig --list dhcpd        //查看dhcpd服務是否自啓動

      chkconfig dhcpd on          //設置dhcpd服務開機自啓動

      service dbcpd status         //查看dhcpd服務的狀態

 

3.2 配置tftp server 

      

     與配置dhcp服務類似,也許設置tftp服務開機自啓動並啓動其超級守護進程xinetd

      chkconfig --list tftp      //查看 tftp服務是否自啓動

      chkconfig tftp on          //設置 tftp服務開機自啓動

        service xinetd restart    //啓動

       ss -unl | grep:69



3.3、提供PXE的工作環境

     複製pxelinux.0文件(由syslinux包提供,需提前安裝)到tftp工作目錄

      #cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

     

       在/var/lib/tftpboot下創建目錄pxelinux.cfg

 

3.4、提供引導內核等文件

       掛載系統光盤,假設位置爲/media/cdrom/


#cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/ #複製內核ramdisk

#cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32}  /var/lib/tftpboot   #複製menu框架和背景圖片

#mkdir /var/lib/tftpboot/prelinux.cfg   #創建獨特目錄pxe格式要求

#cp /media/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default  #複製選項菜單文件

 

3.5、提供安裝源

         基於http服務實現

           ss -tln|grep :80 #查看是否正常啓動    service httpd status  #查看服務狀態

           mkdir -pv /var/www/html/centos/6/x86_64                 #創建目錄

           mount /dev/crom   /media/crom                       #掛載目錄

           mount --bind /media/cdrom /var/www/html/centos/6/x86_64 #綁定目錄


3.6、提供ks.cfg文件

            cp  ks.cfg /var/www/html/centos6.cfg

             #vim ks.cfg

          #修改或添加以下兩項,目標指向安裝源

          url --url=http://192.168.146.129/centos6

          repo --name="Redhat" --baseurl=http://192.168.146.129/centos6 --cost=100


       爲了啓動時能夠加載kickstart文件,還需要修改/var/lib/tftpboot/pxelinux.cfg/default文

件,添加ks文件的位置。

 

         #vim /var/lib/tftpboot/pxelinux.cfg/default

  

label linux

  menu label ^Install or upgrade an existingsystem

  menu default

  kernel vmlinuz

  append initrd=initrd.img ks=http://192.168.146.129/centos6.cfg   #指向ks文件




3.7、設置客戶端啓動項

將待裝系統的主機設置爲網卡啓動,再進行啓動即可。

wKioL1VGAmqguGRJAADfltVljrQ661.jpg

wKiom1VPQ0_jjpJ1AAEDBLHecNQ071.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章