以下所有操作都是在Red-hat 7.0上
1.pxe的簡單介紹
PXE(preboot execute environment,預啓動執行環境),工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網絡啓動操作系統,在啓動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。
2.pxe的工作流程
1.客戶機從自己的PXE網卡啓動,向本網絡中的DHCP服務器索取IP
2.DHCP服務器返回分給客戶機IP以及bootstrap文件的放置位置(該文件一般是放在一臺TFTP服務器上)
3.客戶機向本網絡中的TFTP服務器索取bootstrap文件
4.客戶機取得bootstrap文件後之執行該文件
5.根據bootstrap的執行結果,通過TFTP服務器加載內核和文件系統
6.進入安裝畫面, 此時可以通過選擇FTP,HTTP,NFS方式之一進行安裝(常用HTTP)
3.pxe具體配置流程
1.需要安裝的服務
yum install httpd tftp-server dhcp syslinux -y
httpd ##共享安裝資源
dhcp ##分配ip以及讓客戶主機獲取pexlinux.0文件
pxelinux.0 ##預安裝環境頭文件,用來指定讀取後續文件的程序
tftp-server ##提供tftp協議,令客戶主機可以讀取到預安裝環境
syslinux ##提供pxelinux.0文件
2.啓用服務
1)關閉防火牆
systemctl stop firewalld
systemctl disable firewalld ##下次啓動不啓動防火牆
2)打開http服務
systemctl start httpd
systemctl enable httpd ##下次默認打開防火牆
3)開啓tftp服務:
[root@localhost ~]# netstat -anutlpe | grep xinetd
[root@localhost ~]# vim /etc/xinetd.d/tftp
14 disable = no ##打開tftp服務
[root@localhost ~]# systemctl restart xinetd.service
[root@localhost ~]# netstat -anutlpe | grep xinetd
udp 0 0 0.0.0.0:69 0.0.0.0:* 0 92471 5130/xinetd
4)啓用dhcp服務
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf ##製作dhcp配置文件
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y ##按y,確定創建dhcp配置文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf (將36行之後都刪除掉)
1 option domain-name “example.com”; ##客戶主機域名
2 option domain-name-servers 172.25.254.254; ##客戶主機獲得到的dns
3 default-lease-time 600; ##默認租約期
4 max-lease-time 7200; ##最長租約期
5 log-facility local7; ##日誌級別
6 subnet 172.25.254.0 netmask 255.255.255.0 { ##網段,子網掩碼
7 range 172.25.254.77 172.25.254.88; ##ip地址池
8 option routers 172.25.254.250; ##客戶主機獲得到的網關
9 filename “pxelinux.0”; ##客戶主機獲得到的預安裝環境頭文件
10 next-server 172.25.254.139; ##指定頭文件所在主機的ip
11 }