OpenStack Nova 实例规格(Flavors)详解

OpenStack Nova 实例规格(Flavors)详解

nova OpenStack Compute (Nova). Mirror of code maintained at opendev.org. nova 项目地址: https://gitcode.com/gh_mirrors/no/nova

什么是实例规格(Flavor)?

在OpenStack Nova中,实例规格(Flavor)定义了计算实例的硬件配置,包括计算能力、内存大小和存储容量等参数。简单来说,Flavor决定了你创建的虚拟机"有多大"。每个Flavor都代表一种可用的服务器硬件配置方案。

Flavor的核心参数解析

基础参数

  1. Flavor ID

    • 每个Flavor的唯一标识符,可以是整数或UUID格式
    • 设置为"auto"时可自动生成UUID
  2. 名称(Name)

    • Flavor的可读名称
    • 传统命名格式为XX.SIZE_NAME(如m1.small),但现代部署中不再严格要求
  3. 虚拟CPU(VCPUs)

    • 分配给实例的虚拟CPU核心数
    • 直接影响实例的计算处理能力
  4. 内存(Memory MB)

    • 分配给实例的内存大小,单位为MB
    • 决定了实例能同时处理的任务量
  5. 根磁盘(Root Disk GB)

    • 用于根分区(/)的磁盘空间,单位为GB
    • 特殊值0表示使用基础镜像的原始大小
    • 对于从持久化卷启动的实例,根磁盘不会被使用

可选参数

  1. 临时磁盘(Ephemeral Disk GB)

    • 临时存储空间,与实例生命周期绑定
    • 实例终止时数据会丢失
    • 默认值为0(不分配)
  2. 交换空间(Swap)

    • 交换分区大小,单位为MB
    • 默认值为0(不分配)
  3. 公开性(Is Public)

    • 布尔值,决定Flavor是否对所有项目可见
    • 私有Flavor仅对特定项目可见
  4. 描述(Description)

    • Flavor的详细说明文本
    • 最大支持65535个字符

高级特性:Extra Specs详解

Extra Specs是Flavor的扩展属性,用于实现更精细的资源调度和控制。

1. 视频内存控制

通过hw_video:ram_max_mb可以设置视频内存的最大值,需与镜像属性hw_video_ram配合使用。目前支持libvirt和vmware驱动。

2. 安全启动(Secure Boot)

从Wallaby版本(23.0.0)开始,libvirt驱动支持安全启动功能:

openstack flavor set FLAVOR-NAME --property os:secure_boot=required

可选值:

  • required:强制启用安全启动
  • disabled/optional:禁用安全启动(默认)

3. 自定义资源类

从Pike版本(16.0.0)开始支持:

  • 语法:resources:<resource_class_name>=VALUE
  • 自定义资源类必须以CUSTOM_开头
  • 可以覆盖标准资源类(VCPU、MEMORY_MB、DISK_GB)

示例:

resources:CUSTOM_BAREMETAL_SMALL=1
resources:VCPU=0  # 禁用基于CPU的调度

4. 资源特性要求

从Queens版本(17.0.0)开始支持:

  • 语法:trait:<trait_name>=required
  • 确保实例运行在具有指定特性的计算节点上

示例:

trait:HW_CPU_X86_AVX2=required  # 需要支持AVX2指令集
trait:STORAGE_DISK_SSD=required  # 需要SSD存储

从Rocky版本(18.0.0)开始还支持禁止特性:

trait:HW_CPU_X86_AVX2=forbidden  # 禁止使用支持AVX2的节点

5. 分组资源分配

从Rocky版本(18.0.0)开始支持复杂的资源分组策略:

resources1:SRIOV_NET_VF=1
resources1:NET_EGRESS_BYTES_SEC=10000
trait1:CUSTOM_PHYSNET_NET1=required
group_policy=isolate

分组策略选项:

  • isolate:不同组必须由不同资源提供者满足
  • none:允许不同组由相同资源提供者满足

最佳实践建议

  1. 根磁盘大小:除非特殊需要,不建议设置为0,这会影响调度器的决策能力

  2. 私有Flavor:对于有特殊硬件需求的场景,建议创建私有Flavor

  3. Extra Specs:合理使用可以优化资源利用率,但需确保计算节点确实支持这些特性

  4. 版本兼容性:使用高级特性时需注意Nova版本支持情况

  5. 命名规范:虽然不再强制要求,但建议保持一致的命名规则便于管理

通过合理配置Flavor,管理员可以精确控制云环境中虚拟机的资源分配,满足不同业务场景的需求。

nova OpenStack Compute (Nova). Mirror of code maintained at opendev.org. nova 项目地址: https://gitcode.com/gh_mirrors/no/nova

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田子蜜Robust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值