PXE高效批量網路裝機
PXE高效批量網路裝機
一、PXE概述
1)PXE (Preboot eXcution Environment)
二、搭建PXE網路體系,必須滿足的前提條件
三、搭建PXE遠端安裝伺服器
四、操作步驟
五、實現Kickstart無人值守安裝
一、PXE概述
1)PXE (Preboot eXcution Environment)
•預啟動執行環境,在作業系統之前執行。
•由Intel公司開發的網路引導技術,工作在Client/Server模式, 允許客戶機通過網路從遠端伺服器下載引導映象,並載入安裝檔案或者整個作業系統。
•規模化:同時裝配多臺伺服器。
•自動化:安裝系統、配置各種服務。
•遠端實現
二、搭建PXE網路體系,必須滿足的前提條件
•客戶機的網絡卡要支援PXE協議(整合BOOTROM晶片),且主機板支援網路引導。一般大多數伺服器主機都支援,只需在BIOS設定中允許從Network或LAN啟動即可。
•網路中有一臺DHCP伺服器以便為客戶機自動分配地址、指定引導檔案位置。
•伺服器要通過TFTP服務(簡單檔案傳輸協議)來提供系統核心和引導映象檔案的下載。
三、搭建PXE遠端安裝伺服器
•PXE 遠端安裝伺服器集成了Centos 7安裝源、TFTP服務、DHCP服務、FTP服務,能夠向客戶機裸機發送PXE載入程式、Linux核心、啟動選單等資料,以及提供安裝檔案。
•TFTP (簡單檔案傳輸協議),是一個基於UDP協議實現的用於在客戶機和伺服器之間進行簡單檔案傳輸的協議,適合於小檔案傳輸的應用場合。TFTP服務預設由xinetd服務進行管理,使用UDP 埠69。
•xinetd是新一代的網路守護程序服務程式,又叫超級伺服器,常用來管理多種輕量級Internet服務。
•守護程序也稱精靈程序(Daemon),是執行在後臺的一種特殊程序。守護程序獨立於控制終端,它們常常跟隨系統啟動時啟動,在系統關閉時才結束。守護程序週期性的執行某些任務或者等待處理某些事件,Linux上的大多數伺服器都是用守護程序實現的。
•在系統啟動中預設的守護程序的父程序ID全都是init,守護程序特徵就是在程式執行名後加了一個d,但不是所有的尾字母都是d的程序都是守護程序。
四、操作步驟
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
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
mount /dev/sr0 /mnt cd /mnt/images/pxeboot cp vmlinuz /var/1ib/tftpboot/ #複製Linux系統的核心檔案到TFTP根目錄下 cp initrd.img /var/lib/tftpboot/ #複製初始化映象檔案(linux引 導載入模組)到TFTP根目錄下
yum -y install syslinux #PXE載入程式由軟體包syslinux 提供 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #複製PXE載入程式到TFTP根目 錄下
yum -y install vsftpd mkdir /var/ftp/centos7 cp -rf /mnt/* /var/ftp/centos7/ systemctl start vsftpd systemctl enable Vsftpd
預設的啟動選單檔案在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
systemctl stop firewalld. service setenforce 0
最後使用VMware建立的虛擬機器進行測試,虛擬機器記憶體至少2GB,否則在啟動安裝時可能會報錯。
例:
首先安裝並啟用TFTP服務
進行修改TFTP配置檔案
設定好重啟服務並安裝DHCP
尋找路徑
複製模板
修改DHCP配置檔案
設定好重啟服務
複製核心檔案到TFTP
複製PXE載入程式到TFTP並安裝FTP
將光碟掛載到centos7
重啟一下服務
建立pxelinxu.cfg
配置啟動選單檔案
配置好建立虛擬機器進行測試
完成
五、實現Kickstart無人值守安裝
①安裝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路徑
當客戶機每次以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
配置好之後就可以新建一臺虛擬機器進行驗證