管理风味

管理员可以使用 openstack flavor 命令来定制和管理风味。要查看此命令的信息,请运行

$ openstack flavor --help
Command "flavor" matches:
  flavor create
  flavor delete
  flavor list
  flavor set
  flavor show
  flavor unset

注意

可以通过重新定义 os_compute_api:os-flavor-manage:createos_compute_api:os-flavor-manage:updateos_compute_api:os-flavor-manage:deletenova-api 服务器上的 /etc/nova/policy.yaml 中,将权限委派给其他用户。

注意

风味定制可能受到所用虚拟化驱动程序(hypervisor)的限制。例如,libvirt 驱动程序可以对虚拟机可用的 CPU、磁盘调整、带宽 I/O、看门狗行为、随机数生成器设备控制和实例 VIF 流量控制进行配额管理。

有关风味和风味附加规格(extra specs)的信息,请参阅 风味

创建风味

  1. 列出风味以显示每个风味的 ID 和名称、内存量、根分区和临时分区磁盘空间量、交换空间以及虚拟 CPU 数量

    $ openstack flavor list
    
  2. 要创建风味,请指定风味的名称、ID、RAM 大小、磁盘大小和 vCPU 数量,如下所示

    $ openstack flavor create FLAVOR_NAME --id FLAVOR_ID \
        --ram RAM_IN_MB --disk ROOT_DISK_IN_GB --vcpus NUMBER_OF_VCPUS
    

    注意

    新风味的唯一 ID(整数或 UUID)。如果指定 ‘auto’,则会自动生成 UUID。

    这是一个示例,它创建了一个公共 m1.extra_tiny 风味,该风味自动分配一个 ID,具有 256 MB 内存、无磁盘空间和一个 VCPU。

    $ openstack flavor create --public m1.extra_tiny --id auto \
        --ram 256 --disk 0 --vcpus 1
    
  3. 如果单个用户或用户组需要一个自定义风味,并且您不希望其他项目拥有访问权限,则可以创建一个私有风味。

    $ openstack flavor create --private m1.extra_tiny --id auto \
        --ram 256 --disk 0 --vcpus 1
    

    创建风味后,通过指定风味名称或 ID 以及项目 ID 将其分配给项目

    $ openstack flavor set --project PROJECT_ID m1.extra_tiny
    

    要获取可选参数列表,请运行此命令

    $ openstack help flavor create
    
  4. 此外,您可以设置或取消设置现有风味的属性,通常称为“附加规格(extra specs)”。extra_specs 元数据键可以在实例启动时直接影响实例。如果风味设置了 quota:vif_outbound_peak=65536 附加规格,则实例的出站峰值带宽 I/O 应该小于或等于 512 Mbps。有几个方面可以为实例工作,包括CPU 限制磁盘调整带宽 I/O看门狗行为随机数生成器。有关可用元数据键的信息,请参阅 风味

    要获取可选参数列表,请运行此命令

    $ openstack flavor set --help
    

修改风味

只有风味的描述可以被修改(从 microversion 2.55 开始)。要修改风味的描述,请指定风味名称或 ID 以及新的描述,如下所示

$ openstack --os-compute-api-version 2.55 flavor set --description <DESCRIPTION> <FLAVOR>

注意

唯一可以更新的字段是描述字段。Nova 历史上有意不包含更新风味的 API,因为这对于已经使用该风味创建的实例来说会令人困惑。更改风味的任何其他方面都需要删除和/或创建新的风味。

Nova 在 instance_extra 表中存储与实例记录关联的风味序列化版本。虽然 nova 支持 更新风味 extra_specs,但它不会更新现有实例中的嵌入式风味。Nova 不会更新嵌入式风味,因为 extra_specs 的更改可能会使实例的当前放置无效或更改虚拟化驱动程序为实例创建的计算上下文。因此,管理员应避免更新现有实例使用的风味的 extra_specs。如果需要,可以使用调整大小来更新现有实例,但由于调整大小执行冷迁移,因此对租户来说并非透明。

删除风味

要删除风味,请指定风味名称或 ID,如下所示

$ openstack flavor delete FLAVOR

默认风味

nova 的早期版本通常会部署默认风味。这在 Newton 中已被移除。下表列出了 Mitaka 及更早版本的默认风味。

风味

VCPUs

磁盘(单位:GB)

内存(单位:MB)

m1.tiny

1

1

512

m1.small

1

20

2048

m1.medium

2

40

4096

m1.large

4

80

8192

m1.xlarge

8

160

16384