VMware 限制、份额和预留¶
https://blueprints.launchpad.net/nova/+spec/vmware-limits
VMware Virtual Center 提供了指定 CPU、内存、磁盘和网络适配器的限制、预留和份额的选项。
在 Juno 周期中,添加了对 CPU 限制、预留和份额的支持。此蓝图提出了一种支持内存、磁盘和网络限制、预留和份额的方法。
对于限制,利用率将不超过限制。预留将为实例保证。份额用于确定资源消费者之间的相对分配。通常,拥有更多份额的消费者将按比例获得更多资源,但受到其他某些约束的限制。
问题描述¶
VMware 驱动程序仅能够支持 CPU 限制。为管理员提供为内存、磁盘和网络适配器提供限制、预留和份额的能力,将是为租户提供 QoS 的非常有用的工具。
用例¶
这将使云提供商能够向客户提供 SLA
这将允许租户保证性能
项目优先级¶
无
提议的变更¶
由于不同驱动程序的不同模型以及后端暴露的 API,我们无法利用现有的 flavor extra specs。
例如,对于设备,libvirt 使用:‘hw_rng:rate_bytes’、‘hw_rng:rate_period’。
此外,还有以下磁盘 I/O 选项
‘disk_read_bytes_sec’、‘disk_read_iops_sec’、‘disk_write_bytes_sec’、‘disk_write_iops_sec’、‘disk_total_bytes_sec’ 和 ‘disk_total_iops_sec’。
对于带宽限制,有 ‘rxtx_factor’。 这将无法使我们为 vifs 提供限制、预留和份额。 这在某些基础中用于将信息传递给 Neutron,以便后端网络可以进行限制。 可以为 vifs 配置以下 extra_specs 以进行带宽 I/O
‘vif_inbound_average’、‘vif_inbound_burst’、‘vif_inbound_peak’、‘vif_outbound_average’、‘vif_outbound_burst’ 和 ‘vif_outbound_peak’。
由于 VC API,以上所有内容对于 VMware 驱动程序来说都是不可能的。 以下建议了以下补充内容
将为以下内容公开限制、预留和份额
memory
磁盘
网络适配器
flavor extra specs 用于 quotas 已经扩展以支持
quota:memory_limit - 虚拟机的内存利用率将不超过此限制,即使有可用资源。 这通常用于确保虚拟机在可用资源独立的情况下保持一致的性能。 单位为 MB。
quota:memory_reservation - 保证的最小预留 (MB)
quota:memory_shares_level - 分配级别。 这可以是 ‘custom’、‘high’ ‘normal’ 或 ‘low’。
quota:memory_shares_share - 如果使用 ‘custom’,则此为份额数。
quota:disk_io_limit - 虚拟机的 I/O 利用率将不超过此限制。 单位为每秒 I/O 数。
quota:disk_io_reservation - 预留控制用于在 IOPS 方面提供保证的分配
quota:disk_io_shares_level - 分配级别。 这可以是 ‘custom’、‘high’ ‘normal’ 或 ‘low’。
quota:disk_io_shares_share - 如果使用 ‘custom’,则此为份额数。
quota:vif_limit - 虚拟网络适配器的带宽限制。 虚拟网络适配器的利用率将不超过此限制,即使有可用资源。 单位为 Mbits/sec。
quota:vif_reservation - 保证给虚拟网络适配器的网络带宽量。 如果利用率低于预留,则其他虚拟网络适配器可以使用该资源。 预留不允许超过设置限制的值(如果设置了限制)。 单位为 Mbits/sec。
quota:vif_shares_level - 分配级别。 这可以是 ‘custom’、‘high’ ‘normal’ 或 ‘low’。
quota:vif_shares_share - 如果使用 ‘custom’,则此为份额数。
备选方案¶
另一种选择是创建一个抽象的用户概念,它可以帮助隐藏细节以及与最终用户之间的差异,并将差异隔离到仅管理员用户。
这实际上超出了所提出内容的范围,并且需要大量的跨驱动程序工作。 这不仅与 flavors 相关,可能也与 images 相关。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
防止实例耗尽存储资源可能会对性能产生重大影响。
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
garyk
工作项¶
限制、预留和份额的通用对象
内存支持
磁盘支持
vif 支持
依赖项¶
无
测试¶
这将由 VMware CI 进行测试。 我们将添加测试来验证这一点。
文档影响¶
这应该在 VMware 部分记录。
参考资料¶
vCenter API 可以在以下链接中查看
磁盘 I/O:http://goo.gl/uepivS
网络适配器:http://goo.gl/c2amhq
历史¶
无