什么是PXE?
PXE(preboot execute environment阔挠,預(yù)啟動執(zhí)行環(huán)境)是由Intel公司開發(fā)的技術(shù),工作于Client/Server的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠端服務(wù)器下載映像嘉汰,并由此支持通過網(wǎng)絡(luò)啟動操作系統(tǒng),在啟動過程中状勤,終端要求服務(wù)器分配IP地址鞋怀,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個啟動軟件包到本機內(nèi)存中執(zhí)行,由這個啟動軟件包完成終端(客戶端)基本軟件設(shè)置持搜,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)密似。
前期準備
- 掛載光盤鏡像
- 配置yum源(根據(jù)實際情況選擇配置)
- 關(guān)閉防火墻和selinux
介紹實驗步驟前先來簡單了解一下client通過PXE安裝系統(tǒng)的大致流程
1.client通過DHCP獲得IP
2.server接收到請求后,返回response葫盼,內(nèi)容包括分配的IP 地址残腌,預(yù)設(shè)網(wǎng)關(guān),及開機鏡像文件
3.client通過TFTP協(xié)議從server下載開機鏡像文件
4.client通過鏡像文件開機,并根據(jù)下載的文件安裝操作系統(tǒng)
實驗步驟
1.安裝并配置DHCP
yum - y install dhcp
systemctl start dhcpd
systemctl enable dhcpd
vim /etc/dhcpd/dhcpd.conf
#下面是我的配置文件
ddns-update-style none; #禁止更新DDNS
ignore client-updates; #忽略客戶端更新DNS
default-lease-time 259200; #設(shè)置租約為3天
max-lease-time 518400; #設(shè)置最大租約為6天
option routers 192.168.146.254; #設(shè)置網(wǎng)關(guān)
option domain-name "centos.ultraxia"; #設(shè)置域名
option domain-name-servers 114.114.114.114; #設(shè)置域名
subnet 192.168.146.0 netmask 255.255.255.0 {
range 192.168.146.101 192.168.146.200; #分配的IP范圍
host client {
hardware ethernet 00:50:56:a7:4a:a3; #client的MAC地址
fixed-address 192.168.146.120; #為client分配的IP
}
filename "pxelinux.0"; #設(shè)置啟動文件名废累,這一步很重要邓梅,否則client無法通過啟動文件獲取IP地址
2.配置tftp
yum install tftp-server
yum install tftp-client
yum -y install xinetd #守護進程
#無需修改配置文件
systemctl start tftpd
systemctl enable tftp
配置pxe啟動
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux.0
cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ #復(fù)制光盤目錄中的vmlinuz和initrd.img
cp /mnt/isolinux/{boot.msg,vesamenu.c32,splash.png} /var/lib/tftpboot/ #splash.png:背景圖. boot.msg啟動標語, vesamenu.c32: 顯示同行界面用的程序
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #pxe啟動時顯示配置文件信息
3.配置kickstart文件
cp /root/anaconda-ks.cfg /var/www/html
修改配置文件中的cdrom為url --url http://192.168.146.109/centos7
4.配置http或ftp做安裝文件倉庫和ks文件存儲
mkdir /var/www/html/centos7
mount /dev/cdrom /var/www/html/centos7/ #直接使用光盤的package當做安裝倉庫
cp /root/anaconda-ks.cfg /var/www/html/ #anaconda-ks.cfg文件所在目錄為http://192.168.146.109/anaconda-ks.cfg
5.配置default系統(tǒng)啟動文件執(zhí)行ks文件
var/lib/tftpboot/pxelinux.cfg/default
#以下為配置文件內(nèi)容
timeout =1
label linux
menu label ^Install CentOS 7
kernel vmlinuz
menu default
append initrd=initrd.img ?>inst.ks=http://192.168.146.109/anacondaks.cfg quiet
至此,server端的配置就已經(jīng)全部完成了
做這個實驗的時候邑滨,查閱了大量的資料后發(fā)現(xiàn)有時候會出現(xiàn)報錯日缨,因為具體的實驗環(huán)境不同,需要靈活變通掖看,現(xiàn)羅列一些需要注意的點
-
關(guān)于網(wǎng)絡(luò):
- 提供DHCP服務(wù)的server端匣距,IP應(yīng)設(shè)定為static
- 由于教室局域網(wǎng)內(nèi)已經(jīng)存在一臺DHCP服務(wù)器向?qū)W生機提供IP地址分發(fā)服務(wù),
所以需要在vSphere中新建一個虛擬網(wǎng)絡(luò)哎壳,并將自己的server機和client機放入同一虛擬網(wǎng)絡(luò)中 - 為了防止網(wǎng)絡(luò)沖突毅待,可以在DHCP配置中設(shè)定為指定MAC地址分配固定IP,詳情可見上方
dhcpd.conf
中host client
部分
關(guān)于anaconda-ks.cfg
anaconda-ks.cfg
文件記錄了安裝操作系統(tǒng)的配置信息,若不修改归榕,client則會安裝和server端配置一樣的系統(tǒng)尸红,可以修改配置文件內(nèi)容進行自定義安裝。也可以通過system-config-kickstart
命令開啟kickstart圖形化界面進行選擇刹泄,最后將/var/www
中的anaconda-ks.cfg
替換為kickstart生成的anaconda-ks.cfg
文件
寫在最后
也是第一次接觸PXE的安裝方式外里,有些理解或表達不到位的地方,歡迎各位在評論群指正特石。如果你在安裝過程中遇到什么問題盅蝗,也可以在評論區(qū)留言。