PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统(工作在Client/Server模式)
1.系统装机的三种引导方式
- 硬盘
- 光驱(u盘)
- 网络启动 PXE
2.系统安装的过程
- 加载 boot loader
- 加载启动安装菜单
- 加载内核和initrd系统
- 加载根系统
- 运行anaconda的安装向导
2.1 PXE安装系统过程
- 客端的网卡查找dhcp服务,获取ip地址和时间
- dhcp服务器给客户机分配ip地址和引导地址,同时通过offer报文把tftp服务器地址发给客户机
- tftp服务器把引导文件(pxelinux.0)传给客户机
- 客户机把引导程序加载到内存中
- 引导程序在tftp服务器中查找配置文件,服务器把配置文件传给客户端
- 服务器通过vsftp服务和客户端互传文件,客户端获得系统的镜像文件
3.PXE装机
3.1 PXE装机的优势
- 规模化:同时装配多台服务器;
- 自动化:安装系统、配置各种服务;
- 远程实现:不需要光盘、U 盘等安装介质。
3.2 PXE装机的先决条件
PXE是通过网卡引导启动的,实现需要有必要的硬件条件,需要满足以下四个条件,才可以实现PXE
- 网卡必须要支持,不过也不需要担心,基本目前的网卡都支持
- BIOS支持,需要在bios中开启开关,需注意服务器bios一般没打开,需要在bmc界面打开
- 网络中必须有一台DHCP服务器,用于给客户机自动分配地址,指定引导文件位置,网卡自带DHCP功能,dhcp指明分配的ip地址
- .安装了TFTP服务,使用TFTP服务(简单文件传输协议)给提供系统内核和引导镜像的下载。
3.3 PXE装机四大文件及需要的四个服务软件
四大文件
- pxelinux.0:引导程序。(来自syslinux程序)
- default:引导程序的配置文件,可以理解成引导实现Kickstart的一个文件,在pxelinux.0目录下(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
- vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)
- initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)
四个服务
- DHCP服务
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
- TFTP服务
TFTP(简单文件传输协议),是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。
自带的站点:/var/lib/tftpboot
- syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间, 并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后, sysLinux启动盘就可以引导各种基于DOS的工具, 以及MS-DOS/Windows或者 任何其它操作系统。
安装syslinux程序后,可获得 pxelinux.0 文件。
- vsftp:安装系统镜像文件获取方式
可以使用http、ftp等方式,ftp文件传输的一种,vsftpd是提供ftp服务的软件之一。
4. kickstart 无人值守安装
Kickstart 文件是一个包含安装配置信息的文本文件。通过将Kickstart文件放置在网络上的可访问位置,并将PXE服务器进行相应的配置,可以实现使用Kickstart文件来配置和自动化执行操作系统安装过程
Kickstart的配置文件在ks.cfg中
如何实现Kickstart无人值守安装
需要先安装Kickstart
yum install system-config-kickstart -y
然后去服务端的图形化页面中进行一些配置操作
5.PXE+Kickstart无人值守装机示例
最后一个文件 pxelinux.cfg中的 default(引导程序的配置文件),可以理解成引导实现Kickstart的一个文件(需要在图形化页面完成好配置)
PS:需要注意,四大文件中 pxelinux.cfg中的 default(引导程序的配置文件)文件,如果不需要执行Kickstart无人值守安装,可以不配置这个文件内容,只需确保 pxelinux.cfg 目录中包含名为 default 的文件即可(如果 default 文件为空,PXE 客户端将使用内置的默认配置)