天天看點

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

部署PXE實作Kickstart無人值守安裝

  • 一、部署PXE遠端安裝服務
    • 1.1 PEX服務相關介紹
    • 1.2 PXE服務的工作原理
    • 1.3 搭建PXE遠端安裝伺服器大概步驟
    • 1.4 實驗:使用VMware搭建PXE遠端安裝伺服器詳細步驟
  • 二、實作Kickstart無人值守安裝
    • 2.1 實作Kickstart無人值守安裝大概步驟
    • 2.2 實驗:實作Kickstart無人值守安裝詳細步驟

一、部署PXE遠端安裝服務

1.1 PEX服務相關介紹

PXE是有Intel公司開發的網絡引導技術,工作在Client/Server模式(也簡稱CS模式),允許客戶機通過網絡從遠端伺服器下載下傳引導鏡像,并加載安裝檔案或整改作業系統。

1.若要搭建PXE網絡體系,必須要滿足一下幾個前提條件:

  • 客戶機的網卡支援PXE協定(內建BOOTROM晶片),且主機闆支援網絡引導;
  • 網絡中有一台DHCP伺服器以便于為客戶機自動配置設定IP位址、指定引導檔案位置;
  • 伺服器通過TFTP(簡單檔案傳輸協定)提供引導鏡像檔案的下載下傳。

2.PXE服務具備的優點:

  1. 規模化:同時裝配多台伺服器,無需每一台單獨安裝作業系統;
  2. 自動化:實作伺服器的自動安裝及自動配置各種服務;
  3. 遠端實作:不需要CD光牒、U盤等安裝媒體,友善快捷的同時又可以保障伺服器安全。
    如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

1.2 PXE服務的工作原理

PXE(Pre-boot Execution Environment遠端引導技術)是RPL (Remote Initial Program Load遠端啟動服務)的更新産品。它們的不同之處為: RPL是靜态路由,PXE是動态路由。

RPL 是根據網卡上的ID号加上其它的記錄組成的一個幀向伺服器送出請求,而伺服器那裡早已經有了這個ID資料,比對成功則進行遠端啟動;

PXE則是根據伺服器端收到的工作站MAC位址(就是網卡号)使用DHCP服務給這個MAC位址指定一個IP位址,每次重新開機動可能同一台工作站有與上次啟動有不同的IP,即動态配置設定位址。

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

以工作站引導過程說明PXE的原理:

  1. 工作站開機後,PXEBootROM(自啟動晶片)獲得控制權之前先做自我測試,然後以廣播形式發出一個請求FIND幀。
  2. 如果伺服器收到工作站所送出的要求,就會送回DHCP回應,内容包括使用者端的IP位址,預設通訊通道,及開

    機映像檔案。否則,伺服器會忽略這個要求。

  3. 工作站收到伺服器發回的相應後則會回應一個幀,以請求傳送啟動所需檔案。之後,将有更多的訊息在工作站與伺服器之間作應答,用以決定啟動參數。
  4. BootROM 由TFTP通訊協定從伺服器下載下傳開機映像檔,這個映像檔就是軟碟的映像檔案。
  5. 工作站使用TFTP協定接收啟動檔案後,将控制權轉交啟動塊,引導作業系統,完成遠端啟動。

1.3 搭建PXE遠端安裝伺服器大概步驟

操作前相關介紹:

  • PXE遠端安裝伺服器內建了CentOS 7安裝源、TFTP服務、DHCP服務、FTP服務,能夠向客戶機裸機發送 PXE引導程式、Linux核心、啟動菜單等資料,以及提供安裝檔案;
  • TFTP(簡單檔案傳輸協定),是一個基于UDP協定實作的用于在客戶機和伺服器之間進行簡單檔案傳輸的協定,适合于小檔案傳輸的應用場合。TFTP服務預設由xinetd服務進行管理,使用UDP端口69;
  • xineta是新一代的網絡守護程序服務程式,又叫超級伺服器,常用來管理多種輕量級Internet服務。

第一步:安裝啟用TFTP服務

yum install -y tftp-server xinetd		#使用yum安裝tftp-server 和 xinetd程式

vim /etc/xinetd.d/tftp 					#修改TFTP服務的配置檔案,如下:
	service tftp
	{
	        socket_type             = dgram
	        protocol                = udp						#TFTP預設使用的UDP協定
	        wait                    = yes						#yes:客戶機單台連接配接,no:多台連接配接
	        user                    = root
	        server                  = /usr/sbin/in.tftpd		#指定TFTP跟目錄(引導檔案的存儲路徑)
	        server_args             = -s /var/lib/tftpboot
	        disable                 = no						#no:表示開啟TFTP服務
	        per_source              = 11
	        cps                     = 100 2
	        flags                   = IPv4
	}

