OS api v2.1/{tenant-id}/os-hypervisors/detail
的响应返回一个具有负值的参数disk_available_least
。
我想知道这个参数是什么以及它是如何计算的。
尝试在OpenStack文档中搜索但没有运气。
答案 0 :(得分:2)
虽然虚拟化有助于更好地利用资源,但大多数时候它仍然可以更加优化。
例如,开发人员的工作站每天只使用8-9小时。分配给此工作站的资源可用于在不同班次工作的其他开发人员。另一个例子是,可能并非所有分配的RAM都是机器在大多数时间使用的。
Openstack允许我们过度提交CPU,磁盘和RAM。检查官方的openstack文档here
这意味着虽然我们的物理机只有100GB的RAM但我们可以创建具有150GB累积分配RAM的VM,具体取决于过度承诺率。
回答问题
disk_available_least使用以下公式计算:
disk_available_least = disk_free_gb - disk_over_committed
正如您所看到的,此值取决于磁盘的过度提交值,该值可能高于磁盘的物理值以及可用磁盘大小,从而导致负值。
有一个非常good page用openstack的示例和实际源代码解释这种现象。