您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux系統(tǒng)下PXE服務(wù)器的詳細(xì)部署過程”,在日常操作中,相信很多人在Linux系統(tǒng)下PXE服務(wù)器的詳細(xì)部署過程問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Linux系統(tǒng)下PXE服務(wù)器的詳細(xì)部署過程”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
在大規(guī)模安裝服務(wù)器時(shí),需要批量自動(dòng)化方法來安裝服務(wù)器,來減少日常的工作量.
但是批量自動(dòng)化安裝服務(wù)器的基礎(chǔ)是網(wǎng)絡(luò)啟動(dòng)服務(wù)器(bootserver).
下面我們就介紹一下 網(wǎng)絡(luò)啟動(dòng)服務(wù)器的 安裝和配置方法,供大家實(shí)踐之用!
1. 本文用到的術(shù)語解釋
PXE
PXE(Pre-boot Execution Environment)是由Intel設(shè)計(jì)的協(xié)議,它可以使計(jì)算機(jī)通過網(wǎng)絡(luò)而不是從本地硬盤、光驅(qū)等設(shè)備啟動(dòng)。現(xiàn)代的網(wǎng)卡,一般都內(nèi)嵌支持PXE的ROM芯片。當(dāng)計(jì)算機(jī)引導(dǎo)時(shí),BIOS把PXE client調(diào)入內(nèi)存執(zhí)行,并顯示出命令菜單,經(jīng)用戶選擇后,PXE client將放置在遠(yuǎn)端的操作系統(tǒng)通過網(wǎng)絡(luò)下載到本地運(yùn)行.
DHCP
DHCP(Dynamic Host Control Protocol) 動(dòng)態(tài)主機(jī)控制協(xié)議.用于集中、動(dòng)態(tài)的給客戶機(jī)分配IP地址.
TFTP
TFTP(trivial file transfer protocol),一種開銷很小的文件傳輸協(xié)議,語法類似ftp.因簡(jiǎn)單、高效,常用于網(wǎng)絡(luò)設(shè)備的OS和配置更新.
2. PXE 原理
2.1. PXE Client Api (架構(gòu))
圖 PXE API架構(gòu)圖。(圖片來源:PXE Specification Version 2.1)
上圖說明: 當(dāng)BIOS把PXE Client載入記憶體,此時(shí)便具有DHCP Client及TFTP Client的能力。
PXE Client具備DHCP Client能力,可以透過DHCP Server來取得IP位址。
PXE Client具備TFTP Client能力”,可通過TFTP來下載kernel image等文件。
2.2. PXE啟動(dòng)流程圖(pxe boot)
上圖啟動(dòng)流程說明如下:
PXE Client 向 UDP 67端口 廣播 DHCPDDISCOVER 消息.
DHCP SERVER 或者 DHCP Proxy 收到廣播消息后,發(fā)送DHCPOFFER(包含ip地址)消息 到 PXE Client的 68 端口.
PXE Client 發(fā)送 DHCPREQUEST 消息到 DHCP SERVER ,獲取啟動(dòng)文件(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會(huì)按照自己默認(rèn)的方式從TFTP SERVER中下載其他所需的配置文件.
這個(gè)時(shí)候 PXE 啟動(dòng)流程已經(jīng)完成了,剩下的工作都是有NBP來執(zhí)行完成的.
例如: pxelinux.0(NBP) 他會(huì)下載 default 配置文件,來顯示菜單,根據(jù)需要啟動(dòng)不同的kernel image.
如果是RIS(window安裝)的NBP,會(huì)啟動(dòng) Windows boot loader 來執(zhí)行安裝部署widows任務(wù).
3. PXE BOOT Server 配置過程
以下配置和測(cè)試 都是在 Centos5 上完成的,其他系統(tǒng)請(qǐng)酌情參考!
3.1. DHCP的安裝與配置
在PXE引導(dǎo)過程中,PXE Client通過DHCP Server 獲取ip地址,NBP文件名稱,然后從TFTP SERVER 下載NBP文件并在客戶端執(zhí)行,從而啟動(dòng)計(jì)算機(jī)。
請(qǐng)確認(rèn)系統(tǒng)中安裝 dhcp 軟件包
編輯 /etc/dhcpd.conf 配置文件,配置文件內(nèi)容如下
代碼如下:
[root@linux]# cat /etc/dhcpd.conf
ddns-update-style interim;
allow booting; #定義能夠PXE啟動(dòng)
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"; 文件目錄是相對(duì)于 tftp 的根目錄(默認(rèn)是 /tftpboot),
所以文件的絕對(duì)路徑就是: /tftpboot/pxelinux.0";當(dāng)然也可以指定為其它的路徑.
配置完成后,重啟DHCP服務(wù),并將它設(shè)為開機(jī)自啟動(dòng)
代碼如下:
[root@linux]# /etc/init.d/dhcpd start
啟動(dòng) dhcpd: [確定]
[root@linux]# chkconfig --level 35 dhcpd on
3.2. 安裝配置TFTP服務(wù)器
在PXE引導(dǎo)過程中,PXE Client 使用TFTP協(xié)議從TFTP服務(wù)器下載bootstrap文件并執(zhí)行.
請(qǐng)確認(rèn)系統(tǒng)中安裝 tftp-server 軟件包
配置tftp服務(wù),tftp 服務(wù)由xinetd服務(wù)管理
編輯 /etc/xinetd.d/tftp 文件,將 disable = yes 改為:disable = no .配置文件內(nèi)容如下:
代碼如下:
[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服務(wù)器的根目錄是 /tftpboot,配置完成后重啟xinetd服務(wù),使TFTP服務(wù)器生效.
代碼如下:
[root@linux]# /etc/init.d/xinetd restart
bootstrap 文件配置 (NBP),這里使用 pxelinux.0
bootstrap文件由syslinux軟件包提供,我們只要安裝了syslinux,將 pxelinux.0 這個(gè)文件復(fù)制到 /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
默認(rèn)配置文件default,文件內(nèi)容如下、
代碼如下:
[root@linux]# cat /tftpboot/pxelinux.cfg/default
default linux # 默認(rèn)啟動(dòng)的是 'label linux' 中標(biāo)記的啟動(dòng)內(nèi)核
prompt 1 # 顯示 'boot: ' 提示符
timeout 60 # 等待超時(shí)時(shí)間,單位為 1/10 秒,超時(shí)后自動(dòng)啟動(dòng) 默認(rèn)指定的label
display boot.msg # 顯示boot.msg的內(nèi)容,文件路徑是相對(duì)tftp server 的根目錄(默認(rèn) /tftpboot),所以boot.msg文件絕對(duì)路徑在 /tftpboot/boot.msg .
F1 boot.msg # 按下'F1' 鍵后顯示的文件
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label 1 # 'label' 指定你在 'boot:' 提示符下輸入的關(guān)鍵字。
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
注意事項(xiàng): 默認(rèn) pxelinux.0 和 pxelinux.cfg 一定要在同一個(gè)目錄下
3.3. pxelinx.0(NBP)程序配置文件搜索順序
由于多個(gè)客戶端可以從一個(gè)PXE服務(wù)器引導(dǎo),PXE引導(dǎo)映像使用了一個(gè)復(fù)雜的配置文件搜索方式來查找針對(duì)客戶機(jī)的配置文件.
假設(shè) 客戶端服務(wù)器的網(wǎng)卡的MAC地址為 88:99:AA:BB:CC:DD ,對(duì)應(yīng)的IP地址為192.168.1.195,那么客戶端的pxelinux.0 程序 搜索順序如下:
首先以MAC地址為文件名匹配的配置文件,如果不存在,繼續(xù)查找.
其次以IP地址來查找.根據(jù)IP地址16進(jìn)制命名的配置文件查找,從小范圍到打大分為查找(子網(wǎng)掩碼由小到大),如果不存在,繼續(xù)查找.
最后嘗試default文件
總體來說,pxelinux.0 搜索的文件的順序是(可以通過tcpdum得到結(jié)果):
代碼如下:
/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
到此,關(guān)于“Linux系統(tǒng)下PXE服務(wù)器的詳細(xì)部署過程”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。