可以创建租户虚拟数据中心,以实现安全的多租户环境和资源分配。可以在为每个电信工作负载提供特定服务级别协议的不同计算节点上创建这些数据中心。

重要说明: 此功能仅在 VMware Integrated OpenStack 运营商版本 中提供。有关详细信息,请参见 《VMware Integrated OpenStack 安装和配置指南》中的“VMware Integrated OpenStack 许可”。

项目配额可限制 OpenStack 资源跨多个计算节点或可用区,但不保证资源可用性。通过创建租户虚拟数据中心为计算节点上的 OpenStack 项目分配 CPU 和内存,您可以在多租户环境中为租户提供资源保证并避免相邻干扰场景。

租户虚拟数据中心在计算节点级别分配资源。您也可以使用相同的特定实例在虚拟网络功能 (VNF) 级别分配资源。有关说明,请参见配置资源 QoS

可以使用 viocli 实用程序、vAPI 或 Data Center Command-Line Interface (DCLI) 管理租户虚拟数据中心。此过程使用 viocli 实用程序作为示例。有关 vAPI 或 DCLI 使用情况的信息,请参见使用租户虚拟数据中心 vAPI

前提条件

  • 启用 VMware Integrated OpenStack 运营商版本 功能。请参见《VMware Integrated OpenStack 安装和配置指南》中的“启用 Carrier Edition 功能”。
  • 确定要在其下创建租户 VDC 的项目的 UUID。可以通过运行 openstack project list 命令来查找项目 UUID。
  • 确定要在其上创建租户 VDC 的计算节点的名称。可以通过运行 openstack compute service list 命令来查找计算节点的名称。
  • 确保为要在其上创建租户 VDC 的计算节点启用 vSphere DRS。

过程

  1. root 用户身份登录到 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 创建租户虚拟数据中心。
    viocli create tenant-vdc --name display-name --project-id project-uuid --compute compute-node [-–cpu-limit max-cpu-mhz] [--cpu-reserve min-cpu-mhz] [--mem-limit max-memory-mb] [-–mem-reserve min-memory-mb]
    选项 说明

    --compute compute-node

    输入要在其上创建租户 VDC 的计算节点。

    可以通过运行 openstack compute service list 命令来查找计算节点的名称。

    --name vdc-name

    输入租户 VDC 的名称。

    --project-id project-uuid

    输入要在其下创建租户 VDC 的项目的 UUID。

    --cpu-reserve cpu-min

    输入要为 VDC 预留的 CPU 周期(以兆赫为单位)。

    如果不包括此参数,则默认使用 0

    --cpu-limit cpu-max

    输入 VDC 上的最大 CPU 使用限制(以兆赫为单位)。

    如果不包括此参数,则 CPU 使用不受限制。

    --mem-reserve memory-min

    输入要为 VDC 预留的内存(以兆字节为单位)。

    如果不包括此参数,则默认使用 0

    --mem-limit memory-max

    输入 VDC 上的最大内存占用限制(以兆字节为单位)。

    如果不包括此参数,则内存占用不受限制。

  3. 以云管理员身份登录 VMware Integrated OpenStack 仪表板。
  4. 从标题栏中的下拉菜单选择管理项目。
  5. 配置要使用租户虚拟数据中心的特定实例。
    1. 选择管理 > 计算 > 特定实例
    2. 创建新的特定实例或选择现有特定实例以用于租户虚拟数据中心。
    3. 选择要使用的特定实例旁边的更新元数据
    4. 可用元数据窗格中,展开 VMware 策略,然后单击租户虚拟数据中心旁边的添加(加号)图标。
    5. vmware:tenant_vdc 的值设置为租户虚拟数据中心的 UUID,然后单击保存
      可以在 Integrated OpenStack Manager 上运行 viocli get tenant-vdcs 命令以查找所有租户虚拟数据中心的 UUID。
    在不同计算资源的同一 vDC 之间实时迁移 vMotion
    要在不同计算资源的同一 vDC 之间实时迁移 vMotion,请执行以下步骤:
    • 在 compute-1 中创建 tenant-vdc1
      viocli create tenant-vdc --name tvdc-01 --project-id ecbf813ee5d54420864247a2edcd76dc --compute compute-c05c9c49-c55
    • 创建特定实例并更新特定实例属性。
      openstack flavor set --property vmware:tenant_vdc='746146ea-a8f2-4be2-8bef-1dabe1249de7' 70841a4c-1332-4474-abd2-3fa07de3ab8e
    • 使用创建的特定实例创建实例,并且必须按如下所示将其置于 tvdc1 下:
      openstack server create --flavor 70841a4c-1332-4474-abd2-3fa07de3ab8e --network 39f32be5-7079-4110-8f38-8c3948d3079d --image "Photon 3.0" tvdc-001
    • tvdc1 扩展到 compute-2。
      viocli update tenant-vdc --compute compute-c05c9c49-c3101 --id 746146ea-a8f2-4be2-8bef-1dabe1249de7
    • 对于实时迁移,请运行以下命令:
      export OS_COMPUTE_API_VERSION=2.67
      nova --os-compute-api-version 2.67 live-migration --force d155cbf9-3c1d-4732-9d08-9e28cb141ca0 compute-c05c9c49-c3101

    实时调整租户 VDC 内、外和跨租户 VDC 的实例的大小

    要实时调整租户 VDC 内、外和跨租户 VDC 的实例的大小,请执行以下步骤:
    • 按照实例实时调整大小中所述,为映像配置实时调整大小。
    • 在 compute-1 中创建 tenant-vdc1
      viocli create tenant-vdc --name tvdc-01 --project-id ecbf813ee5d54420864247a2edcd76dc --compute compute-c05c9c49-c55
    • 创建特定实例并更新特定实例属性。
      openstack flavor set --property vmware:tenant_vdc='746146ea-a8f2-4be2-8bef-1dabe1249de7' m1.tvdc-01
    • 使用创建的特定实例创建实例,您可以将其置于 tvdc1 下,如下所示:
      openstack server create --flavor m1.small --network 39f32be5-7079-4110-8f38-8c3948d3079d --image "Photon 3.0" resize-01
    • 在 compute-1 中创建 tenant-vdc1
      viocli create tenant-vdc --name tvdc-02 --project-id ecbf813ee5d54420864247a2edcd76dc --compute compute-c05c9c49-c55
      • 将租户 VDC 外部的实例移至 tvdc-01
        openstack server resize resize-01 --flavor m1.tvdc-01
        openstack server resize confirm resize-01
      • 将实例从 tvdc-01 移至 tvdc-02
        openstack server resize resize-01 --flavor m1.tvdc-02
        openstack server resize confirm resize-01
      • 将实例移出 tvdc-02
        openstack server resize resize-01 --flavor m1.small
        openstack server resize confirm resize-01

结果

租户虚拟数据中心已创建。现在可以通过为实例配置在此过程中修改的特定实例,在租户虚拟数据中心中启动这些实例。

下一步做什么

可以通过运行 viocli get tenant-vdcs ttvdc-uuid 命令在租户虚拟数据中心中显示资源池。每个资源池都会列出提供商 ID、项目 ID、状态、最小和最大 CPU、最小和最大内存以及计算节点信息。如果租户虚拟数据中心包含多个资源池,则第一行显示所有池的汇总信息。

运行 viocli update tenant-vdc 命令可以更新租户虚拟数据中心,而运行 viocli delete tenant-vdc 命令可以删除租户虚拟数据中心。