自定义 iPXE
Equinix Metal™ 支持在配置期间传递自定义 iPXE 脚本,这允许您手动安装自定义操作系统。配置服务器时, Equinix Metal首先会加载自定义 iPXE 版本,该版本将提供您指定的链式加载 iPXE 脚本 URL。
使用自定义 iPXE 进行配置
- Console
- CLI
- API
要使用 Equinix Metal 控制台配置带有自定义 iPXE 的按需服务器,请在“选择操作系统”下的选项中选择“自定义 iPXE”。如果您的 iPXE 脚本托管在可公开访问的 http(s) 位置,请将脚本的 URL 输入到文本字段中。
如果需要,请切换开关,将服务器设置为从 iPXE 持续启动。如果服务器在 iPXE 启动过程中出现故障,您可以编辑 iPXE URL 并重新启动服务器以重试。

当您点击“立即部署”来配置服务器时,它将从您的 iPXE URL 进行配置。
metal device create \
--hostname netboot-custom-ipxe \
--plan c3.small.x86 \
--metro sv \
--operating-system custom_ipxe \
--project-id "$METAL_PROJECT" \
--ipxe-script-url "https://boot.netboot.xyz/"
如果您使用 Equinix Metal API 来配置服务器,则可以通过在请求正文中的 "operating_system" 字段中传入 "custom_ipxe" 并将 URL 传入 "ipxe_script_url" 字段来使用自定义 iPXE。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"metro": "<metro_code>",
"plan": "<server_type>",
"operating_system": "custom_ipxe",
"always_pxe": true,
"ipxe_script_url": "https://boot.netboot.xyz/"
}'
初始启动
通过 DHCP 提供 iPXE 服务后,设备将在我们的 API 和门户中被标记为已激活。由于服务器位于引导加载程序中且没有 SSH 访问权限,请使用 Equinix Metal 带外控制台 访问服务器。
注意:如果您使用 OOB 控制台执行手动安装并且不使用 netboot.xyz,则我们的 x86 服务器需要 console=ttyS1,115200n8,而我们的 aarch64 服务器需要 console=ttyAMA0,115200。
DHCP 在自定义 iPXE 设备的整个生命周期内都可用,因此您可以通过 DHCP 获取网络配置,然后通过从元数据服务中发现 IP 地址信息,在操作系统中静态设置网络。在主机服务器上运行 curl https://metadata.platformequinix.com/metadata。
如果出现问题且您无法访问服务器,请使用服务器“概览”中的“编辑实例详细信息”功能。您可以更改启动时的 iPXE 行为,编辑 iPXE 脚本,然后使用新配置重启服务器。
使用 netboot.xyz 示例
如果您使用 netboot.xyz 手动安装操作系统,请连接到 Equinix Metal 带外控制台以获取操作系统选项菜单。
netboot.xyz
Default:
Boot from local hdd (283)
Distributions:
Linux Network Installs
Live CDs
BSD Installs
Unix Network Installs
Tools:
Architecture: x86_64 (64bit)
iPXE shell
Network card info
PCI Device List
About netboot.xyz
Signature Checks:
netboot.xyz [ enabled: true ]
有关可通过 netboot.xyz 访问的操作系统的信息,请参阅其 [GitHub Readme。
如果要安装未列出的操作系统,且该操作系统随 ISO 镜像一起分发,则可以选择 iPXE shell 选项并输入以下命令进行安装:
kernel https://boot.netboot.xyz/memdisk iso raw
initrd http://url/to/iso
boot
请注意,netboot.xyz 文档 中提到安装可能(很可能)失败。如果在 initramfs 尝试加载 CD 设备时失败,请更新安装介质,使其在 memdisk 上查找安装介质。有关此问题的更多信息,请参阅 reversengineered.com 文章。
带有 Netboot.xyz 的金属 CLI
metal device create \
--hostname netboot-custom-ipxe \
--plan c3.small.x86 \
--metro sv \
--operating-system custom_ipxe \
--project-id "$METAL_PROJECT" \
--userdata='#!ipxe
chain -ar https://boot.netboot.xyz'
持久 PXE
启动自定义 iPXE 时,下一个启动选项是首次启动时使用 PXE。默认情况下,此 PXE 过程仅在首次启动时执行一次。要将设备设置为持续优先启动到 iPXE,请在配置过程中使用“自定义 iPXE 设置”下的切换开关,或在配置完成后从“服务器操作”或“编辑实例详细信息”中进行设置。
如果设置为 true,PXE 将在初始配置重启后继续作为首选启动选项。这非常适合测试您的 iPXE 配置脚本,并为未来在Equinix Metal上实现“始终基于 PXE 的操作系统”奠定基础。