PXE介绍
PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。
PXE是通过网卡引导启动。
PXE服务优点
- 规模化:同时装配多台服务器,无需每一台单独安装操作系统;
- 自动化:实现服务器的自动安装及自动配置各种服务;
- 远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。
PXE装机需要的四大文件
-
pxelinux.0:引导程序。(来自syslinux程序)
-
default:引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
-
vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)
-
initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)
PXE实现过程讲解
-
客户机的网卡查找相关的dhcp服务器(获取地址和时间)。
-
DHCP服务器给客户机分配IP地址和引导程序(boot loader)的地址 ,同时通过offer报文把TFTP服务器的地址发给客户机。
-
TFTP服务器把引导文件(pxelinux.0)传给客户机。
-
客户机将引导程序加载到内存中来。
-
引导程序去TFTP服务器中查找配置文件,服务器将配置文件传给客户机。(配置文件中指定客户机使用ftp方式连接服务器获取系统镜像文件)
-
服务端安装并启动vsftpd服务,客户机使用ftp服务获取系统镜像文件。
# PXE网络装机操作过程
安装四个软件包:dhcp、tftp-server、vsftpd、syslinux。
配置DHCP服务器,分配IP地址,指明tftp服务器的地址。
修改TFTP服务配置文件/etc/xinetd.d/tftp,将服务开启
将三大文件先拷入/var/lib/tftpboot/ 目录中:vmlinuz,initrd.img。pxelinux.0。
在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在pxelinux.cfg目录下编写引导程序的配置文件default。
关闭防火墙和selinux。启动 dhcpd、tftp、vsftpd
实现Kickstart无人值守安装
服务端,yum install system-config-kickstart -y 安装kickstart软件。
进入虚拟机,在应用程序中找到 Kickstart 工具进行配置。
ks.cfg文件成功保存到/var/ftp目录下。需要再次修改/var/lib/tftpboot/pxelinux.cfg目录下的default文件,添加ks参数。
重新启动空白客户机,安装完毕后系统自动配置相应参数