什么是 openstack 中管理程序的 disk_available_least 参数

What is disk_available_least parameter of hypervisor in openstack

OS api v2.1/{tenant-id}/os-hypervisors/detail 的响应返回一个参数 disk_available_least,该参数具有负值。 我想知道这个参数是什么以及它是如何计算的

尝试在 OpenStack 文档中搜索但没有成功。

过度承诺


虽然虚拟化有助于更好地利用资源,但大多数时候它仍然可以进一步优化。

例如,开发人员的工作站每天只使用 8-9 小时。分配给该工作站的资源可用于不同班次工作的其他开发人员。另一个例子是,可能并非所有分配的 RAM 大部分时间都被机器使用。

Openstack 允许我们过度提交 CPU、磁盘和 RAM。查看官方 openstack 文档 here

这意味着虽然我们有只有 100GB RAM 的物理机,但我们可以创建累积分配 RAM 可能为 150GB 的 VM,具体取决于过度承诺比率。

问题的答案


disk_available_least 使用以下公式计算:

disk_available_least = disk_free_gb - disk_over_committed

如您所见,此值取决于磁盘的过度使用值,该值可能高于磁盘的物理值以及可用磁盘大小,这会导致负值。

有一个非常good page用示例和openstack的实际源代码解释了这种现象。