部署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服務具備的優點:
- 規模化:同時裝配多台伺服器,無需每一台單獨安裝作業系統;
- 自動化:實作伺服器的自動安裝及自動配置各種服務;
- 遠端實作:不需要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的原理:
- 工作站開機後,PXEBootROM(自啟動晶片)獲得控制權之前先做自我測試,然後以廣播形式發出一個請求FIND幀。
-
如果伺服器收到工作站所送出的要求,就會送回DHCP回應,内容包括使用者端的IP位址,預設通訊通道,及開
機映像檔案。否則,伺服器會忽略這個要求。
- 工作站收到伺服器發回的相應後則會回應一個幀,以請求傳送啟動所需檔案。之後,将有更多的訊息在工作站與伺服器之間作應答,用以決定啟動參數。
- BootROM 由TFTP通訊協定從伺服器下載下傳開機映像檔,這個映像檔就是軟碟的映像檔案。
- 工作站使用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本地源是否配置正确和是否已經挂載。
2)使用yum安裝tftp-server 和 xinetd程式
3)修改TFTP服務的配置檔案
4)将tftp和xinetd服務開啟并設為開機自啟
第二步:安裝啟用DHCP服務
1)使用yum安裝dhcp服務,從/usr/share/doc/dhcp-4.2.5/目錄中複制dhcpd.conf.example配置檔案到 /etc/dhcp/中,并修改名稱為dhcpd.confdhcp覆寫原檔案。
2)修改dhcpd.conf配置檔案
第三步:準備Linux核心、初始化鏡像檔案
第四步:準備PXE引導程式
第五步:安裝FTP服務,準備CentOS 7安裝源
第六步:配置啟動菜單檔案
第七步:關閉防火牆和安全防護,驗證PXE網絡安裝
1)關閉防火牆和安全防護
2)在VMware中建立新Linux虛拟機,記憶體選擇為至少2G,其他無需改變,在啟動boot頁面直接回車即可
3)自動裝機成功,但是可以看到安裝設定仍然自己手動操作,這時就需要我們的Kicstart無人值守安裝了。
二、實作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無人值守安裝詳細步驟
第一步:安裝應答檔案
第二步:打開Kickstart配置程式視窗
第三步:配置Kickstary選項
1)“基本配置”欄配置如下
2)“安裝方法”欄配置如下
3)“引導裝載程式選項”一欄配置如下:
4)“分區資訊”一欄配置如下:
5)“網絡配置”一欄配置如下:
5)“防火牆配置”一欄配置如下:
6)“安裝後腳本”一欄配置如下:
第四步:儲存自動應答檔案
1)儲存到指定的位置上
2)複制儲存的ks.cfg檔案到FTP的根目錄下
第五步:配置需要安裝的軟體包
第六步:編輯引導菜單檔案default,添加ks引導參數
第七步:測試
1)重新開機之前新建立的未配置虛拟機
2)測試是否可以自動配置時間、語言、分區等資訊,如下圖自動配置即代表完成。