2021-05-12 14:32:11
搭建PXE伺服器安裝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
啟動用戶端,測試自動安裝。
相關文章