這裏寫目錄標題
PXE批量裝機
一、PXE
1.PXE
(Pre-boot Execution Environment,預啓動執行環境)是由Inter公司開發的網絡引導技術,工作在Client/Server模式,允許客戶機通過網絡從遠程服務器下載引導鏡像,並加載安裝文件或者整個操作系統
2.優點
- 規模化:同時裝配多臺服務器;
- 自動化:安裝系統、配置各種服務;
- 遠程實現:不需要光盤、U 盤等安裝介質。(這點深有體會,經常服務器上不允許插任何存儲介質,或者需要維護遠程服務器)
3.裝PXE裝機前提
- 服務端:
- 安裝DHCP 服務:爲客戶機自動分配地址、指定引導文件位置。
- 服務器要開啓 TFTP服務(簡單文件傳輸協議):用來提供系統內核和引導鏡像文件的下載。
- 服務器中使用FTP服務(或http/nfs):提供yum安裝源
- 安裝軟件包syslinux:提供PXE引導程序
- 客戶機:
- 客戶機的網卡要支持PXE協議(集成BOOTROM芯片)
- 主板支持網絡引導。有一些需在BIOS設置中允許從 Network 或 LAN 啓動即可。
補充:TFTP(簡單文件傳輸協議):基於UDP協議實現的用於在客戶機和服務器之間進行簡單文件傳輸的協議,適合於小文件傳輸的應用場合。TFTP服務默認由xinetd服務進行管理,使用UDP 端口69
xinetd服務:新一代的網絡守護進程服務程序,又叫超級服務器,常用來管理多種輕量級Internet服務。
二、搭建PXE,並安裝服務器
1.安裝本地Yum源倉庫
這裏對於沒有安裝yum的用戶來說時必備的。
2.安裝並啓用 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
以下爲操作截圖
3.安裝並啓用 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.163.5; #指定 TFTP 服務器的地址
filename "pxelinux.0"; #指定要下載的 PXE 引導程序的文件
subnet 192.168.163.0 netmask 255.255.255.0 {
#聲明要分配的網段地址
range 192.168.163.100 192.168.163.200; #設置地址池
option routers 192.168.163.5; #默認網關地址指向TFTP服務器的IP地址
}
systemctl start dhcpd
systemctl enable dhcpd
實際操作步驟截圖:
4.準備 Linux 內核、初始化鏡像文件
所需要的相關命令:
mount /dev/sr0 /mnt
cd /mnt/images/pxeboot
cp vmlinuz /var/lib/tftpboot/ #複製 Linux系統的內核文件 到TFTP根目錄下
cp initrd.img /var/lib/tftpboot/ #複製 初始化鏡像文件(linux引導加載模塊)到TFTP根目錄下
具體操作步驟:
5.準備 PXE 引導程序
相關操作命令
yum -y install syslinux #PXE引導程序由軟件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #複製 PXE引導程序 到TFTP根目錄下
實際操作步驟:
6.安裝FTP服務,準備CentOS 7 安裝源
相關操作命令:
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
systemctl enable vsftpd
具體操作步驟:
7.配置啓動菜單文件
相關操作命令
默認的啓動菜單文件在TFTP根目錄的 pxelinux.cfg子目錄下,文件名爲default
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto #指定默認入口名稱
prompt 0 #設置是否等待用戶選擇,“1”表示等待用戶控制
label auto #圖形安裝(默認)引導入口,label 用來定義啓動項
kernel vmlinuz #kernel 和 append用來定義引導參數
append initrd=initrd.img method=ftp://192.168.163.5/centos7
#這裏的IP地址爲PXE服務端的IP地址。這裏指本地的
label linux text #文本安裝引導入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.163.5/centos7
# #這裏的IP地址爲PXE服務端的IP地址。這裏指本地的
label linux rescue #救援模式引導入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.163.5/centos7
# #這裏的IP地址爲PXE服務端的IP地址。這裏指本地的
相關操作步驟:
8.關閉防火牆
相關操作命令:
systemctl stop firewalld.service
setenforce 0
具體操作步驟:
這裏一定要記住!!防火牆一定要關,否則肯定報錯!!
9.驗證 PXE 網絡安裝
重新打開一臺沒裝系統的空白虛擬機,點擊開機自動加載配置文件。
彈出這個界面,沒問題了。
結束。