歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 搭建PXE服務器安裝Linux系統

搭建PXE服務器安裝Linux系統

日期:2017/2/28 13:43:28   编辑:Linux教程

PXE是在沒有軟驅、硬盤、CD-ROM的情況下引導計算機的一種方式,也就是BIOS將使用PXE協議從網絡引導。

DHCP服務器:用來動態分配IP地址(同時分配子網掩碼、網關、TFTP服務器地址、啟動文件名、DNS服務器、時間服務器等等)。

TFTP服務器:用來提供啟動文件的下載

簡單說來,PXE服務器就是DHCP服務器+TFTP服務器。網絡啟動過程大概是這樣的(可能並不嚴謹):客戶端發送動態獲得IP地址的廣播包到 網絡上,DHCP服務器在收到該廣播包後,發送給客戶端分配IP地址的回應包,客戶端收到回應包後設置自己的IP地址,然後從DHCP服務器獲得啟動服務 器的IP地址(DHCP服務器066選項,這就是TFTP服務器的IP地址)及啟動文件名(DHCP服務器067選項,這裡的啟動文件名就是 pxelinux.0或者支持pxe的grub4dos的grldr,當然,也可以是startrom.n12或者使用3com Image Edit創建的pxe啟動菜單文件,總之,它應該是一種由pxe啟動規范規定的固定格式的可執行文件),然後客戶端到聯系啟動服務器(TFTP服務器)獲 得啟動文件並執行,這樣基本上就完成了pxe啟動過程。

在Unix或者Linux系統下,DHCP服務器和TFTP服務器一般都是分開設置的,兩台服務器甚至可以在兩台不同的機器上,其實 Windows下的設置也是一樣的,但在Windows下,我們可以通過使用HaneWin DHCP服務器軟件或TFTPD32一個軟件就搞定(我個人推薦使用HaneWin DHCP服務器軟件,但TFTPD32設置起來更簡單一些,就是效率有些低),詳細的設置方法請自己摸索,你只要知道,在設置PXE服務器時,要設置好 DHCP和TFTP兩個服務器,其中DHCP服務器要設置啟動服務器名和啟動文件名。

搭建環境:

推送服務器:

Ip:192.168.189.138

系統:CentOS 5.8

推送系統:RHEL 5.4

1:配置dhcpd服務。

如果沒有安裝dhcpd服務,請安裝:

# yum -y install dhcp.x86_64
# vi /etc/dhcpd.conf
option domain-name "766.com";
default-lease-time 6000;
max-lease-time 11400;
authourtative;
next-server 192.168.189.138;
ddns-update-style ad-hoc;
log-facility local7;
subnet 192.168.189.0 netmask 255.255.255.0{
range 192.168.189.150 192.168.189.195;
option domain-name-servers 192.168.189.254;
option domain-name "766.com";
option netbios-name-servers 192.168.189.254;
option routers 192.168.189.254;
option broadcast-address 192.168.189.255;
default-lease-time 6000;
max-lease-time 11400;
filename "/kickstart/ks.cfg";
}


option space PXE;

class "PXE" {
match if substring(optionvendor-class-identifier, 0, 9) = "PXEClient";
optionvendor-encapsulated-options 01:04:00:00:00:00:ff;
option boot-size 0x1;
filename"pxelinux.0";
option tftp-server-name "192.168.189.138";
option vendor-class-identifier"PXEClient";
vendor-option-space PXE;
}

2:開啟tftp服務:

如果沒有tftp服務軟件,請安裝:

# yum -y installtftp.x86_64
# yum -y installxinetd.x86_64
# yum -y installtftp-server.x86_64

配置tftp
# vi/etc/xinetd.d/tftp
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
}

3:准備推送所需的文件與目錄。

把光盤或iso文件中的isolinux目錄下的文件,拷貝到/tftpboot。

把pxelinux.0文件拷貝到/tftpboot:

# cp /usr/lib/syslinux/pxelinux.0 /tftpboot

創建RHEL5.4目錄,把initrd.img、vmlinuz兩個文件拷貝進去:

# mkdir -p /tftpboot/RHEL5.4
# mv /tftpboot/initrd.img /tftpboot/RHEL5.4
# mv /tftpboot/vmlinuz /tftpboot/RHEL5.4

創建pxelinux.cfg目錄,把isolinux.cfg文件拷貝進去,並改名default:

# mv isolinux.cfg pxelinux.cfg/default

修改default文件參數
# vi /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label RHEL5.4
kernel RHEL5.4/vmlinuz
append ksdevice=eth0 load_ramdisk=1 initrd=RHEL5.4/initrd.img noipv6

配置boot.msg,添加加載選項:

# vi /tftpboot/boot.msg
Install RHEL5.4 ---> RHEL5.4

4:提供安裝鏡像或者內容,這裡使用nfs方式。

把光盤鏡像或內容拷貝到/home/RedHat下。

使用nfs方式,把/home/redhat共享給192.168.189.0/24網段:

# vi/etc/exports
/home/redhat 192.168.189.0/24(rw,async,no_root_squash)

5:啟動各個所需服務,並測試安裝。

# service dhcpd start
# service xinetd start
# service nfs start


啟動計算機,F12,選擇從網卡啟動,正常的話則可進入安裝引導界面:

寫入RHEL5.4,進入安裝。

選擇安裝介質獲取方式,選擇nfs:

填寫服務器ip與介質路徑:

進入圖形安裝界面,說明可以安裝了:

使用ks文件實現全自動安裝:

使用system-config-kickstart創建ks文件模版(system-config-kickstart無法創建LVM,若要使用LVM,許在生成ks文件後,手動編輯)

LVM配置:

partpv.01 --size=10000 --grow
volgroupvg-001 pv.01
logvol/ --vgname=vg-001 --size=10000 --name=lv-001

ks文件中指定了鍵盤,語言,安裝方式,分區等配置。

配置default文件,指定ks文件路徑(可用nfs,ftp等方式):

append ksdevice=eth0 load_ramdisk=1 initrd=RHEL5.4/initrd.img ks=nfs:192.168.189.138:/home/redhat/ks.cfg noipv6

啟動客戶端,測試自動安裝。

更多RedHat相關信息見RedHat 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=10

Copyright © Linux教程網 All Rights Reserved