Loading
close

调整云主机启动顺序

time 更新时间:2023-12-21 11:02:38

实践场景

本文将详细介绍如何使用HTTP方式调用API调整云主机启动顺序。

前提条件

  • 云主机所在节点的计算服务状态(State)为“up”。
  • 云主机状态为“active”、“pause”、“suspended”、“stopped”其中之一。
  • 选择适合节点架构(x86或ARM)的ISO镜像,并成功挂载到云主机。

操作步骤

  1. 更改云主机的Metadata顺序

调整云主机启动顺序本质上即为更改云主机nodeinfo.com:bootorder元数据中order字段的顺序,以curl作为客户端为例,先获取云主机当前的metadata,请求方式如下所示:

curl -g -i -X GET http://nova-api.openstack.svc.cluster.local:8774/v2.1/servers/bcc5c62a-c1e7-4204-b99a-8bb35ea4876b/metadata -H "X-OpenStack-Nova-API-Version: 2.67" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: None" -H "X-Auth-Token: $token"

其中:

  • $token即代表上一步获取到的Token ID,可参照签名机制中的描述获取用户Token。

返回结果:

{
	"metadata": {
		"nodeinfo.com:iso-c2f762aa-5497-4c84-ac15-211ff402fca4": "{\"image_uuid\":\"c2f762aa-5497-4c84-ac15-211ff402fca4\",\"boot_order\":1,\"image_name\":\"test-iso\"}",
		"nodeinfo.com:bootorder": "{\"order\":[\"hd\",\"cdrom\"]}"
	}
}

其中:

  • nodeinfo.com:iso-c2f762aa-5497-4c84-ac15-211ff402fca4字段表示当前云主机已挂载ISO镜像,镜像ID为c2f762aa-5497-4c84-ac15-211ff402fca4。
  • 元数据nodeinfo.com:bootorderorder字段即表示云主机的启动顺序,由此可知,hd在前,cdrom在后,云主机优先从硬盘启动。

整体更改云主机metadata,使其优先从CD-ROM启动,以curl作为客户端为例,请求方式如下所示:

curl -g -i -X PUT http://nova-api.openstack.svc.cluster.local:8774/v2.1/servers/bcc5c62a-c1e7-4204-b99a-8bb35ea4876b/metadata -H "X-OpenStack-Nova-API-Version: 2.67" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: None" -H "X-Auth-Token: $token" -d '{"metadata":{"nodeinfo.com:iso-c2f762aa-5497-4c84-ac15-211ff402fca4":"{\"image_uuid\":\"c2f762aa-5497-4c84-ac15-211ff402fca4\",\"boot_order\":1,\"image_name\":\"test-iso\"}","nodeinfo.com:bootorder":"{\"order\":[\"cdrom\",\"hd\"]}"}}'

返回结果:

{
	"metadata": {
		"nodeinfo.com:iso-c2f762aa-5497-4c84-ac15-211ff402fca4": "{\"image_uuid\":\"c2f762aa-5497-4c84-ac15-211ff402fca4\",\"boot_order\":1,\"image_name\":\"test-iso\"}",
		"nodeinfo.com:bootorder": "{\"order\":[\"cdrom\",\"hd\"]}"
	}
}

其中:

  • 通过元数据nodeinfo.com:bootorderorder字段可知,cdrom在前,hd在后,云主机将优先从CD-ROM启动。
  1. 硬重启云主机

调整启动顺序之后,对云主机执行硬重启操作方可生效,以curl作为客户端为例,请求方式如下所示:

curl -g -i -X POST http://nova-api.openstack.svc.cluster.local:8774/v2.1/servers/bcc5c62a-c1e7-4204-b99a-8bb35ea4876b/action -H "X-OpenStack-Nova-API-Version: 2.67" -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: None" -H "X-Auth-Token: $token" -d '{"reboot": {"type": "HARD"}}'
此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品