1. 程式人生 > 其它 >PXE高效批量網路裝機

PXE高效批量網路裝機

PXE高效批量網路裝機

一、PXE概述

1)PXE (Preboot eXcution Environment)

2)PXE批量部署的優點

二、搭建PXE網路體系,必須滿足的前提條件

1)客戶端

2)服務端

三、搭建PXE遠端安裝伺服器

四、操作步驟

1)安裝並啟用TFTP服務

2)安裝並啟用 DHCP 服務

3)準備Linux核心、初始化映象檔案

4)準備 PXE 載入程式

5)安裝FTP服務,準備CentOS 7安裝源

6)配置啟動選單檔案

7)關閉防火牆,驗證PXE網路安裝

五、實現Kickstart無人值守安裝

1)準備安裝應答檔案

2)驗證無人值守安裝

一、PXE概述

1)PXE (Preboot eXcution Environment)

•預啟動執行環境,在作業系統之前執行。

•由Intel公司開發的網路引導技術,工作在Client/Server模式, 允許客戶機通過網路從遠端伺服器下載引導映象,並載入安裝檔案或者整個作業系統。

2)PXE批量部署的優點

規模化:同時裝配多臺伺服器。

自動化:安裝系統、配置各種服務。

遠端實現

:不需要光碟、U盤等安裝介質。

二、搭建PXE網路體系,必須滿足的前提條件

1)客戶端

•客戶機的網絡卡要支援PXE協議(整合BOOTROM晶片),且主機板支援網路引導。一般大多數伺服器主機都支援,只需在BIOS設定中允許從Network或LAN啟動即可。

2)服務端

•網路中有一臺DHCP伺服器以便為客戶機自動分配地址、指定引導檔案位置。

•伺服器要通過TFTP服務(簡單檔案傳輸協議)來提供系統核心和引導映象檔案的下載。

三、搭建PXE遠端安裝伺服器

PXE 遠端安裝伺服器集成了Centos 7安裝源、TFTP服務、DHCP服務、FTP服務,能夠向客戶機裸機發送PXE載入程式、Linux核心、啟動選單等資料,以及提供安裝檔案。

TFTP (簡單檔案傳輸協議),是一個基於UDP協議實現的用於在客戶機和伺服器之間進行簡單檔案傳輸的協議,適合於小檔案傳輸的應用場合。TFTP服務預設由xinetd服務進行管理,使用UDP69

xinetd是新一代的網路守護程序服務程式,又叫超級伺服器,常用來管理多種輕量級Internet服務

•守護程序也稱精靈程序(Daemon),是執行在後臺的一種特殊程序。守護程序獨立於控制終端,它們常常跟隨系統啟動時啟動,在系統關閉時才結束。守護程序週期性的執行某些任務或者等待處理某些事件,Linux上的大多數伺服器都是用守護程序實現的。

•在系統啟動中預設的守護程序的父程序ID全都是init,守護程序特徵就是在程式執行名後加了一個d,但不是所有的尾字母都是d的程序都是守護程序。

四、操作步驟

1)安裝並啟用TFTP服務

yum -y install tftp-server xinetd

#修改TFTP服務的配置檔案
vim /etc/xinetd.d/tftp
protocol       = udp         #TFTP預設使用UDP協議
wait           = no          #no表示客戶機可以多臺一起連線,yes表示客戶機只能一臺一臺連線
server_args    = -s /var/lib/tftpboot  #指定TFTP根目錄(引導檔案的儲存路徑)
disable        = no          #no表示開啟TFTP服務

systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

2)安裝並啟用 DHCP 服務

yum -y install dhcp

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

#修改DHCP服務的配置檔案
vim /etc/dhcp/dhcpd.conf

ddns-update-style none;        #禁用DNS動態更新
next-server 192.168.30.12;     #指定TFTP伺服器的地址
filename "pxelinux.0";          #指定要下載的PXE載入程式的檔案

subnet 192.168.30.0 netmask 255.255.255.0 {          #宣告要分配的網段地址
   range 192.168.30.100 192.168.30.220;               #設定地址池
   option routers 192.168.30.12;                               #預設閘道器地址指向TFTP伺服器的IP地址
}

systemctl start dhcpd
systemctl enable dhcpd

3)準備Linux核心、初始化映象檔案

mount /dev/sr0 /mnt

cd /mnt/images/pxeboot
cp vmlinuz /var/1ib/tftpboot/    #複製Linux系統的核心檔案到TFTP根目錄下
cp initrd.img /var/lib/tftpboot/  #複製初始化映象檔案(linux引 導載入模組)到TFTP根目錄下

4)準備 PXE 載入程式  

yum -y install syslinux   #PXE載入程式由軟體包syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #複製PXE載入程式到TFTP根目 錄下

5)安裝FTP服務,準備CentOS 7安裝源

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/

systemctl start vsftpd
systemctl enable Vsftpd

6)配置啟動選單檔案

