PXE相关概念
PXE不是一种安装方式,是一种引导的方式。pxe方式要求安装的计算机中必须包含一个 支持PXE 的网卡,且主板支持网络引导,PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。 PXE协议分为 client 和 server 端,PXE client 在网卡Rom中,当计算机引导时,cpu通过加载bios映射到内存中的片段,然后检查计算机的健康状况(如cpu风扇,网卡等)继而 把网卡Rom中的PXE client 调入内存引导执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的设置。在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。一方面tftp可以达到32M,对于系统内核,引导程序等小文件,足以达到,另一方面tftp使用udp协议69号端口,速度也快足以满足要求速度也可以,何乐而不为。
Kickstart简介:kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成的kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置。
PXE相关部署
在服务端安装dhcp、tftp-server、httpd和syslinux服务
配置tftp服务,编辑/etc/xinetd.d/tftp文件,查看69端口是否启用
切换到/var/lib/tftpboot/目录下,配置pxe,将/usr/share/syslinux/pxelinux.0复制到当前目录
再将主机http共享目录/var/www/html下的rhel7.0中isolinux目录下的所有内容复制到当前目录下
注意:系统版本要与镜像的版本一致,server主机的系统版本为7.0
查看,然后再将该目录下的isolinux.cfg文件复制到pxelinuc.cfg目录下的default文件上,关闭防火墙服务
在服务端配置dhcpd服务,编辑配置文件,重启服务
在服务端测试:
测试之前需要先将测试主机调制从网络启动,然后再进行测试
测试过程可以点击上方红色圈内按钮,表示暂停,通过此按钮可以观察测试主机通过dhcp获取到的ip是多少
此台测试主机通过dhcp获取到的ip为172.25.254.120
获取ip之后进入的界面如下图:
默认情况下系统进入的是第二个选项,黄色显示的选项
编辑/var/lib/tftpboot/pxelinux.cfg/default文件,可以更改进入系统安装界面的名称,也可以更改默认情况下的选项以及从网络读取镜像的位置
更改进入系统安装界面的名称为Welcome To Linux
更改默认情况下的选项为第一个-->安装红帽7.0版本的系统,更改从网络读取镜像的位置为172.25.254.49/rhel7.0
更改此文件后不需要重启服务,即改即生效
在客户主机测试:
选择安装系统的选项之后,首先读取的是vmlinuz和initrd.img文件
vmlinuz ##系统内核文件,所有的进程都受内核控制
initrd.img ##初始化镜像文件,包含初始化过程中的所有命令文件
进入到选项界面的背景图片也可以更改
从主机上发送一张照片到服务端主机的/var/lib/tftpbool目录下,重命名为westos.png
默认情况下选项界面的背景图像大小为640x480
安装ImageMagick服务,裁剪图片
convert -resize 640x480! westos.png haha.png
"!"表示裁剪westos.png图片大小强制为640x480,裁剪后的图片命名为haha.png
编辑/var/lib/tftpboot/pxelinux.cfg/default文件,更改选项界面的背景图片,同时也能更改进入选项的时间
默认情况下进入选项的时间为60秒,更改为5秒
在客户端主机测试:
在服务端安装system-config-kickstart服务
用system-config-kickstart命令打开图形界面,设置安装系统过程中的基本配置,如下图
设置完成之后将ks.cfg文件保存到httpd的发布目录/var/www/html下,切换此目录下编辑ks.cfg文件
ksvalidator ks.cfg ##检查文件是否有语法性的的错误
再到/var/lib/tftpboot目录下编辑pxelinux.cfg/default文件
重启httpd和dhcpd服务
在客户端主机上测试:
开始安装系统