一、PXE概述:
PXE,Pre-boot-eXcution Environment
預啓動執行環境,在操作系統之前運行
可用於遠程安裝、構建無盤工作立
服務端
運行DHCP服務,用來分配地址、定位引導程序
運行TFTP服務器,提供引導程序下載
客戶端
網卡支持PXE協議
主板支持網絡啓動
二、PXE的優點:
規模化:同時配多臺服務器
自動化:安裝系統,配置各種服務
遠程實現:不需要光盤,U盤等安裝介質
三、服務部署要點:
1、DHCP服務(自動分配IP地址 定位引導文件)
next-server //指向TFTP路徑
filename //引導程序文件位置
2、TFTP服務(簡單文件傳輸協議) (UDP69端口 高效率 容量小)(引導程序pxelinnx.0(syslinux包),壓縮內核vmlinuz,系統初始化文件initrd.img,啓動菜單default)
3、FTP (vsftp) 文件傳輸協議 系統鏡像(centos7){安全 容量大 TCP 20(數據傳輸), 21(連接)}
4、安裝軟件包:dhcp, tftp-server, vsftp, syslinux
四、 實驗步驟:
1、以centos7作爲服務端,建立雙網卡模式,一塊網卡爲NAT連接模式,另一塊網卡爲僅主機連接模式。
2、執行“ cd /etc/sysconfig/network-scripts/ ”命令進入到配置文件目錄。
3、執行“cp -p ifcfg-ens33 ifcfg-ens36”命令複製ens33網卡的配置文件作爲ens36的配置文件,並執行“vim ifcfg-ens36”命令編輯配置文件。
4、修改ens36的配置文件內容。
5、使用“ yum install dhcp -y ”命令安裝dhcp服務軟件包。
6、安裝好服務後,使用“cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ”命令複製模板文件來作爲dhcp配置文件修改,執行“vim /etc/dhcp/dhcpd.conf”命令編輯配置文件。
7、在配置文件中寫入IP地址網段,子網掩碼,IP地址池範圍,網關(指向服務器IP地址),DNS服務器地址,TFTP服務路徑以及引導文件。
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.20 192.168.100.30;
option routers 192.168.100.100;
option domain-name-servers 114.114.114.114;
next-server 192.168.100.100;
filename "pxelinux.0";
}
8、使用“yum install syslinux -y ”命令安裝引導文件軟件包。
9、使用“rpm -ql syslinux | grep pxelinux.0”命令過濾查詢文件位置。
10、使用“yum install tftp-server -y”命令安裝TFTP軟件包。
11、使用“rpm -ql tftp-server”命令查詢服務的軟件包。
12、使用“cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot ”命令將引導文件複製到站點目錄中,執行“ls /var/lib/tftpboot/”命令即可查看站點內的文件。
13、使用“vim /etc/xinetd.d/tftp”命令編輯TFTP配置文件。
14、在配置文件中將“disable”條目後的“yes”改成“no”以啓動TFTP服務。
15、使用“yum install vsftpd -y ”命令安裝ftp服務軟件包。
16、使用“cd /var/ftp”命令進入站點目錄,執行“mkdir centos7”命令創建centos7目錄。
17、將鏡像文件放入驅動邊連接驅動。
18、使用“mount /dev/sr0 /var/ftp/centos7/”命令將鏡像文件直接掛載到centos7目錄中。
19、進入centos7/images/pxeboot/命令中可見系統初始化文件和壓縮內核文件。
20、使用“ cp initrd.img vmlinuz /var/lib/tftpboot/”命令複製系統初始化文件和壓縮內核文件到tftpboot目錄中。
21、使用“cd /var/lib/tftpboot/ ”命令進入tftpboot目錄,並執行“mkdir pxelinux.cfg ”命令創建pxelinux.cfg目錄。
22、使用“cd pxelinux.cfg/”命令進入目錄,並執行“vim default”編輯default啓動菜單。
23、在啓動菜單中寫入如下內容。
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.100/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
24、使用“systemctl stop firewalld.service”關閉防火牆;使用“setenforce 0”命令關閉增強型安全功能。
25、使用“systemctl start dhcpd”開啓dhcp服務;使用“systemctl start tftp”開啓tftp服務;再使用“systemctl start vsftpd”開啓ftp服務。
26、創建一臺無系統的虛擬主機。
27、在其開機加載時,安裝下Esc鍵進入到“Boot Menu”界面,選擇從網絡啓動。
28、在加載到“boot_”時按下回車鍵即可進入安裝引導。
然而PXE部署並不能完全解放雙手,下面我們來演示kickstart無人值守技術!
kickstart無人值守技術:
創建應答文件(ks.cfg),預先定義號各種安裝設置
免去交互設置過程,從而實現全自動化安裝
通過添加%post腳本,完成安裝後的各種配置操作
實驗步驟:
1、使用“yum install system-config-kickstart -y”命令安裝kickstart軟件包。
2、在圖形化界面裏打開應用程序中的kickstart進行配置。
3、在基本設置中選擇語言,時區;設定管理員密碼以及選擇安裝後重啓。
4、安裝方法選擇以FTP的方式,指定FTP服務器地址以及FTP目錄位置。
5、在分區信息中點擊添加,先創建/boot分區,並指定大小爲500MB。
6、創建/home分區,並指定大小爲4096MB。
7、創建swap分區,並指定大小爲4096MB。
8、最後創建/分區,並將磁盤上剩餘的使用空間都分配給它。
9、在網絡設置中,輸入網絡設備名稱“ens33”。
10、在防火牆配置中選擇禁用SELinux,安全級別默認禁用。
11、最後在安裝後腳本中,選擇“使用解釋程序”,並指定程序爲“/bin/bash”。
12、完成上述操作後點擊左上角的文件進行保存。
13、將文件保存到文件系統的/var/ftp目錄中。
14、使用“ls /var/ftp ”去到ftp目錄中可見保存的文件;執行“cd /root”命令進入root目錄可以看到名爲“anaconda-ks.cfg”的模板文件,執行“vim anaconda-ks.cfg”編輯該文件。
15、將文件中的軟件包條目複製。
16、使用“vim /var/ftp/ks.cfg”編輯應答文件。
17、在應答文件中粘貼先前複製的軟件包條目。
18、使用“cd /var/lib/tftpboot/pxelinux.cfg/” 命令進入pxelinux.cfg目錄,執行“vim default”編輯引導菜單文件。
19、追加“ks=ftp://192.168.100.100/ks.cfg”內容,以指定應答文件的路徑。
20、創建一臺無系統的虛擬主機。
21、在其開機加載時,安裝下Esc鍵進入到“Boot Menu”界面,選擇從網絡啓動。
22、即可實現PXE與kickstart結合的自動安裝。