黑石2.0在为客户准备干净的计算资源、采集和检查机器硬件信息等场景下需要在物理机上安装一个os,且不能通过磁盘、U盘、CDROM等方式引导安装,所以只能采取网络引导安装minios,因此写这篇文章来描述一下PXE。
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
1. bios加载 pxe rom 后,rom 中的 pxe client 先发起 dhcp 请求,智能网卡充当 pxe server,在校验报文的 mac 地址无误后,返回 ip、tftp服务器地址、引导文件名称
2. pxe client 随即发起 tftp 请求,获取到引导文件,如 pxelinux.0
3. 内存中执行 pxelinux.0,明确下一步去请求 pxelinux.cfg
4. tftp 请求并解析 pxelinux.cfg,获悉内核和根文件信息,分别为 vmlinuz 和 initramfs,有版本区分
5. tftp 请求内核和根文件,内存中引导启动
BIOS设置下一次启动生效的引导项为 Legacy 或者 Uefi 后重启机器,网卡提供不同类型的 pxe rom,BIOS 的 pxe 驱动会去加载对应的 pxe rom,进而去实现 PXE 的流程。
可参考 https://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html 来自主尝试
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。