第 21 章 使用标签识别虚拟设备

21.1. 标记虚拟设备

在 Red Hat OpenStack Platform 中,如果您启动具有多个网络接口或块设备的虚拟机实例,您可以使用设备标记将每个设备的预期角色与实例操作系统通信。标签在实例引导时分配给设备,可通过元数据 API 和配置驱动器(如果启用)提供给实例操作系统。

流程

  • 要标记虚拟设备,请在创建实例时使用标签参数 --block-device--nic

    示例

    $ nova boot test-vm --flavor m1.tiny --image cirros \
    --nic net-id=55411ca3-83dd-4036-9158-bf4a6b8fb5ce,tag=nfv1 \
    --block-device id=b8c9bef7-aa1d-4bf4-a14d-17674b370e13,bus=virtio,tag=database-server NFVappServer

    生成的标签添加到现有实例元数据中,并通过元数据 API 和配置驱动器获取。

    在这个示例中,以下 devices 部分填充元数据:

    meta_data.json 文件的内容示例:

        {
      "devices": [
        {
            "type": "nic",
            "bus": "pci",
            "address": "0030:00:02.0",
            "mac": "aa:00:00:00:01",
            "tags": ["nfv1"]
        },
        {
            "type": "disk",
            "bus": "pci",
            "address": "0030:00:07.0",
            "serial": "disk-vol-227",
            "tags": ["database-server"]
        }
      ]
    }

    设备标签元数据可使用 metadata API 中的 GET /openstack/latest/meta_data.json

    如果启用了配置驱动器,并在实例操作系统的 /configdrive 下挂载,则元数据也存在于 /configdrive/openstack/latest/meta_data.json 中。