第 12 章 标记虚拟设备
在 Red Hat OpenStack Platform (RHOSP)中,如果您将多个网络接口或块设备附加到实例,您可以使用设备标记将每个设备的预期角色与实例操作系统通信。标签在实例引导时分配给设备,并通过元数据 API 和配置驱动器提供给实例操作系统(如果启用)。
您还可以将虚拟设备标记到正在运行的实例。如需更多信息,请参阅以下步骤:
注意
要在云上执行 openstack 客户端命令,您必须指定 clouds.yaml 文件中详述的云名称。您可以使用以下方法之一指定云的名称:
在每个命令中使用
--os-cloud选项,例如:$ openstack flavor list --os-cloud <cloud_name>如果您访问多个云,则使用此选项。
在
bashrc文件中为云名称创建一个环境变量:`export OS_CLOUD=<cloud_name>`
先决条件
-
管理员已为您创建一个项目,并为您提供了一个
clouds.yaml文件来访问云。 -
已安装
python-openstackclient软件包。
流程
使用虚拟块设备标签和虚拟网络设备标签创建实例:
$ openstack server create --flavor m1.tiny --image cirros \ --network <network_UUID> --nic net-id=<network_UUID>,tag=<myNicTag> \ --block-device id=<volume_ID>,bus=virtio,tag=<myVolumeTag> myTaggedDevicesInstance-
将
<myNicTag> 替换为虚拟 NIC 设备的标签名称。您可以根据需要添加标记的虚拟设备。 -
将
<myVolumeTag> 替换为虚拟存储设备的标签名称。您可以根据需要添加标记的虚拟设备。
-
将
使用以下方法之一验证虚拟设备标签是否已添加到实例元数据中:
-
使用
GET /openstack/latest/meta_data.json从元数据 API 检索设备标签元数据。 如果配置驱动器在实例操作系统上启用并挂载到
/configdrive下,请查看/configdrive/openstack/latest/meta_data.json文件。meta_data.json文件示例:{ "devices": [ { "type": "nic", "bus": "pci", "address": "0030:00:02.0", "mac": "aa:00:00:00:01", "tags": ["myNicTag"] }, { "type": "disk", "bus": "pci", "address": "0030:00:07.0", "serial": "disk-vol-227", "tags": ["myVolumeTag"] } ] }
-
使用