PXE
什么是PXE网络
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
PXE可以引导多种操作系统。
PXE client集成在网卡ROM中,当计算机引导时,BIOS把PXE client调入内存执行,获取PXE server配置,显示菜单,根据用户选将远程操作系统下载到本机运行。
PXE组件及过程的分析。
部署PXE需要哪些服务:
DHCP服务,分配IP地址,定位引导程序
DNS服务,为客户机分配主机名
TFTP服务,提供引导程序下载
HTTP服务(或ftp/nfs),提供yum安装源
客户机应具备的条件:
网卡ROM必须支持PXE协议
主板支持网络启动
部署PXE服务器
1、软件需求
dhcpd: 动态分配IP
xinetd: 对服务访问进行控制,这里主要控制tftp
tftp: 从服务器端下载pxelinux.0、default文件
httpd: 在网络上提供安装源,也就是ISO镜像文件中的内容
syslinux: 用于网络引导
1、服务器先关闭selinux,关闭防火墙
关闭防火墙
2、安装dhcp
拷贝模板文件
修改dhcp配置文件,最终如下(保证和服务器同一网段)
启动dhcpd
3、安装http服务
创建/var/www/html/Centos7目录,然后在/mnt下创建cdrom
查看/dev,可以发现sr0代表光驱
将/dev/sr0挂载到/var/www/html/Centos7 或 /mnt/cdrom
挂载成功之后通过mount --bind目录连接
启动http服务
查看http
4、安装tftp和xinetd、tftp-server
修改xinetd配置文件 /etc/xinetd.d/tftp
启动tftp服务和tftp.socket还有xinetd服务
5、配置引导文件
安装syslinux
导入内核和菜单文件
引导菜单配置文件:isolinux.cfg
系统自带的两种窗口模块之一:vesamenu.c32
窗口提示信息文件:boot.msg
窗口背景图片:splash.png
导入引导文件pxelinux.0
新建pxelinux.cfg目录
6、安装引导文件Centos7.cfg
安装system-config-kickstart、xorg-x11-xauth
groupinstall -y ‘X Window System’
用xmanager和xshell连接并设置
这里用ssh连接
在控制台输入system-config-kickstart
然后会弹出这个页面
这里由于我的linux默认语言为中文,出现了乱码,在终端中输入export LANG="en_US.UTF-8"
临时修改成英文显示
进行配置,设置语言,键盘,时区,root密码,安装完毕后重启等
配置安装源
Centos7.cfg的配置文件
<这是配置(在非图形配置的情况下就是通过这个配置文件来直接配置的)
把这个文件拷贝
创建/var/lib/tftpboot/pxelinux.cfg/default
default linux
label linux
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.120.11/CentOS7 inst.ks=http://192.168.120.11/ksdir/ks.cfg ksdevice=ens32
可选配置1:菜单显示等待时间,单位为1/10秒,默认等待60秒,修改菜单等待时间为60,即等待6秒,若无操作则进入默认菜单;
timeout=60
可选配置2:如果想在pxe批量部署的时候修改网卡名称,在default文件中添加:net.ifnames=0 biosdevname=0
对应的涉及到网卡名称的地方统一指定为"eth0"