哪个网站可以做设计比赛,网站定制制作公司,做视频网站广告收费,携程网建设网站的理由利用 PXE 实现自动化系统部署 PXE介绍 PXE#xff1a;Preboot Excution Environment#xff0c;预启动执行环境#xff0c;是由Intel公司研发#xff0c;基于Client/Server的网络模式#xff0c;支持远程主机通过网络从远端服务器下载映像#xff0c;并由此支持通过网络启…利用 PXE 实现自动化系统部署PXE介绍PXEPreboot Excution Environment预启动执行环境是由Intel公司研发基于Client/Server的网络模式支持远程主机通过网络从远端服务器下载映像并由此支持通过网络启动操作系统可以引导和安装Windowslinux等多种操作系统。PXE启动工作原理利用PXE实现自动化安装流程Client向PXE Server上的DHCP发送IP地址请求消息DHCP检测Client是否合法主要是检测Client的网卡MAC地址如果合法则返回Client的IP地址同时将启动文件pxelinux.0的所在TFTP服务器地址信息一并传送给Client。Client向TFTP服务器发送获取pxelinux.0请求消息TFTP服务器接收到消息之后向Client发送pxelinux.0大小信息试探Client是否满意当TFTP收到Client发回的同意大小信息之后正式向Client发送pxelinux.0。Client执行接收到的pxelinux.0文件并利用此文件启动。Client向TFTP 服务器发送请求针对本机的配置信息文件在TFTP 服务器的pxelinux.cfg目录下TFTP服务器将启动菜单配置文件发回Client继而Client根据启动菜单配置文件执行后续操作。Client根据启动菜单配置文件里的信息向TFTP发送Linux内核和initrd文件请求信息TFTP接收到消息之后将内核和initrd文件发送给Client。Client向TFTP发送根文件请求信息TFTP接收到消息之后返回Linux根文件系统。Client启动Linux内核,加载相关的内核参数。Client通过内核参数下载kickstart文件并根据kickstart文件里的安装信息下载安装源文件进行自动化安装。在Rocky9 上实现PXE自动化安装rocky9安装前准备关闭防火墙和SELINUXDHCP服务器静态IP。网络要求关闭Vmware软件中的DHCP服务基于NAT模式。示例[rootRocky ~]# yum install dhcp-server tftp-server httpd syslinux-nonlinux -y[rootRocky ~]# systemctl enable --now httpd tftp dhcpd配置dhcp服务[rootRocky ~]# vim /etc/dhcp/dhcpd.confoption domain-nameexample.org;option domain-name-servers223.5.5.5,114.114.114.114;default-lease-time600;max-lease-time7200;log-facility local7;subnet192.168.101.0 netmask255.255.255.0{range192.168.101.100192.168.101.200;option routers192.168.101.2;next-server192.168.101.19;filenamepxelinux.0;}准备相关目录[rootRocky ~]# mkdir -pv /var/www/html/rocky/9/os/x86_64/[rootRocky ~]# mount /dev/sr0 /var/www/html/rocky/9/os/x86_64/准备kickstart文件[rootRocky ~]# mkdir /var/www/html/ks/[rootRocky ~]# vim a.cfg# Network informationnetwork--bootprotodhcp--deviceens160--ipv6auto--activate# Use CDROM installation mediacdrom %packages# Use CDROM installation mediacdrom %packages network--hostnameRocky# Use CDROM installation mediacdrom network--hostnameRocky# Use CDROM installation media%packages ^minimal-environment standard %end# Run the Setup Agent on first bootfirstboot--enable# Generated using Blivet version 3.6.0ignoredisk --only-usesda# Partition clearing informationclearpart--none--initlabel# Disk partitioning informationpart /data--fstypexfs--ondisksda--size51200part /--fstypexfs--ondisksda--size102400part /boot--fstypexfs--ondisksda--size1024part swap--fstypeswap--ondisksda--size2048# System timezonetimezone Asia/Shanghai--utc# Root passwordrootpw--iscrypted$6$aGXglqz1YsyoNR49$MGdIO5Yn36hzTYDXFxAcR2Xi4c5FHOMuuvEVGlIffS9pfkhs5z3UIv24BKh2vP9tVCOWaNhGV7M/ec.G6HCmf. user--namer--password$6$hcGXX9Lxf1ao458C$WJUKYXyg1N1auKL1nYBpYWnVCFURsakFcTz5mk7lEXPbABwUkYPG.k0VDm4LcGqX8NjqV9ABDFseCJXCq6AQ.1--iscrypted--gecosr%post# 关闭防火墙systemctl disable firewalld systemctl stop firewalld# 禁用 SELinuxsed-is/^SELINUXenforcing$/SELINUXdisabled//etc/selinux/config setenforce0%enda.cfg58L, 1491B written[rootRocky ~]# cp a.cfg /var/www/html/ks/rocky.cfg准备PXE启动相关文件[rootRocky ~]# mkdir /var/lib/tftpboot/rocky9[rootRocky ~]# cp /var/www/html/rocky/9/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/rocky9/[rootRocky ~]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/[rootRocky ~]# cp /var/www/html/rocky/9/os/x86_64/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/[rootRocky ~]# mkdir /var/lib/tftpboot/pxelinux.cfg[rootRocky ~]# cp /var/www/html/rocky/9/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default[rootRocky ~]# tree /var/lib/tftpboot//var/lib/tftpboot/ ├── ldlinux.c32 ├── libcom32.c32 ├── libutil.c32 ├── menu.c32 ├── pxelinux.0 ├── pxelinux.cfg │ └── default └── rocky9 ├── initrd.img └── vmlinuz2directories,8files准备启动菜单文件[rootRocky ~]# vim /var/lib/tftpboot/pxelinux.cfg/defaultdefault menu.c32timeout600menu title Install CentOS Linux label linux9 menu label Auto Install CentOS Linux ^9 kernel rocky9/vmlinuz appendinitrdrocky9/initrd.imgkshttp://192.168.101.19/ks/rocky.cfg label manual menu label ^Manual Install CentOS Linux9.0kernel vmlinuz appendinitrdinitrd.imginst.repohttp://192.168.101.19/rocky/9/os/x86_64/ label rescue menu label ^Rescue a CentOS Linux system9kernel rocky9/vmlinuz appendinitrdrocky9/initrd.imginst.repohttp://192.168.101.19/rocky/9/os/x86_64/ rescue labellocalmenu default menu label Boot from ^local drive localboot 0xffff测试客户端基于PXE实现自动安装新准备一台主机设置网卡引导可看到看启动菜单并实现自动安装注意VMware workstation 对于不同的CentOS 版本生成的虚拟机的硬件并不兼容。