#将tftp和xinetd服務開啟并設為開機自啟
	systemctl start tftp
	systemctl enable tftp
	systemctl start xinetd
	systemctl enable xinetd
           

第二步:安裝啟用DHCP服務

yum install -y dhcp									#使用yum安裝dhcp服務
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf		#複制dhcp配置檔案

ddns-update-style none;								#禁用DNS動态更新(取消原有的#号)
next-server 192.168.80.77;							#指定TFTP伺服器的位址
filename "pxelinux.0";								#指定要下載下傳的PXE引導程式的檔案

subnet 192.168.80.0 netmask 255.255.255.0 {			#聲明要配置設定的網段位址
  range 192.168.80.100 192.168.80.200;				#設定位址池
  option routers 192.168.80.77;						#預設網關位址指向TFTP伺服器的IP位址
}

#啟用DHCP服務并設為開機自啟
systemctl start dhcpd
systemctl enable dhcpd
           

第三步:準備Linux核心、初始化鏡像檔案

cd /mnt/images/pxeboot/							#進入到挂載的CD光牒目錄(無法進入的話檢查挂載情況)
cp vmlinuz /var/lib/tftpboot/					#複制Linux 系統的核心檔案到TFTP根 目錄下
cp initrd.img /var/lib/tftpboot/				#複制初始化鏡像檔案(linux引導加載子產品)到TFTP根目錄下
           

第四步:準備PXE引導程式

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

第五步:安裝FTP服務,準備CentOS 7安裝源

