目錄
- 概述:
- 一:部署PXE遠程安裝服務
- 1.1:PXE批量部署的優點
- 1.2關于PXE網路
- 1.21:PXE,(Pre-boot eXcution Environment)
- 1.22:服務端
- 1.23:客戶端
- 1.3:PXE的作業程序
- 二:配置PXE裝機服務器
- 2.1:基本部署程序
- 2.2:TFTP服務及引導檔案
- 三:PXE服務器的配置
- 3.1:服務器
- 3.2:客戶機
概述:
??對于單臺服務器上的OS安裝,我們可以手動進行,若是一個集群服務中的多個節點超過50臺服務器的OS安裝,手動安裝顯然是不可行的,因此作為系統運維工程師自動化運維是我們必不可缺的技能,
在Centos7 作業系統上實作PXE的自動化部署OS,所依賴的服務有:dhcp, tftp, fileserver(http,ftp,nfs),依賴的安裝源:kickstart檔案,可引導內核-vimlinuz,initrd.img檔案,概念圖如下,

準備兩臺虛擬機,一臺做PXE服務器,一臺不需要安裝系統,用于后續PXE客戶端裝機
準備一臺初始化完成虛擬機,之前文章有詳細介紹,
一:部署PXE遠程安裝服務
1.1:PXE批量部署的優點
- 規模化:同時裝配多臺服務器
- 自動化:安裝系統、配置各種服務
- 遠程實作:不需要光碟、U盤等安裝介質
1.2關于PXE網路
1.21:PXE,(Pre-boot eXcution Environment)
- 預啟動執行環境,在作業系統之前運行
- 可用于遠程安裝,構建無盤作業站
1.22:服務端
-
運行DHCP服務,用來分配地址,定位引導程式
-
引導程式:微代碼,存放在TFTP服務器中
-
運行TFTP服務器,提供引導程式下載
-
TFTP服務器時UDP協議,埠號69
-
鏡像檔案存放在:vsftpd,TCP協議,埠號20,21
1.23:客戶端
- 網卡支持PXE協議
- 主板支持網路啟動
- 獲得IP后第一件事是獲取引導程式,根據引導的指向安裝系統
1.3:PXE的作業程序
-
PXE Client 從自己的PXE網卡啟動,向本網路中的DHCP服務器索取IP
-
DHCP 服務器回傳分配給客戶機的IP 以及PXE檔案的放置位置(該檔案一般是放在一臺TFTP服務器上)
-
PXE Client 向本網路中的TFTP服務器索取pxelinux.0 檔案
-
PXE Client 取得pxelinux.0 檔案后之執行該檔案
-
根據pxelinux.0 的執行結果,通過TFTP服務器加載內核和檔案系統
-
進入安裝畫面, 此時可以通過選擇HTTP、FTP、NFS 方式之一進行安裝
二:配置PXE裝機服務器
2.1:基本部署程序
- 準備Centos 7 安裝源
- 配置DHCP服務,用來分配地址、指出引導程式位置
- 配置TFTP服務,用來提供內核、引導程式
- 配置啟動選單
2.2:TFTP服務及引導檔案
- 安裝tftp-server軟體包,啟用tftp服務
- 準備內核檔案vmlinuz
- 準備初始化鏡像initrd.img
- 準備引導程式檔案pxelinux.0 (引導程式檔案pxelinux.0依賴于syslinux程式,需要先安裝syslinux程式)
- 還有一個是tftp的默認組態檔需要修改 /etc/xinetd.d/tftp
三:PXE服務器的配置
3.1:服務器
需要兩張網卡,一張做橋接模式,一張做VMnet1
服務器地址為192.168.158.10


- 修改組態檔
[root@server1 ~] yum -y install tftp
[root@server1 ~]vi /etc/xinetd.d/tftp #進入組態檔修改內容
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot -c #-s 指定存盤路徑 -c 允許上傳
disable = no #開啟tftp
per_source = 11
cps = 100 2
flags = IPv4
}
[root@server1 ~] yum -y install dhcp vsftpd
[root@server1 ~] vi /etc/dhcp/dcpd.conf
ddns-update-style none;
next-server 192.168.158.10; #指定tftp服務器地址
filename"/pxelinux.0"; #引導檔案tftp上的位置
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.158.100 192.168.158.200; #通過PXE裝機的主機可以動態獲取地址
option routers 192.168.158.10; #服務器地址
option domain-name-servers 8.8.8.8, 114.114.114.114;
}
- 使ftp客戶端可以訪問光碟裝機
[root@client1 ~] mount /dev/cdrom /var/ftp/pub/
- 安裝引導加載程式
[root@client1 ~] yum -y install syslinux
復制網路啟動所需要檔案到服務器的根目錄下
[root@server1 ~] cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@server1 ~] mkdir /var/lib/tftpboot/pxelinux.cfg/
[root@server1 ~] cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@server1 ~] cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
[root@server1 ~] cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
[root@server1 ~] cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
- 編輯安裝的組態檔
[root@server1 ~] vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.158.10/pub
ks=ftp://192.168.158.10/ks.cfg
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.158.10/pub
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.158.10/pub
- 啟動所有服務,并關閉防火墻、核心防護
[root@server1 ~] systemctl start dhcpd
[root@server1 ~] systemctl start vsftp
[root@server1 ~] systemctl stop firewalld
[root@server1 ~] setenforce 0
- 安裝應答檔案kickstart,可以圖形化界面想到來配置安裝應答檔案
[root@server1 ~] yum -y install system-config-kickstart
- 圖形化界面打開kickstart 進行配置



添加磁區/分配的容量要足夠大,否則無法安裝




保存到/var/ftp目錄下

[root@server1 ~] vi anaconda-ks.cfg
復制紅框內的內容到/var/ftp/ks.cfg中

以上就配置完成了,
3.2:客戶機
網卡型別為VMnet1
??新建一臺虛擬機啟動,選擇網路啟動,開始PXE遠程安裝,無需任何操作,出現如下界面,可以看到DHCP服務動態分配到了192.168.158.101的地址,以及正在加載一些引導程式,最終加載完成到安裝界面,

如果覺得有用的話,歡迎大家點贊收藏呀,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/67972.html
標籤:其他
上一篇:Java深入篇~03.陣列的排序演算法(JDK1.8)
下一篇:lugb渦街流量計說明書
