PXE 自动化运维

来源:互联网 发布:花都金蝶软件 编辑:程序博客网 时间:2024/05/18 13:11

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 -y

systemctl stop firewalld

httpd ##共享安装资源

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服务即可。

这里写图片描述

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

cd /var/lib/tftpboot

cp /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 dhcpd

13 filename “pxelinux.0”; ##客户主机获得到的预安装环境头文件

12 next-server 172.25.254.11; ##指定头文件所在主机的ip

这里写图片描述

这里写图片描述

这里写图片描述

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

这里写图片描述

这里写图片描述
这里写图片描述

4 修改配置文件

vim /var/lib/tftpboot/pxelinux.cfg/default

2 timeout 30 ##等待时间

11 menu title JACKDAWSON ##标签名称

64 menu default ##默认选项

65 append initrd=initrd.img repo=http://172.25.254.66/redhat7.2 ##http源

这里写图片描述

5 配置ks.cfg文件

yum install system-config-kickstart -y

ksvalidator ks.cfg ##查看ks.cfg文件有没有语法错误

![这里写图片描述](http://img.blog.csdn.net/20171213095848520?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfNDAzODU5NzA=/font/5a6L5L2

这里写图片描述

将ks.cfg文件保存到/var/www/html/下

修改default文件,在其中添加ks.cfg文件的路径

kernel vmlinuz ##启动的内核文件

append initrd=initrd.img repo=http://172.25.254.66/redhat7.2 ks=http://172.25.254.66/ks.cfg quiet ##初始化镜像 / ##安装资源 / ##自动安装脚本

这里写图片描述

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

这里写图片描述

以上

原创粉丝点击