8.3. 使用 Redfish API 从 HTTP 托管 ISO 镜像引导
您可以使用 Redfish Baseboard Management Controller (BMC) API 安装的 ISO 来置备网络中的主机。
先决条件
- 下载安装 Red Hat Enterprise Linux CoreOS (RHCOS) ISO。
流程
- 将 ISO 文件复制到网络中的 HTTP 服务器。
从托管 ISO 文件引导主机,例如:
运行以下命令调用 redfish API,将托管的 ISO 设置为
VirtualMedia
引导介质:$ curl -k -u <bmc_username>:<bmc_password> \ -d '{"Image":"<hosted_iso_file>", "Inserted": true}' \ -H "Content-Type: application/json" \ -X POST <host_bmc_address>/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia
其中:
- <bmc_username>:<bmc_password>
- 是目标主机 BMC 的用户名和密码。
- <hosted_iso_file>
-
是托管安装 ISO 的 URL ,例如:
https://example.com/rhcos-live-minimal.iso
。ISO 必须从目标主机机器中访问。 - <host_bmc_address>
- 是目标主机计算机的 BMC IP 地址。
运行以下命令,将主机设置为从
VirtualMedia
设备引导:$ curl -k -u <bmc_username>:<bmc_password> \ -X PATCH -H 'Content-Type: application/json' \ -d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideEnabled": "Once"}}' \ <host_bmc_address>/redfish/v1/Systems/System.Embedded.1
重启主机:
$ curl -k -u <bmc_username>:<bmc_password> \ -d '{"ResetType": "ForceRestart"}' \ -H 'Content-type: application/json' \ -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset
可选: 如果主机已关闭,您可以使用
{"ResetType": "On"}
开关引导它。运行以下命令:$ curl -k -u <bmc_username>:<bmc_password> \ -d '{"ResetType": "On"}' -H 'Content-type: application/json' \ -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset