我一直在想,是否有一种工具可以监视OpenStack如何为其虚拟基础架构使用物理资源(集群[cpus,ram],networking[接口,交换机])? Horizon中可以看到虚拟基础架构,但是如何将其映射到物理资源不是。 有没有办法获得这些信息?
在物理基础架构上添加监控资源利用率是一回事(谢谢Jeroen向我展示了方向),但是我也感兴趣的是VM X正在主机Z的CPU Y上使用接口A和磁盘B(其中Y ,Z,A,B是运行OpenStack的集群的一部分)。 OpenStack需要以某种方式保存这些信息,所以我想知道是否有任何工具或提取方式,或者是否需要自己的黑客攻击?
另外我感兴趣的是OpenStack如何决定哪些资源应该分配给启动的虚拟机实例。 假设OpenStack正在某个群集上运行,而某人正在启动一个虚拟机实例。 它如何从集群中为其分配物理资源? 它是使用任何聪明的策略或algorithm或是随机的? 请您列举任何来源,这可能有助于进一步研究这个问题? IAAS中的资源分配,尤其是在OpenStack中。
如果您想要每个VM /租户的资源使用情况,您可以使用Ceilometer 。 如果你想监视OpenStack服务而不是虚拟机,你可能需要自己创build一些东西(例如collectd / diamond + graphite)。
数据库中存储了哪些卷连接到VM的信息(取决于您的设置,它可能是Cinder DB)。 当您启动虚拟机时,nova-scheduler将尝试find一个虚拟机pipe理程序,该虚拟机库有足够的资源来生成虚拟机。 它使用一个algorithm来做到这一点。