PXE(集成在網卡上的)
預啟動執行環境 (能夠通過網絡實現操作系統安裝)
PXE工作原理
1、Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC地址),如果合法則返回Client的IP地址,同時將啟動文件pxelinux.0的位置信息一并傳送給Client
2、Client向PXE Server上的TFTP發送獲取pxelinux.0請求消息,TFTP接收到消息之后再向Client發送pxelinux.0大小信息,試探Client是否滿意,當TFTP收到Client發回的同意大小信息之后,正式向Client發送pxelinux.0
3、Client執行接收到的pxelinux.0文件
4、Client向TFTP Server發送針對本機的配置信息文件(在TFTP 服務的pxelinux.cfg目錄下),TFTP將配置文件發回Client,繼而Client根據配置文件執行后續操作。
5、Client向TFTP發送Linux內核請求信息,TFTP接收到消息之后將內核文件發送給Client
6、Client向TFTP發送根文件請求信息,TFTP接收到消息之后返回Linux根文件系統
7、Client啟動Linux內核
8、Client下載安裝源文件,讀取自動化安裝腳本
下面以centos7的安裝為例說明實現步驟:
此例子中dhcp服務端ip為192.168.27.128
安裝前準備:
1、關閉防火墻和SELINUX
2、DHCP服務器靜態IP
安裝軟件包
httpd ??tftp-server ??dhcp ??syslinux ? ?system-config-kickstart
配置文件共享服務:
systemctl enable httpd
systemctl start httpd
mkdir /var/www/html/centos/7
mount /dev/sr0/var/www/html/centos/7
準備kickstart文件
/var/www/html/ksdir/ks7-mini.cfg ?#注意文件權限,權限不足,會導致安裝過程中無法獲取文件
cdrom更改為 url –url=http://192.168.27.128/centos/7
firewall –disabled
selinux –disabled
把安裝方式更改為文本
text
reboot
把網絡設為on
zerombr
更改clearpart –all –initlabel
配置tftp服務
客戶端連接時,默認訪問的就是/var/lib/tftpboot/目錄
systemctl enable tftp.socket
systemctl start tftp.socket
配置DHCP服務
vim /etc/dhcp/dhcpd.conf
option domain-name “example.com”;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.27.0 netmask 255.255.255.0 {
range 192.168.27.100 192.168.27.200;
filename “pxelinux.0”;
next-server 192.168.27.128;
}
systemctl enable dhcpd
systemctl start dhcpd
準備相關文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
#也可以用vesamenu.c32,不同的菜單風格
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /misc/cd/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default
準備啟動菜單
Vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title PXE INSTALL MENU
label auto
menu label Install ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.128/ksdir/ks7-mini.cfg
label manual
menu label Install ^Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.128/ksdir/ks7-desktop.cfg
label local
menu default
menu label ^Boot from local drive
localboot 0xffff
至此所有步驟完成,在安裝系統的時候就可以選擇從網絡引導自動安裝系統了
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91154