Linux全自動網絡安裝 —— PXE

前言:

最近整理一些之前的學習筆記。
過去都是存儲在本地,這次傳到網絡留待備用。html


 

網絡裝機的優點:

1).規模化:同時裝配多臺主機;

2).自動化:自動裝系統、配置等各類服務;

3).遠程實現:不須要光盤、U盤等物理安裝介質。


 

PXE網絡:

  • PXE = Pro-boot eXecution Environment

    • 預啓動執行環境,在操做系統以前運行;
    • 可用於遠程安裝。
  • 工做模式:

    • PXE client 集成在網卡的啓動芯片中;
    • 當計算機引導時,從網卡芯片中把PXE client調入內存執行,獲取PXE server配置、顯示菜單,根據用戶選擇將遠程引導程序下載到本機運行。
  • 須要的服務組件:

    • DHCP服務:分配ip地址、定位引導程序;

      • 獲取ip
      • 指定下一個服務器
      • 指定引導文件
    • TFTP服務:提供引導程序下載;

      • pxelinux.0(引導文件)
      • pxelinux.cfg/default(菜單文件)
      • vesamenu.32(圖形模塊)
      • splash.png(背景圖)
      • vmlinuz(內核)
      • initrd.img(驅動)
    • HTTP服務:(或FTP/NFS),提供yum安裝源。

      • 軟件安裝yum源
      • kickstart(自動應答文件),用於自動安裝
  • 客戶機要求:

    • 網卡芯片必須支持PXE協議;
    • 主板支持網卡啓動。

 

搭建PXE網絡裝機服務器

  • 服務器地址: 192.168.4.7  

1、配置dhcp服務的pxe設置:

1.安裝軟件包:dhcp

]# yum -y install dhcp

2.編輯配置文件:/etc/dhcp/dhcpd.conf

]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {      #聲明網段、子網掩碼
    range 192.168.4.10 192.168.4.100;             #ip範圍
    option domain-name-servers 8.8.8.8;           #域名服務器
    option routers 192.168.4.254;                 #路由地址
    next-server 192.168.4.7;                      #指定下一個執行服務器(PXE服務器)的地址,本機
    filename "pxelinux.0";                        #下一個服務器的引導文件,生成後默認pxelinux.0
}

3.重啓服務:dhcpd

]# systemctl restart dhcpd      #必須保證服務器ip在dhcp的範圍內

4.確認結果

]# netstat -utnap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 8380/dhcpd

5.dhclient測試(客戶端)

臨時配置/測試,建議採用dhclient
        - 格式:dhclient -d [網絡接口]
        - 選項:-d 調試模式
]# dhclient -d eth0

 

2、搭建httpd服務:

  • 提供yum源

1.安裝軟件包:httpd

]# yum -y install httpd

2.重啓、自啓服務:

]# systemctl restart httpd
]# systemctl enable httpd

3.共享光盤內容:掛載

]# mkdir /var/www/html/rhel7
]# mount /dvd/cdrom /var/www/html/rhel7

 

3、搭建tftp服務:

1.安裝軟件包:tftp-server

]# yum -y install tftp-server

2.重啓、開機自啓服務:

]# systemctl restart tftp

3.部署PXE啓動程序:

3.1).部署 引導文件:pxelinux.0

  • pxelinux.0:網卡引導文件(安裝說明書)二進制的文件,安裝一個軟件能夠生成。
    ]# yum provides */pxelinux.0                                #查詢產生pxelinux.0的軟件包
    ]# yum -y install sysliunx                                  #安裝查詢出的軟件包
    ]# rpm -ql syslinux | grep pxelinux.0                       #查詢pxelinux.0的路徑
    ]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/     #複製引導文件到tftpboot

3.2).部署 菜單文件:isolinux.cfg

]# mkdir /var/lib/tftpboot/pxelinux.cfg/
]# cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    #複製光盤菜單文件到tftp的默認目錄
]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default         #給予文件寫的權力

3.3).部署 圖形模塊:vesamenu.c32(圖形模塊) 、 splash.png(背景圖片)

]# cp /dvd/isolinux/vesamenu.c32 /dvd/isolinux/splash.png /var/lib/tftpboot

3.4).部署 啓動內核 及 驅動程序:vmlinuz(啓動內核)、initrd.img(驅動程序)

]# cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot

3.5).修改菜單文件:/var/lib/tftpboot/pxelinux.cfg/default

]# vim /var/lib/tftpboot/pxelinux.cfg/default
.. ..
default vesamenu.c32            #默認加載圖形的模塊
timeout 600                     #讀秒時間600毫秒
.. ..
menu background 背景圖片名      #圖片大小640*480
menu title 標題
.. ..
label linux                     #菜單
    menu label ^選項,菜單內容       #顯示菜單內容
    kernel vmlinuz                   #加載內核
    append initrd=initrd.img         #加載驅動
  • 初步測試:

    • 新建一臺虛擬機,選擇PXE網絡引導安裝

 

4、配置無人值守安裝,應答文件的生成:ks.cfg

1.安裝圖形工具:system-config-kickstart

]# yum -y install system-config-kickstart

2.執行工具查看【軟件包選擇】,查看是否有軟件包:

]# system-config-kickstart
   # 若是沒有,須要修改本機yum配置文件的 [源標識] 爲 [development]
]# vim /etc/yum.repos.d/dvd.repo

3.執行工具 修改配置:

]# system-config-kickstart

4.保存配置到/root 並退出:

 

5、共享ks.cfg應答文件,利用httpd服務:

]# cp /root/ks.cfg /var/www/html

 

6、修改菜單文件,指定ks.cfg應答文件:

]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
    menu label  選項
    kernel  vmlinuz
    append initrd=initrd.img  ks=http://192.168.4.7/ks.cfg
相關文章
相關標籤/搜索