PXE架構 無人值守安裝
1.TFTP簡介
1.)概述 簡單的文件傳輸協議 端口
簡單文件傳輸協議(Trivial File Transfer Protocol)
網絡文件基於UDP傳輸的最簡單的協議 端口為UDP 69
數據庫端口 端口3306
DNS 端口53
DHCP 端口 服務端67 客戶端68
FTP 端口 21 20端口不確定
samba 端口 137 138 139 445
ssh 端口 22
2.)特點
1.同樣屬於C/S架構:客戶端程序tftp,服務端程序tftp-server,基於守護進程xinetd來運行。
2.xinetd配置文件:/etc/xinetd.d/tftp
tftp服務端提供客戶端文件訪問根目錄:/var/lib/tftpboot
這個目錄是客戶端可以下載訪問的
TFTP部署 安裝tftp-server 和xinetd服務 修改配置,並啟動服務
TFFP服務
1.安裝 yum -y install tftp-server xinetd
xinetd配置文件:/etc/xinetd.d/tftp
Tftp服務交給 xinerd管理
這些都是 xinetd管理的服務
2.修改配置並啟動命令 vi /etc/xinetd.d/tftp
修改為: wait = no (等待) disable = no (使不能)
systemctl start xinetd
systemctl start tftp.socket ---啟動服務
netstat -antulp |grep :69 --查看端口
PXE網絡啟動
1.PXE概述 依賴的軟件DHCP VSFTP
PXE:preboot execute environment(預引導啟動環境)
1.由Intel公司開發的網絡引導技術,工作於C/S架構,基於網絡引導啟動客戶端操作系統的安裝。
允許客戶端通過網絡從遠程服務器下載引導鏡像,並加載安裝整個文件或整個操作系統。
2.依賴dhcp,tftp,file server(vsftpd,httpd,nfs等),客戶端主機網卡也需支持BOOTROOM芯片,支持PXE相關協議。
dhcp分配IP地址及指定引導文件位置。
tftp提供引導鏡像文件的下載
file server提供操作系統安裝包的下載,將光盤的內容復制到file server中,如vsftpd。
3.網絡引導Linux的相關軟件由syslinux提供,安裝syslinux程序
yum install syslinux -y
2.優點:
PXE這種安裝系統的方式可以不受光驅,光盤以及一些外部設備的限制,還可以做到無人值守,
大大減輕了運維人員的工作負荷,像在一些主機數量龐大的機房進行批量安裝,PXE是不二的選擇。
3.工作過程示意圖
名詞解釋
pxelinux.0 :pxe引導程序(由syslinux程序提供)
pxelinux.cfg/default :系統啟動時的啟動菜單,指出要加載的內核鏡像和inird 鏡像,然后引導。
vmlinuz :Linux內核
initrd.img :初始化鏡像文件,存放了引導時的一些驅動程序 解壓
tftp服務端 ,默認提供請求的文件目錄/var/lib/tftpboot內。
syslinux程序的相關文件目錄:/usr/share/syslinux之中。
4.工作過程文本解釋:
工作站開機后, PXE BootROM(自啟動芯片) 獲得控制權之前先做自我測試,然后以廣播形式發出一個請求 FIND 幀。如果服務器收到工作站所送出的要求, 就會送回 DHCP 回應, 內容包括分配的 IP 地址,及pxe引導程序名稱,以及下載的地址。 否則, 服務器會忽略這個要求。
工作站收到服務器發回的響應后則會回應一個幀,以請求傳送啟動所需的文件。 之后,將有更多的訊息在工作站與服務器之間作應答, 用以決定啟動參數。
BootROM 由 TFTP 通訊協議從服務器下載開機映像, 這個映像就是系統的映象文件。工作站使用 TFTP 協議接收啟動文件后,將控制權轉交啟動引導程序,引導操作系統,完成遠程啟動
4.PXE架構 安裝xinetd DHCP vsftpd程序
首先安裝基於UDP協議的TFTP服務端,來進行后期的簡單文件的網絡傳輸。
服務器通過 TFTP(Trivial File Transfer Protocol)簡單文件傳輸協議提供引導鏡像文件的下載
1.安裝xinetd程序,為tftp服務提供支持,並進行配置
yum –y install xinetd
yum -y install tftp-server --前面已安裝過了
vim /etc/xinetd.d/tftp ---編輯配置文件
修改為: wait = no (等待) disable = no (使不能)
啟動tftp服務
systemctl start xinetd
systemctl start tftp.socket ---啟動服務
2.在tftp根路徑導入需要提供給工作站的引導文件和內核文件 進入目錄查看權限 改為644
cd /media/cdiso/isolinux/
移動這三項到 /var/lib/tftpboot
cp initrd.img vmlinuz isolinux.cfg /var/lib/tftpboot/
vmlinuz :Linux內核
initrd.img 鏡像文件系統
isolinux.cf 啟動菜單
cd /var/lib/tftpboot
查看權限 如果不是644則改為644權限 chmod 644 isolinux.cf
##
對比鏡像中 initrd.img vmlinuz 文件內容的區別
cd /media/cdiso/images/pxeboot -- 進入這個掛載
ls -lh initrd.img vmlinuz /media/cdiso/isolinux/initrd.img /media/cdiso/isolinux/vmlinuz
安裝syslinux 在tftp根路徑導入 提供給客戶端的pxe引導程序文件pxelinux.0
yum -y install syslinux --安裝軟件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ --復制文件
cd /var/lib/tftpboot/ -查看
4.啟動菜單配置 vim /var/lib/tftpboot/isolinux.cfg
vim isolinux.cfg
default linux 默認選擇的是linux lable
prompt 0
timeout 30
5.創建pxelinux.cfg目錄,並將isolinux.cfg引導鏡像菜單文件進行重命名為默認名稱default
mkdir pxelinux.cfg
mv isolinux.cfg ./pxelinux.cfg/default 移動到這個目錄下
6.安裝配置dhcp服務,動態為新的客戶機分配IP地址以及將pxe的引導程序文件基於UDP傳輸給客戶機
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf ---修改DHCP配置文件,增加地址池
# A slightly different configuration for an internal subnet.
subnet 192.168.10.0 netmask 255.255.255.0 { 分配的網段
range 192.168.10.11 192.168.10.150; 分配的ip范圍
option domain-name-servers 8.8.8.8; dns
option domain-name "ujiuye.com"; 域名
option routers 192.168.10.10; 網關
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.10.10; 支持tftp的ip需要到下一台某一天機器下載的文件
filename "pxelinux.0" ; 網絡啟動的依賴程序下載的文件名稱
啟動服務systemctl start dhcpd
查看端口netstat -antulp | grep :67
7.安裝vsftpd服務,提供在客戶機pxe引導成功之后進行安裝操作系統的程序源包 掛載光盤之/var/ftp/centos/
yum -y install vsftpd ---安裝vsftpd服務
cd /var/ftp/
mkdir centos ---創建掛載目錄
mount /dev/cdrom /var/ftp/centos ---掛載光盤
或者將光盤內容復制到 /var/ftp/centos/
cp -rfp /media/cdrom/* /var/ftp/centos/
啟動服務 systemctl start vsftpd
查看服務ftp://192.168.10.10/centos
5.kickstart無人值守安裝
1.示意圖
2.安裝kickstart程序
1.要實現kickstart無人值守安裝,源服務器可以使用圖形界面配置kickstart腳本。
2.安裝kickstart程序
yum -y install system-config-kickstart
3.修改yum配置環境修改標簽
會出現這樣錯誤, 所以去修改本地yum源
cd /etc/yum.repos.d/
vim CentOS-Base.repo
標簽修改為 [development] -這樣就會顯示 軟件包選擇
4.重啟服務system-config-kickstart完成配置 然后移動ks.cfg
system-config-kickstart --在虛擬機內,遠程終端不可以
執行完 啟動服務完成配置后 生成一個ks.cfg的文件 將其放在root下 然后復制到ftp分享的目錄
cp ks.cfg /var/ftp/ ---復制ks.cfg文件到 ftp分享目錄下
cd /var/ftp/ ---ftp分享的目錄
修改默認的default文件中 指引向自動部署的腳本文件路徑
cd /var/lib/tftpboot/ --進入腳本
cd pxelinux.cfg/ --進入default
vim default -- 修改 添加inst.ks=ftp://192.168.10.10/ks.cfg
append initrd=initrd.img inst.ks=ftp://192.168.10.10/ks.cfg quiet
修改完 去創建新虛擬機測試
system-config-kickstart --在虛擬機內,遠程終端不可以
1.基本配置 設置語言中文簡體 鍵盤英語美國 時區上海 設置密碼 安裝后重啟
安裝方法 執行全新安裝 FTP的ip和共享目錄
引導裝載程序選項
分區設置
網絡配置 可不寫
驗證 可忽略
關閉防火牆
顯示設置
軟件包選擇 開發工具 圖形界面
預安裝腳本 是安裝之前 要執行的腳本
安裝后腳本 是安裝之后 要執行的腳本
保存 保存到root下 文件名為ks.cfg
5.安裝虛擬機
重啟服務關閉防火牆保證網絡環境干凈
systemctl restart dhcpd
systemctl restart vsftpd
systemctl restart xinetd
systemctl restart tftp.socket
iptables -F
iptables -X
iptables -Z
systemctl stop firewalld
setenforce 0
安裝完之后
1 回車
2 回車
C
C