1. 程式人生 > >搭建PXE網絡實現遠程裝機服務

搭建PXE網絡實現遠程裝機服務

初始 初始化 ica fault roc tar static sftp xinetd服務

PXE(Pre-boot Execution Environment,預啟動執行環境)是由Inter公司開發的網絡引導技術,工作在Client/Server模式,允許客戶機通過網絡從遠程服務器下載引導鏡像,並加載安裝文件或者整個操作系統


PXE遠程裝機的好處:

技術分享圖片規模化:同時裝配多臺服務器

技術分享圖片自動化:安裝系統、配置各種服務

技術分享圖片遠程實現:不需要光盤、U盤等安裝介質


技術分享圖片


搭建PXE網絡環境的前提條件

既然是通過網絡傳輸,那麽計算機在啟動時,它的IP地址有誰來分配;又是怎樣下載到Linux內核和給文件系統的呢?

網卡:客戶機的網卡支持PXE協議,且主板主持網絡引導,並設置BIOS中允許從Network或LAN啟動

DHCP:網絡中有一臺DHCP服務器為客戶機分配地址、指定引導文件,並添加相應的PXE特有配置

TFTP:通過TFTP服務器提供引導鏡像文件的下載


搭建PXE遠程裝機服務器

本案例PXE遠程裝機服務器集成了RHEL安裝源、TFTP、DHCP服務

案例:隨著公司業務不斷發展,服務器數量也迅速增長,需要重新安裝RHEL6操作系統。為了提高服務器裝機效率,要求基於PXE網絡實現全自動無人值守批量安裝

需求描述:

1. 服務器的IP地址為192.168.1.10,所在網段為192.168.1.0/24

2. 搭建PXE網絡裝機服務器,為新采購的10臺服務器裸機安裝RHEL操作系統

3. 新裝的系統必須包括基本組件、開發工具、LAMP平臺,默認語言為中文

4. 為新裝的系統自動配置好YUM倉庫,root設置密碼為password


實驗步驟:

1. 準備RHEL6安裝源

RHEL安裝源一般通過HTTP、FTP協議發布,也支持NFS協議。本例采用FTP發布安裝源,並配置YUM軟件倉庫,YUM軟件倉庫的配置方法請參閱我的上一篇博客,這裏不在贅述

[root@localhost ~]# yum -y install vsftpd           //安裝vsftpd服務
[root@localhost ~]# mount /dev/cdrom /media/        //掛載系統光盤
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# cp -rf /media/* /var/ftp/rhel   //準備安裝源
[root@localhost ~]# service vsftpd restart          //開啟vsftpd服務

2. 安裝並啟用TFTP服務

TFTP服務默認由超級服務xinetd超級服務器進行管理

[root@localhost ~]# yum -y install tftp-server     //安裝tftp服務
[root@localhost ~]# vim /etc/xinetd.d/tftp         //修改以下配置項,將yes改為no
        disable                 = no
        
[root@localhost ~]# service xinetd start           //開啟xinetd服務


3. 準備Linux內核、初始化鏡像文件

[root@localhost media]# cd /media/images/pxeboot/      //將這兩個文件復制到tftp服務的根目錄下
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/


4. 準備PXE引導程序、啟動菜單文件

[root@localhost ~]# yum -y install syslinux   //安裝PXE引導程序,並復制到tftp根目錄下
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto           //指定默認入口名稱
prompt 1               //1表示等待用戶控制,0表示不等待用戶控制
label auto             //圖形安裝
      kernel vmlinuz 
      append initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text       //文本安裝
      kernel vmlinuz
      append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue     //救援模式
      kernel vmlinuz
      append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192


5. 安裝並啟用DHCP服務

[root@localhost ~]# yum -y install dhcp          //安裝dhcp服務
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf     //修改配置文件分配地址,並指定引導文件位置
# A slightly different configuration for an internal subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {       //定義網段
  range 192.160.1.100 192.168.1.200;             //分配地址池
  option domain-name-servers 192.168.1.10;       //DNS服務器地址
  option domain-name "yangshufan.com";           //域名
  option routers 192.168.1.10;                   //路由地址
  option broadcast-address 192.168.1.255;        //廣播地址
  default-lease-time 600;                        //默認租約時間
  max-lease-time 7200;                           //最大租約時間
  next-server 192.168.1.10;                      //PXE服務器IP地址
  filename "pxelinux.0";                         //PXE引導程序的文件名
}
[root@localhost ~]# service dhcpd start          //開啟dhcpd服務,需要配置靜態IP地址


現在就可以在客戶機上進行安裝測試了,然而安裝期間仍需手動選擇語言、鍵盤類型、指定安裝源等一系列交互操作,十分不方便,通過Kickstart工具配置安裝應答文件,自動完成安裝中的各種設置,從而無需手動幹預,提高網絡裝機效率

技術分享圖片

技術分享圖片


6. 實現Kickstart無人值守安裝

(1)安裝system-config-kickstart工具

[root@localhost ~]# yum -y install system-config-kickstart


(2)準備安裝應答文件

通過桌面菜單“應用程序”\“系統工具”\“Kickstart”即可打開“Kickstart配置窗口”,對各種安裝設置進行指定

1)基本配置

技術分享圖片


2)安裝方法

技術分享圖片


3)分區信息

技術分享圖片


4)網絡配置

技術分享圖片


5)防火墻設置

技術分享圖片


6)軟件包選擇

根據需要選擇需要安裝的軟件包分組,本例選擇“基本”、“萬維網服務”、“X窗口系統”、“字體”、“桌面”、“開發工具”、“中文支持”等

技術分享圖片


7)安裝腳本

技術分享圖片



(3)保存自動應答文件

技術分享圖片


(4)啟動自動應答文件

[root@localhost ~]# vim ks.cfg 
[root@localhost ~]# cp ks.cfg /var/ftp/rhel/ks.cfg
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
default auto
prompt 0               //修改為0,表示不等待用戶控制
label auto
      kernel vmlinuz      //添加引導參數,指定ks.cfg文件的URL路徑
      append ks=ftp://192.168.1.10/rhel/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192


7. 驗證無人值守安裝

技術分享圖片





搭建PXE網絡實現遠程裝機服務