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.178linux.com/91154