概要
pxe:
网卡支持网络引导;
dhcp, filename, next-server
tftp-server
pxelinux.0
vmlinuz, initrd.img
menu.c32
pxelinux.cfg/default
system-config-kickstart
ksvalidator
相关技术
DHCP:
DHCP: Dynamic Host Configuration Protocol
IP/Netmask
Gateway
DNS Server
bootp: boot protocol --> dhcp
租约:
2hours:
50%: 1hours --> 2hours
50%:1hours --> 2hours
75%: 0.5hours --> 2hours
87.5%: 0.25hours --> 2hours
dhcp discover
1、Client: dhcp discover:发现
2、Server: dhcp offer:(IP/netmask, gw)
3、Client:dhcp request
4、Server: dhcp ack
续租:
Client: dhcp request
Server: dhcp ack
Server: dhcp nak
Linux DHCP协议的实现程序:dhcp, dnsmasq
dhcp:
/usr/sbin/dhcpd
/etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd
/etc/dhcp/dhcpd6.conf --> /etc/rc.d/init.d/dhcpd6
/usr/sbin/dhcrelay
/etc/rc.d/init.d/dhcrelay
67/udp
dhclient: 68/udp
dhcpd.conf:
subnet {
...
}
host {
}
~]# cat /var/lib/dhcpd/dhcpd.leases
地址分配记录
其它配置选项:
filename: 指明引导文件名称;
next-server:提供引导文件的服务器IP地址;
filename "pxelinux.0";
next-server 172.16.100.67;
PXE:preboot execute environment, Intel
dhcp, tftp, file server(yum repository)
CentOS 6 PXE:
yum -y install syslinux tftp-server
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /media/cdrom/images/pxelinux/{vmlinuz,initrd.img} /var/lib/tftp/boot/
cp /media/cdrom/isolinux/{boot.cfg,vesamenu.c32,splash.png} /var/lib/tftp/boot/
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default/
CentOS 7 PXE:
yum -y install syslinux tftp-server
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /media/cdrom/images/pxelinux/{vmlinuz,initrd.img} /var/lib/tftp/boot/
cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg/
创建/var/lib/tftpboot/pxelinux.cfg/default
内容类似如下:
default menu.c32
prompt 5
timeout 30
MENU TITLE CentOS 7 PXE Menu
LABEL linux
MENU LABEL Install CentOS 7 x86_64
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://172.16.100.67/centos7 ks=http://172.16.100.67/centos7.cfg