PXE 自动化运维

来源:互联网 发布:管理加载项java不可用 编辑:程序博客网 时间:2024/06/07 00:34

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。

pxe的工作流程

1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
3.客户机向本网络中的TFTP服务器索取bootstrap文件
4.客户机取得bootstrap文件后之执行该文件
5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
6.进入安装画面,此时可以通过选择FTP,HTTP,NFS方式之一进行安装(常用HTTP)

1 服务安装

yum install dhcp tftp-server httpd syslinux -ysystemctl stop firewalldhttpd       ##共享安装资源dhcp        ##分配ip以及让客户主机获取pexlinux.0文件syslinux    ##提供pxelinux.0文件tftp-server ##提供tftp协议,令客户主机可以读取到预安装环境

2 开启tftp服务

tftp服务器由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后再启动xinetd服务即可。

vim /etc/xinetd.d/tftp  14         disable                 = no ##打开tftp服务systemctl restart xinetd.servicenetstat -antlupe| grep 69
cd /var/lib/tftpbootcp /usr/share/syslinux/pxelinux.0 . mkdir pxelinux.cfg寻找镜像文件中的isolinux中的所有文件cp  isolinux.cfg  pxelinux.cfg/default ## isolinux/目录下有目录有内核和初始化文件等,复制到/var/lib/tftpboot/,在pexlinux.0引导客户主机访问tftp时,访问这些文件## pxelinux.0:预安装环境头文件,用来指定读取后续文件的程序

这里写图片描述

3 配置dhcp服务器

[root@server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y[root@server ~]# vim /etc/dhcp/dhcpd.conf [root@server ~]# systemctl restart dhcpd13 filename “pxelinux.0”;      ##客户主机获得到的预安装环境头文件12 next-server 172.25.254.139; ##指定头文件所在主机的ip

这里写图片描述

整一个虚拟机,让它从网卡启动:

这里写图片描述

开启虚拟机:可以看到它从156上面动态获取到了ip

这里写图片描述

需要进行到这一步

这里写图片描述

4 修改配置文件

vim /var/lib/tftpboot/pxelinux.cfg/default 2    timeout 30                      ##等待时间 11   menu title HELLO WORLD!!!       ##标签名称 64   menu default                    ##默认选项 65   append initrd=initrd.img repo=http://172.25.254.56/rhel7.0     ##http源

这里写图片描述

5 配置ks.cfg文件

yum install system-config-kickstart -yksvalidator ks.cfg      ##查看ks.cfg文件有没有语法错误 

详细请看:http://blog.csdn.net/qq_36462472/article/details/78397287

这里写图片描述

将ks.cfg文件保存到/var/www/html/下
修改default文件,在其中添加ks.cfg文件的路径

kernel vmlinuz         ##启动的内核文件append initrd=initrd.img repo=http://172.25.254.139/rhel7.0 ks=http://172.25.254.139/ks.cfg quiet   ##初始化镜像 / ##安装资源 / ##自动安装脚本

这里写图片描述

之后再次重新从网卡启动启动一台虚拟机,它就会自动化安装。

这里写图片描述

原创粉丝点击