預設的啟動選單檔案在TFTP根目錄的pxelinux.cfg 子目錄下,檔名為default

mkdir /var/lib/tftpboot/pxelinux.cfg

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

default auto              #指定預設入口名稱
prompt 1                  #設定是否等待使用者選擇,“1"表示等待使用者控制

label auto                #圖形安裝(預設)引匯入口,label用來定義啟動項
kernel vmlinuz            #kernel和append用來定義引導引數
append initrd=initrd.img method=ftp://192.168.30.12/centos7

label linux text          #文字安裝引匯入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.30.12/centos7

label linux rescue       #救援模式引匯入口
kernel vml inuz
append rescue initrd=initrd.img method=ftp://192.168.30.12/centos7

7)關閉防火牆,驗證PXE網路安裝

systemctl stop firewalld. service
setenforce 0

最後使用VMware建立的虛擬機器進行測試,虛擬機器記憶體至少2GB,否則在啟動安裝時可能會報錯。

例:

首先安裝並啟用TFTP服務

進行修改TFTP配置檔案

設定好重啟服務並安裝DHCP

尋找路徑

複製模板

修改DHCP配置檔案

設定好重啟服務

複製核心檔案到TFTP

複製PXE載入程式到TFTP並安裝FTP

將光碟掛載到centos7

重啟一下服務

建立pxelinxu.cfg

配置啟動選單檔案

配置好建立虛擬機器進行測試

完成

五、實現Kickstart無人值守安裝

1)準備安裝應答檔案

①安裝system-config-kickstart工具

yum install -y system-config-kickstart

②開啟“Kickstart 配置程式"視窗

•通過桌面選單“應用程式”–>“系統工具"–>“Kickstart"開啟
或
•執行"system-config-kickstart”命令開啟

③配置kickstart選項
✔基本配置:
•預設語言設為“中文( 簡體)”
•時區設為“Asia/Shanghai”
•設定root密碼
•高階配置中勾選“安裝後重啟”
✔ 安裝方法:
選FTP
FTP伺服器: ftp://192.168.30.12
FTP目錄: centos7
✔ 引導裝戟程式選項:
“安裝型別”:安裝新引導裝載程式
“安裝選項”:在主引導記錄(MBR)中安裝引導裝載程式
✔ 分割槽資訊:
•主引導記錄:清除主引導記錄
•分割槽: 刪除所有現存分割槽
•磁碟標籤: 初始化磁碟標籤
•佈局: 新增分割槽
•掛載點: /boot,檔案系統型別: xfs,固定大小: 500M
•檔案系統型別: swap,固定大小: 4096M
•掛載點: /home, 檔案系統型別: xfs,固定大小: 4096M
•掛載點: /,檔案系統型別:xfs,使用磁碟上全部未使用空間
✔ 網路配置:
新增網路裝置"ens33”
網路型別設為"DHCP”
✔ 防火牆配置:
禁用 SELinux、禁用防火牆
✔ 安裝後腳本:
勾選“使用解釋程式”:/bin/bash
mkdir /etc/yum.repos.d/repo.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
echo '[local] name=local baseurl=ftp://192.168.30.12/centos7 enabled=1 gpgcheck=0' >/etc/yum.repos.d/local.repo 其它選項保持預設設定即可 ④儲存自動應答檔案 選擇"Kickstart配置程式"視窗的“檔案"–>“儲存"命令,選擇指定儲存位置,檔名為ks.cfg 預設儲存在/root/ks.cfg cp /root/ks.cfg /var/ftp/ks.cfg ⑤配置需要安裝的軟體包 可以根據需要將/root/anaconda-ks.cfg的軟體包安裝指令碼複製到ks.cfg檔案中, 只需要複製&packages到&end部分即可 如要求最小化安裝,可複製下面內容: vim ks.cfg %packages @^minimal %end ⑥編輯引導選單檔案default, 新增ks引導引數 vim /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 0 #設定是否等待使用者選擇,“0”表示不等 待使用者控制 label auto kernel vmlinuz #kernel和append用來定義引導引數 append initrd=initrd.img method=ftp://192.168.30.12/centos7 ks=ftp://192.168.30.12/ks.cfg #新增ks引導引數以指定ks.cfg 應答檔案的URL路徑

2)驗證無人值守安裝

當客戶機每次以PXE方式引導時,將自動下載ks .cfg應答配置檔案,然後根據其中的設定安裝Centos 7
系統,而無須手工干預

cat /etc/yum.repos.d/ local.repo

例:

首先安裝system-config-kickstart 工具

開啟“Kickstart 配置程式”視窗

基礎配置

安裝方法

引導裝載程式選項

分割槽資訊

網路配置

防火牆配置

安裝猴指令碼

將/root/anaconda-ks.cfg的軟體包安裝指令碼複製到ks.cfg檔案中

將ks.cfg複製到ftp目錄中

編輯引導選單檔案default

配置好之後就可以新建一臺虛擬機器進行驗證