PXE
1. 什么是pxe?
預啟動執行環境(Preboot eXecution Environment,PXE)也被稱為預執行環境,提供了一種使用網絡接口(Network Interface)啟動計算機的機制。這種機制讓計算機的啟動可以不依賴本地數據存儲設備(如硬盤)或本地已安裝的操作系統。
2. pxe的優勢是什么?
1. 你現在有1臺電腦需要裝系統,那么很簡單,你拿上一個U盤安裝盤插在這臺電腦上,然后從U盤啟動,之后就可以手動安裝系統了;但如果你現在有100臺電腦,如果你在拿著一個U盤安裝盤一臺臺安裝,那效率肯定是太低了,這個時候PXE就派上用場了。
2. 某公司對信息安全要求比較高,需要使用無盤系統(系統不在本地電腦上,而在公司特定的服務器上),這個時候也需要使用PXE。
3. 你想要一臺遠程的電腦運行你手上特定的系統,這個時候你就可以在本地布置一個你手上的系統,然后通過PXE啟動你本地的系統(這個可能需要額外的支持,比如BMC,因為要遠程)。
3. pxe環境的組成?
簡化的組成
4. pxe工作的流程
版本一:
1. 服務器將環境搭建好
2. 裸機器選擇從網卡啟動,此時由于邏機器沒有ip,就會在局域網里面廣播,問別人要IP。
3. 如果局域網里面有DHCP服務器,收到消息后,就會分配一個IP給邏機器。此時邏機器和DHCP服務器都知道了彼此的Ip,這就為通信奠定了基礎。其實,擁有server服務器除了能將ip發給邏機器,還能發送其他內容給邏機器。例如將后續需要安裝的文件信息發給裸
機器。
4. 邏機器通過文件信息可以發送我們提前設置好的請求,然后server服務器的apache接收到請求,將指定目錄下的文件發送給裸機器,裸機器就拿到了安裝系統需要的文件和引導程序,根據引導程序去引導安裝對應的系統。
裸機器的網卡一般是Intel公司開發的,具備pxe網絡引導模塊的,這是個硬件功能,因此啟動網卡后,會自動的向局域網的DHCP服務器要IP。
版本二:
1. 客戶端從自己的pxe網卡啟動,向本網絡中的DHCP服務器要IP,并搜尋引導文件的位置,
2. DHCP服務器返給客戶機IP以及bootstrap文件的存放位置(該文件一般是放在一臺TFTP服務器上)
3. 客戶機向本網絡中的TFTP服務器索要bootstrap文件。
4. TFTP服務器同意后,客戶機下載到bootstrap文件。
5. 客戶機獲得bootstrap文件后執行該文件。
6. 根據bootstrap的執行結果,通過TFTP服務器加載內核和文件系統。
7. 進入安裝畫面,此時可以選擇FTP, HTTP, NFS方式之一進行安裝。
5. pxe服務器的搭建
除了3中提供的apache可以搭建共享服務器,通過http請求過去文件,還可以搭建ftp服務,也可以用于需要pxe服務器的主題下載引導程序以及系統文件。
6. 裸機器的啟動過程
啟動后進入bios,調整啟動模式,以 legacy為例
看到pxe選項,選擇對應的模式
ATA SSD:系統從固態硬盤啟動。
ATA HDD:系統從硬盤啟動,大家一般都是用得這種普通硬盤,固態硬盤市場價很貴。
ATAPI CD:系統從光驅啟動。
USB CD:系統從外接光驅啟動。
USB HDD:系統從外接存儲器啟動,硬盤,U盤等。
PCI LAN:系統從局域網啟動。 圖中就是這種模式啟動。
選擇PXE啟動之后進入如下的界面
向局域網廣播要ip,下圖表明向DHCP服務器要到了IP。
7. 網上實戰方法
實戰一:https://blog.csdn.net/weixin_32127359/article/details/112952696?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242
1. 配置dhcp服務器
由于PXE客戶機通常是尚未裝系統的裸機,因此為了如服務器取得聯系并正確下載相關引導文件,需要預先配置好DHCP服務來自動分配地址并告知引導文件的位置。
[root@localhost /]#yum -y install dhcp
[root@localhost /]#vim /etc/dhcp/dhcp.conf
ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option domain-name "benet.com";
option domain-name-servers 8.8.8.8;
subnet 192.168.122.0 netmask 255.255.255.0 {
option routers 192.168.122.1;
option subnet-mask 255.255.255.0;
range 192.168.122.100 192.168.122.200;
next-server 192.168.122.1; # 指定TFTP服務器的地址,告訴客戶機,要找bootstrap引導文件就到這里來。這些信息會和ip一起發送給客戶機。
filename "pxelinux.0"; # 指定PXE引導程序的文件名
}
2. 配置tftp服務器
TFTP服務的配置文件是/etc/xinetd.d/tftp,RedHat9 默認安裝已經生成了該文件
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
注明:這個文件基本上不用改動,但是需要注意的的是server_args= -s /tftpboot這一行,它的含義是將/tftpboot作為root目錄,這樣在dhcpd.conf中的filename一行就應該寫bootstrap的相對路徑: filename “pxelinux.0”,這是出于安全方面考慮的.如果你去掉了-s這個參數,那幺就要在filename一行指出bootstrap的絕對路徑: filename “/tftpboot/pxelinux.0”.注意,這里-s的內容會因為發行版的內容不同而不同,一般不用改動。
剩下的步驟鍵鏈接
實戰一總結:
1)網卡的client --->網卡rom---> 尋找dhcp服務器,由/etc/dhcp.conf得到ip和引導程序所在地點
2)有dhcp.conf(引導程序文件名)和tftp的配置(tftp跟路徑,里面有引導程序和系統初始化程序),得到引導程序pxelinux啟動文件的絕對路徑,運行引導程序,讀取啟動配置文件pxelinux.cfg/default,得到操作系統初始化的兩個相關文件
3)選擇安裝方式
客戶端廣播dhcp請求——服務器相應請求,建立鏈接——由dhcp和tftp配置得到ip還有引導程序所在地點——客戶端下載引導程序并開始運行——引導程序讀取
TODO
總結
- 上一篇: 一键拷贝路径一键拷贝路径设置
- 下一篇: 「offer来了」面试中必考的15个ht