一、PXE介绍
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,PXE可以引导多种操作系统,如Windows95/98/2000/windows2003,linux系列等
二、实现过程
1. 客户端的网络借口通过广播地址向提供DHCP服务的服务端索要IP;
2. 服务端向客户端提供IP+PXElinux.0程序;
3. pxelinux.0指定tftp协议,所以先引导用户访问服务端的tftp协议:读取内核程序及init–初始化安装包、default文件
4. default文件指定安装资源文件–ks.cfg文件,该文件指定安装资源–httpd
5. 服务端通过http协议向客户端提供安装包,客户端读取安装包、自动安装
三、PXE实现自动化网络安装Linux系统操作过程
- 配置dhcp
- 安装dhcp
- 复制dhcp文件模板
- 编辑文件
- 重启dhcp服务
- 安装syslinux
- 安装tftp-server
- 生成安装头文件
- tftp服务启用,是通过改变其守护进程来启用的
- 使用chkconfig,可以看到tftp服务没有启用
- 打开守护进程服务
- 将disable呢一行改成no,表示启用tftp服务,保存退出
- 重启服务
可以看到tftp服务启用了
- 编辑dhcp配置文件
next-server 172.25.254.129; 指定头文件所在主机的IP
filename “pxelinux.0” 客户主机获得的预安装环境头文件
- 重启服务
- 关闭火墙
- 设置客户机从网卡启动
测试:此时没有预安装界面
- 设定共享文件
- 给服务端添加一个镜像文件(注意版本)
- 将进行挂载在/rhel7.3目录下
- 进入/rhel7.3/isolinux,可以看到使用tftp协议读取安装环境的相关文件
- 在/var/lib/tftpboot/下创建目录pxelinux.cfg
将isolinux.cfg复制到目录pxelinux.cfg下,并重命名为desault
这是因为文件中指定读取pxelinux.cfd中default的内容
- 将使用tftp协议读取安装环境的相关文件,复制到/var/lib/tftpboot/下
- 编辑default文件
删除效果如下
- 测试:
可以看到预安装界面了,选择第一个安装
但是安装失败
- 修改第64行调整网络镜像源,此时就可以安装成功了(读者自行尝试)
- 修改预安装信息
- 修改默认等待时间
默认等待60s
编辑default文件
将默认等待时间修改为10s(100)
等待时间为10s
- 整默认读取第一条
编辑default文件
修改成功
- 调整标题名称
编辑default文件
- 替换背景图片
- 首先在真实主机安装软件ImageMagick
- 将我们要的背景图片格式化为默认的640x480的
注意:
非强制的转化,自适应(不加叹号)
强制性的转化,可能会比例失调(加叹号) - 将转化好的图片传到服务端的/var/lib/tftpboot
- 编辑default文件
将第10行修改为刚才的背景图片
- 测试:背景替换成功
- 安装httpd服务,并开启服务设置为开机自启动
- 自动化部署配置
-
搭建一个网络yum源
-
安装 system-config-kickstart 自动应答脚本制作工具
-
运行自动应答脚本制作工具制作自动应答脚本
进行如下设置:
-
HTTP server 为服务器ip,HTTP Directory 选择镜像的挂载点
-
都选第一个,并添加三个分区
-
分区添加完成如下
-
添加一个为eth0的网络设备;选择DHCP
-
选择默认即可
-
关闭火墙
-
添加开机后的动作,这里可以根据自己的需求进行设置
-
保存
-
将文件保存到/var/www/html下,以方便实现共享
-
在浏览器上输入http://服务端ip/ks.cfg,可以看到文件共享出来了
-
配置ks.cfg文件
修改时区
添加安装软件(根据自己的需求设定,但要注意格式)
-
检查ks.cfg是否有语法错误
-
指定安装源 ,添加读取ks.cfg文件路径
-
测试:通过网卡,自动安装过程如下