yum install -y vsftpd								#使用yum安裝vsftpd服務
mkdir /var/ftp/centos7								#在/var/ftp目錄下建立centos7,作為安裝源目錄
cp -rf /mnt/* /var/ftp/centos7/						#将挂載的CD光牒内的檔案全部複制到centos7中

#将vsftpd服務開啟并設定為開機自啟動
systemctl start vsftpd									
systemctl enable vsftpd
           

第六步:配置啟動菜單檔案

#預設的啟動菜單檔案在TFTP根目錄的pxelinux.cfg 子目錄下,檔案名為default,
 是以需要建立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.80.77/centos7

label linux text			#text安裝(預設)引導入口,label用來定義啟動項
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.77/centos7

label linux rescue			#rescue安裝(預設)引導入口,label用來定義啟動項
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.77/centos7

           

第七步:關閉防火牆和安全防護,驗證PXE網絡安裝

systemctl stop firewalld			#關閉防火牆
setenforce 0						#關閉安全防護
           

1.使用VMware建立的虛拟機進行測試,虛拟機記憶體至少需要2GB,否則在啟動安裝時可能會報錯,其他安裝步驟無需改變。

2.開啟虛拟機,在提示字元串"boot:"後直接按Enter鍵( 或執行“auto"指令),将會自動通過網絡下載下傳安裝檔案,并進入預設的圖形安裝入口; 若執行“linux text"指令,則進入文本安裝入口;若執行"linux rescue"指令,則進入救援模式。

1.4 實驗:使用VMware搭建PXE遠端安裝伺服器詳細步驟

第一步:安裝并啟用TFTP服務

1)檢查yum本地源是否配置正确和是否已經挂載。

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

2)使用yum安裝tftp-server 和 xinetd程式

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

3)修改TFTP服務的配置檔案

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

4)将tftp和xinetd服務開啟并設為開機自啟

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第二步:安裝啟用DHCP服務

1)使用yum安裝dhcp服務,從/usr/share/doc/dhcp-4.2.5/目錄中複制dhcpd.conf.example配置檔案到 /etc/dhcp/中,并修改名稱為dhcpd.confdhcp覆寫原檔案。

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

2)修改dhcpd.conf配置檔案

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第三步:準備Linux核心、初始化鏡像檔案

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第四步:準備PXE引導程式

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第五步:安裝FTP服務,準備CentOS 7安裝源

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第六步:配置啟動菜單檔案

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第七步:關閉防火牆和安全防護,驗證PXE網絡安裝

1)關閉防火牆和安全防護

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

2)在VMware中建立新Linux虛拟機,記憶體選擇為至少2G,其他無需改變,在啟動boot頁面直接回車即可

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

3)自動裝機成功,但是可以看到安裝設定仍然自己手動操作,這時就需要我們的Kicstart無人值守安裝了。

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

二、實作Kickstart無人值守安裝

上面介紹了通過PXE技術遠端安裝CentOS 7 系統的方法,安裝媒體不再受限于CD光牒、移動硬碟等裝置,大大提高了系統安裝的靈活性,然而安裝期間人需要手動選擇語言、鍵盤類型、指定安裝源等一系列互動操作,當需要批量安裝時非常不友善,這裡我将介紹通過Kickstart工具配置安裝應答檔案,自動完成安裝過程中的各種設定,進而無須手動幹預,提高網絡裝機效率,同時也可以在應答檔案中通過添加%post腳本,完成安裝後的各種配置操作(這裡我舉例添加腳本自動挂載CD光牒)。

2.1 實作Kickstart無人值守安裝大概步驟

第一步:安裝應答檔案

第二步:打開Kickstart配置程式視窗

通過桌面菜單“應用程式”————>>“系統工具”————>>“Kickstart”打開,
或者執行
system-config-kickstart 		#調出Kickstart配置程式
           

第三步:配置Kickstary選項

> 1)基本配置 :
	> 預設語言:中文(簡體)
	> 時區設為:Asia/shanghai
	> 設定root密碼
	> 勾選“安裝後重新開機”
> 2)安裝方法:
	> 選擇TFP
	> FTP伺服器:ftp://192.168.80.77				#選擇伺服器的ip,本機IP
	> FTP目錄:centos7							#之前建立的目錄
> 3)引導裝載程式選項:
	> “安裝類型”:安裝新引導裝載程式
	> “安裝選項”:在主引導記錄(MBR)中安裝引導裝載程式
	> “GRUB選項”:可以根據自己的需求進行設定
> 4)分區資訊:
	> 主引導記錄:清除主引導記錄
	> 分區:删除所有現存分區
	> 磁盤标簽:初始化磁盤标簽
	> 點選布局:添加分區
	> 挂載點: /boot, 檔案系統類型: xfs, 固定大小: 500M
	> 檔案系統類型: swap, 固定大小: 4096M
	> 挂載點: /home, 檔案系統類型: xfs, 固定大小: 4096M
	> 挂載點: /,檔案系統類型: xfs,使用磁盤上全部未使用空間
> 5)網絡配置
	> 添加網絡裝置:ens33
	> 網絡類型設為:DHCP
> 6)防火牆配置:
	> SELinux:禁用
	> 安全級别:禁用防火牆	
> 7)安裝後腳本:(設定裝機後自動配置yum本地源)
	> mkdir /etc/yum.repos.d/repo.bak
	> mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
	> echo"[local]
	> name=local
	> baseurl=file:///mnt
	> enabled=1
	> gpgcheck=0" > /etc/yum.repos.d/local.repo
           

第四步:儲存自動應答檔案

選擇“Kickstart 配置程式“視窗的”檔案”—————>>“儲存指令”,選擇指定儲存位置,檔案名為ks.cfg
預設儲存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg  		#将ks.cfg檔案複制到FTP根目錄下
           

第五步:配置需要安裝的軟體包

可以根據需要将/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
append initrd=initrd.img method=ftp://192.168.80.77/centos7 ks=ftp://192.168.80.77/ks.cfg
#添加ks引導參數以指定ks.cfg應答檔案的URL路徑
           

第七步:測試功能,将之前新建立未配置的虛拟機重新開機即可測試。

2.2 實驗:實作Kickstart無人值守安裝詳細步驟

第一步:安裝應答檔案

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第二步:打開Kickstart配置程式視窗

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第三步:配置Kickstary選項

1)“基本配置”欄配置如下

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

2)“安裝方法”欄配置如下

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

3)“引導裝載程式選項”一欄配置如下:

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

4)“分區資訊”一欄配置如下:

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝
如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

5)“網絡配置”一欄配置如下:

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

5)“防火牆配置”一欄配置如下:

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

6)“安裝後腳本”一欄配置如下:

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第四步:儲存自動應答檔案

1)儲存到指定的位置上

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

2)複制儲存的ks.cfg檔案到FTP的根目錄下

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第五步:配置需要安裝的軟體包

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第六步:編輯引導菜單檔案default,添加ks引導參數

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

第七步:測試

1)重新開機之前新建立的未配置虛拟機

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

2)測試是否可以自動配置時間、語言、分區等資訊,如下圖自動配置即代表完成。

如何不費吹灰之力的裝機?部署PXE實作Kickstart無人值守安裝 — 裝機界的最強王者一、部署PXE遠端安裝服務二、實作Kickstart無人值守安裝

繼續閱讀