這篇文章主要介紹“Linux系統(tǒng)下PXE服務器的詳細部署過程”,在日常操作中,相信很多人在Linux系統(tǒng)下PXE服務器的詳細部署過程問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux系統(tǒng)下PXE服務器的詳細部署過程”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
10年積累的成都網站設計、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有德州免費網站建設讓你可以放心的選擇與我們合作。
在大規(guī)模安裝服務器時,需要批量自動化方法來安裝服務器,來減少日常的工作量.
但是批量自動化安裝服務器的基礎是網絡啟動服務器(bootserver).
下面我們就介紹一下 網絡啟動服務器的 安裝和配置方法,供大家實踐之用!
1. 本文用到的術語解釋
PXE
PXE(Pre-boot Execution Environment)是由Intel設計的協(xié)議,它可以使計算機通過網絡而不是從本地硬盤、光驅等設備啟動?,F(xiàn)代的網卡,一般都內嵌支持PXE的ROM芯片。當計算機引導時,BIOS把PXE client調入內存執(zhí)行,并顯示出命令菜單,經用戶選擇后,PXE client將放置在遠端的操作系統(tǒng)通過網絡下載到本地運行.
DHCP
DHCP(Dynamic Host Control Protocol) 動態(tài)主機控制協(xié)議.用于集中、動態(tài)的給客戶機分配IP地址.
TFTP
TFTP(trivial file transfer protocol),一種開銷很小的文件傳輸協(xié)議,語法類似ftp.因簡單、高效,常用于網絡設備的OS和配置更新.
2. PXE 原理
2.1. PXE Client Api (架構)
圖 PXE API架構圖。(圖片來源:PXE Specification Version 2.1)
上圖說明: 當BIOS把PXE Client載入記憶體,此時便具有DHCP Client及TFTP Client的能力。
PXE Client具備DHCP Client能力,可以透過DHCP Server來取得IP位址。
PXE Client具備TFTP Client能力”,可通過TFTP來下載kernel image等文件。
2.2. PXE啟動流程圖(pxe boot)
上圖啟動流程說明如下:
PXE Client 向 UDP 67端口 廣播 DHCPDDISCOVER 消息.
DHCP SERVER 或者 DHCP Proxy 收到廣播消息后,發(fā)送DHCPOFFER(包含ip地址)消息 到 PXE Client的 68 端口.
PXE Client 發(fā)送 DHCPREQUEST 消息到 DHCP SERVER ,獲取啟動文件(boot file name).
DHCP SERVER 發(fā)送DHCPACK(包含Network Bootstrap Program file name)消息 到PXE Client.
PXE Client 向 Boot Server 獲取 NBP(Network Bootstrap Program) 文件.
PXE Client 從TFTP SERVER 下載 NBP,然后在客戶端執(zhí)行NBP文件
注意: 在NBP執(zhí)行初始化后,NBP會按照自己默認的方式從TFTP SERVER中下載其他所需的配置文件.
這個時候 PXE 啟動流程已經完成了,剩下的工作都是有NBP來執(zhí)行完成的.
例如: pxelinux.0(NBP) 他會下載 default 配置文件,來顯示菜單,根據(jù)需要啟動不同的kernel image.
如果是RIS(window安裝)的NBP,會啟動 Windows boot loader 來執(zhí)行安裝部署widows任務.
3. PXE BOOT Server 配置過程
以下配置和測試 都是在 Centos5 上完成的,其他系統(tǒng)請酌情參考!
3.1. DHCP的安裝與配置
在PXE引導過程中,PXE Client通過DHCP Server 獲取ip地址,NBP文件名稱,然后從TFTP SERVER 下載NBP文件并在客戶端執(zhí)行,從而啟動計算機。
請確認系統(tǒng)中安裝 dhcp 軟件包
編輯 /etc/dhcpd.conf 配置文件,配置文件內容如下
代碼如下:
[root@linux]# cat /etc/dhcpd.conf
dDNS-update-style interim;
allow booting; #定義能夠PXE啟動
allow bootp; #定義支持bootp
next-server 192.168.0.1; #TFTP Server的IP地址
filename "pxelinux.0"; #bootstrap 文件(NBP)
default-lease-time 1800;
max-lease-time 7200;
ping-check true;
option domain-name-servers 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.128 192.168.0.220;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
}
注意:在 /etc/dhcpd.conf 配置文件中 filename "pxelinux.0"; 文件目錄是相對于 tftp 的根目錄(默認是 /tftpboot),
所以文件的絕對路徑就是: /tftpboot/pxelinux.0";當然也可以指定為其它的路徑.
配置完成后,重啟DHCP服務,并將它設為開機自啟動
代碼如下:
[root@linux]# /etc/init.d/dhcpd start
啟動 dhcpd: [確定]
[root@linux]# chkconfig --level 35 dhcpd on
3.2. 安裝配置TFTP服務器
在PXE引導過程中,PXE Client 使用TFTP協(xié)議從TFTP服務器下載bootstrap文件并執(zhí)行.
請確認系統(tǒng)中安裝 tftp-server 軟件包
配置tftp服務,tftp 服務由xinetd服務管理
編輯 /etc/xinetd.d/tftp 文件,將 disable = yes 改為:disable = no .配置文件內容如下:
代碼如下:
[root@linux]# cat /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
注意:TFTP服務器的根目錄是 /tftpboot,配置完成后重啟xinetd服務,使TFTP服務器生效.
代碼如下:
[root@linux]# /etc/init.d/xinetd restart
bootstrap 文件配置 (NBP),這里使用 pxelinux.0
bootstrap文件由syslinux軟件包提供,我們只要安裝了syslinux,將 pxelinux.0 這個文件復制到 /tftpboot 目錄即可:
代碼如下:
[root@linux]# rpm -ql syslinux | grep "pxelinux.0"
/usr/lib/syslinux/pxelinux.0
[root@linux]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
配置 pxelinux.0(NBP) 使用的配置文件
接下來創(chuàng)建/tftpboot/pxelinux.cfg/ 目錄,該目錄用于存放客戶端的配置文件
代碼如下:
[root@linux]# mkdir /tftpboot/pxelinux.cfg
默認配置文件default,文件內容如下、
代碼如下:
[root@linux]# cat /tftpboot/pxelinux.cfg/default
default linux # 默認啟動的是 'label linux' 中標記的啟動內核
prompt 1 # 顯示 'boot: ' 提示符
timeout 60 # 等待超時時間,單位為 1/10 秒,超時后自動啟動 默認指定的label
display boot.msg # 顯示boot.msg的內容,文件路徑是相對tftp server 的根目錄(默認 /tftpboot),所以boot.msg文件絕對路徑在 /tftpboot/boot.msg .
F1 boot.msg # 按下'F1' 鍵后顯示的文件
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label 1 # 'label' 指定你在 'boot:' 提示符下輸入的關鍵字。
kernel linux/rh54-x86-32/vmlinuz
append initrd=linux/rh54-x86-32/initrd.img ramdisk_size=8192 ks=http://install.test.com/conf/ks_module.cfg ksdevice=link
label 2
kernel linux/rh54-x86-64/vmlinuz
append initrd=linux/rh54-x86-64/initrd.img ramdisk_size=8192 ks=http://install.test.com/conf/ks_module.cfg ksdevice=link
label 3
kernel linux/rh56-x86-64/vmlinuz
append initrd=linux/rh56-x86-64/initrd.img ramdisk_size=8192 ks=http://install.test.com/conf/ks_module.cfg ksdevice=link
label 4
kernel linux/rh56-x86-32/vmlinuz
append initrd=linux/rh56-x86-32/initrd.img ramdisk_size=8192 ks=http://install.test.com/conf/ks_module.cfg ksdevice=link
label 5
kernel image/linux/rh48-x86-32/vmlinuz
append initrd=image/linux/rh48-x86-32/initrd.img ramdisk_size=8192 ks=http://install.test.com/conf/ks_module.cfg ksdevice=link
label 6
kernel linux/rh48-x86-64/vmlinuz
append initrd=linux/rh48-x86-64/initrd.img ramdisk_size=8192 ks=http://install.test.com/conf/ks_module.cfg ksdevice=link
注意事項: 默認 pxelinux.0 和 pxelinux.cfg 一定要在同一個目錄下
3.3. pxelinx.0(NBP)程序配置文件搜索順序
由于多個客戶端可以從一個PXE服務器引導,PXE引導映像使用了一個復雜的配置文件搜索方式來查找針對客戶機的配置文件.
假設 客戶端服務器的網卡的MAC地址為 88:99:AA:BB:CC:DD ,對應的IP地址為192.168.1.195,那么客戶端的pxelinux.0 程序 搜索順序如下:
首先以MAC地址為文件名匹配的配置文件,如果不存在,繼續(xù)查找.
其次以IP地址來查找.根據(jù)IP地址16進制命名的配置文件查找,從小范圍到打大分為查找(子網掩碼由小到大),如果不存在,繼續(xù)查找.
最后嘗試default文件
總體來說,pxelinux.0 搜索的文件的順序是(可以通過tcpdum得到結果):
代碼如下:
/tftpboot/pxelinux.cfg/01-88-99-aa-bb-cc-dd
/tftpboot/pxelinux.cfg/C0A801C3
/tftpboot/pxelinux.cfg/C0A801C
/tftpboot/pxelinux.cfg/C0A801
/tftpboot/pxelinux.cfg/C0A80
/tftpboot/pxelinux.cfg/C0A8
/tftpboot/pxelinux.cfg/C0A
/tftpboot/pxelinux.cfg/C0
/tftpboot/pxelinux.cfg/C
/tftpboot/pxelinux.cfg/default
到此,關于“Linux系統(tǒng)下PXE服務器的詳細部署過程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網頁標題:Linux系統(tǒng)下PXE服務器的詳細部署過程
文章來源:http://www.rwnh.cn/article46/pgcohg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、、品牌網站制作、ChatGPT、微信公眾號、網站策劃
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)