PXE
什么是PXE
PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE 严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。
运维历程
系统装机的引导方式
1. 硬盘
2. 光驱
3. 网络
PXE批量部署的优点
自动化:安装系统、配置各种服务
规模化:同时装配多台服务器
远程实现:不需要光盘、U盘等安装介质
isoutra工具:可以去批量生产U盘
PXE的实现过程
- 网卡需要查找相关的dhcp服务器(获取地址时间)
- 找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
- 网卡使用tftp客户端吧引导程序加载到内存中来
- bios执行引导程序
- 引导程序会去TFTP去查找配置文件
- 根据配置文件去引导安装系统
- 系统安装过程
linux网卡中自带DHCP功能和TFTP功能
为什么用tftp(简单文本传输协议)?
- 是因为网卡自带tftp功能,网卡支持tftp功能
- 只能传输小型的文件
- 所以在配置PXE时候还需要安装一个FTP,用户传输大文件
PXE安装系统四大文件
initrd.img:驱动文件
vmlinuz:内核文件
pxelinux.cfg/default:引导文件
pxelinux.0:小型的grub程序
PXE的单机装系统
linux
光驱加载linux镜像去安装操作系统,光驱里面有个小型的linux操作系统,将操作系统安装进自己的硬盘中
linux安装光盘的安装相关文件
在系统光盘的isolinux目录下有和安装相关的文件
- boot.cat: 相当于grub的第一阶段
- isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
- isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件
- vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单
- memtest:内存检测程序
- splash.png:光盘启动菜单界面的背景图
- vmlinuz:是内核映像
- initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)
windows
- PE的操作系统是外来的设备上操作系统,进入到外来的操作系统后,将自己想要安装的操作系统类型,安装进硬盘
- 光驱挂载通过FTP将sr0光驱共享给另一台主机。第二台主机加载光盘,光盘将这个小型的操作系统给装机
PXE实验
需要将四大文件全部放在 /var/lib/tftpboot/ 中
因为PEX远程需要从TFTP远程服务器站点下载四大文件,去安装机器,所以TFTP站点里面需要有四个文件
pxelinux.cfg引导文件,需要去创建,引导文件的名字默认是default,default需要自己去手写配置文件
实验环境
服务端:192.168.42.13 客户端:win10
操作
- 将14行改成no,启动服务
执行system-config-kickstart
会出现一个kickstart,按照步骤配置
新建一个虚拟机,打开虚拟网络编辑器,将
关掉DHCP自动分配ip地址,安装好虚拟机
等待连接PXE等,这一步也可以检测配置PXE时的服务有没有配置成功
将鼠标点进去,按回车键
说明配置成功,等他安装好就可以