概述
PXE(Preboot Execution Environment)是一種計算機網(wǎng)絡(luò)協(xié)議,它允許計算機通過網(wǎng)絡(luò)從遠程服務(wù)器啟動和安裝操作系統(tǒng),而無需使用本地存儲設(shè)備。PXE網(wǎng)絡(luò)裝機是一種常見的自動化操作系統(tǒng)部署方式,特別適用于大規(guī)模計算機系統(tǒng)管理、服務(wù)器集群部署、虛擬化環(huán)境以及無人值守的安裝場景。
優(yōu)點
-
集中管理: 通過PXE網(wǎng)絡(luò)裝機,管理員可以集中管理操作系統(tǒng)鏡像、引導(dǎo)加載器和安裝文件。這樣可以確保所有部署的系統(tǒng)都使用相同的標準配置,減少了配置不一致性和混亂。
-
快速部署: 使用PXE網(wǎng)絡(luò)裝機,可以快速部署大量的計算機系統(tǒng)。無需為每臺計算機手動插入安裝介質(zhì),節(jié)省了大量時間。
-
減少硬件需求: 由于PXE網(wǎng)絡(luò)裝機使用網(wǎng)絡(luò)進行安裝,不需要物理介質(zhì)(如光盤或USB驅(qū)動器),從而節(jié)省了硬件成本和資源。
搭建需要滿足的需求
若要搭建 PXE 網(wǎng)絡(luò)體系,必須滿足以下幾個前提條件:
客戶端:
1.客戶機的網(wǎng)卡要支持PXE協(xié)議(集成BOOTROM芯片),且主板支持網(wǎng)絡(luò)引導(dǎo)。一般大多數(shù)服務(wù)器主機都支持,只需在BIOS設(shè)置中允許從 Network 或 LAN 啟動即可。
服務(wù)端:
2.網(wǎng)絡(luò)中有一臺 DHCP 服務(wù)器以便為客戶機自動分配地址、指定引導(dǎo)文件位置。
3.服務(wù)器要通過 TFTP服務(wù)(簡單文件傳輸協(xié)議)來提供系統(tǒng)內(nèi)核和引導(dǎo)鏡像文件的下載
搭建 PXE 遠程安裝服務(wù)器
1.安裝TFTP服務(wù)
yum -y install tftp-server xinetd
?2.修改TFTP服務(wù)的配置文件并啟動
vim /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.
service tftp
{
socket_type = dgram
protocol = udp
wait = no
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
?設(shè)置后啟動服務(wù)
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
安裝并且啟動DHCP服務(wù)
1.安裝DHCP
yum -y install dhcp
?2.修改DHCP配置文件并啟動服務(wù)
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf.bak
vim /etc/dhcp/dhcpd.conf
next-server 192.168.42.140;
filename "pxelinux.0";
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.122.1 netmask 255.255.255.255 {
}
subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.88 192.168.42.188;
option routers 192.168.42.140;
}
?修改完成文件后保存退出,啟動dhcp服務(wù)
systemctl start dhcpd
準備 Linux 內(nèi)核、初始化鏡像文件
打開虛擬機設(shè)置連接光盤鏡像
df -Th | grep /dev/sr0 #查看是否連接成功
mount /dev/sr0 /mnt #掛載光盤鏡像
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ #復(fù)制 Linux系統(tǒng)的內(nèi)核文件 到TFTP根目錄下
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ #復(fù)制 初始化鏡像文件(linux引導(dǎo)加載模塊)到TFTP根目錄下
?準備 PXE 引導(dǎo)程序
yum -y install syslinux #PXE引導(dǎo)程序由軟件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #復(fù)制 PXE引導(dǎo)程序 到TFTP根目錄下
?安裝FTP服務(wù),準備CentOS 7 安裝源
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
?配置啟動菜單文件
默認的啟動菜單文件在TFTP根目錄的 pxelinux.cfg子目錄下,文件名為default
mkdir /var/lib/tftpboot/pxelinux.cfg #需要在ftfpboot目錄下創(chuàng)建pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default #在pxelinux.cfg目錄下創(chuàng)建default并編輯配置文件
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.140/centos7 ks=ftp://192.168.42.140/ks.cfg
#圖形安裝(默認)引導(dǎo)入口
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.140/centos7
#文本安裝引導(dǎo)入口
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.140/centos7
#救援模式引導(dǎo)入口
?關(guān)閉防火墻,驗證 PXE 網(wǎng)絡(luò)安裝
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
以上?PXE 網(wǎng)絡(luò)安裝已經(jīng)部署完成,如果要實現(xiàn)自動化安裝請繼續(xù)往下看
自動化安裝linux系統(tǒng)
1.安裝 system-config-kickstart 工具
yum install -y system-config-kickstart
2.打開“Kickstart 配置程序”窗口
通過桌面菜單“應(yīng)用程序”-->“系統(tǒng)工具”-->“Kickstart” 打開
?3.配置kickstart選項
/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘[local]
name=local
baseurl=ftp://192.168.42.140/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo
?4.保存配置文件?
點擊左上角文件然后保存到/root下
保存完成后將 /root/ks.cfg 復(fù)制到?/var/ftp/
然后配置需要安裝的軟件包
cp /root/ks.cfg /var/ftp/ks.cfg
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
?然后修改?TFTP 配置文件,添加以下內(nèi)容
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.140/centos7 ks=ftp://192.168.42.140/ks.cfg
#添加 ks 引導(dǎo)參數(shù)以指定 ks.cfg 應(yīng)答文件的 URL 路徑
修改文件權(quán)限?
chmod 777 /root/ks.cfg
chmod 777 /var/ftp/ks.cfg
?
5.驗證無人值守安裝
當客戶機每次以PXE方式引導(dǎo)時,將自動下載ks.cfg應(yīng)答配置文件,然后根據(jù)其中的設(shè)置安裝CentOS 7 系統(tǒng),而無須手工干預(yù)。
?然后開啟虛擬機會自動安裝無需我們做任何事情,直到安裝結(jié)束
?進登入界面后使用root用戶登入,密碼是我們Kickstart 配置文件里的密碼
文章來源:http://www.zghlxwxcb.cn/news/detail-761073.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-761073.html
到了這里,關(guān)于搭建PXE網(wǎng)絡(luò)裝機服務(wù)器(實驗詳解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!