一.PXE
注意:安裝前 selinux 禁用,iptables 關閉 dhcp 服務器靜態IP地址
1.PXE的工作原理:
Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合法(主要是檢測Client的網卡MAC
地址),如果合法則返回Client的IP地址,同時將啟動文件pxelinux.0的位置信息一并傳送給Client
Client向PXE Server上的TFTP發送獲取pxelinux.0請求消息,TFTP接收到消息之后再向Client發送pxelinux.0大小
信息,試探Client是否滿意,當TFTP收到Client發回的同意大小信息之后,正式向Client發送pxelinux.0
2.基于pxe自動化安裝所需的組件
(1)DHCP 服務器
需要在subnet配置中配置參數
filename “”; 基于網卡引導時要加載的initial boot file的文件名;
next-server HOST; 要是一個tftp-servr,簡單文件傳輸協議
(2) tftp-server服務
一般該服務器僅用于PXE預引導加載環境。用于提供預引導加載文件pxelinux.0的讀取。
服務啟動運行方式:
CentOS6:
# chkconfig tftp on
# service xinetd restart
CentOS7:
# systemctl start tftp.socket
(3)syslinux包
(4) file server(yum repository)yum倉庫
3.安裝服務
(1)首先要安裝 dhcp tftp syslinux
yum install dhcp tftp-server httpd syslinux
(2)啟動服務
systemctl enable dhcpd.service tftp.service httpd
systemctl start tftp
systemctl start httpd
(3)查看是否是69 端口
ss -nulp 69
4 配置dhcp.conf 文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 192.168.8.0 netmask 255.255.255.0 {
range 192.168.8.180 192.168.8.200;
option routers 192.168.8.1;
option domain-name-servers 223.5.5.5,223.6.6.6;
filename “pxelinux.0”;
next-server 192.168.8.133;
}
啟動服務
systemctl start dhcpd
5.掛載鏡像準備Yum安裝源和kickstart文件
mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7
ks文件
mkdir /var/www/html/ks
cp /root/anaconda-ks.cfg /var/www/html/ks/centos7.cfg
vim /var/www/html/ks/centos7.cfg
url –url=http://192.168.8.133/centos7
text
reboot.
6.創建pxelinux.cfg 文件.拷貝鏡像文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /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 CentOS Linux 7 Install Menu
label automini
menu label ^Automatic Mini Install CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.8.133/ks/centos7.cfg
label autodesktop
menu label Automatic ^Desktop Install CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.8.133/ks/centos7-2.cfg
label manual
menu label ^Manual Install CentOS 7
kernel vmlinuz
append initrd=initrd.img
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
原創文章,作者:gd1479,如若轉載,請注明出處:http://www.www58058.com/82375