分享

请问openstack中虚拟机状态信息的更新是怎样的机制

dpyicyqgldx 发表于 2013-10-17 21:29:36 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 8388
在openstack的测试中,经常发现虚拟机状态不匹配的情况。一般情况下dashboard上和数据库中的信息是一致的,在虚拟机所在的计算节点使用virsh查看到的状态会和数据库中的不一致。
请帮忙讲解一下这个里面有什么机制,或者虚拟机信息在数据库中的更新这块如何在源码里面追踪
              
               
                    OpenStack
                    虚拟机
               

已有(5)人评论

跳转到指定楼层
aplssljl 发表于 2013-10-17 21:30:11

            以前用过kvm虚拟机的都应该知道,virsh是使用libvirt库开发的一套管理虚拟机包括虚拟资源的软件。
openstack里面应该也是直接调用libvirt库的python实现来维护自己的数据库的。至于dashboard,那就是使用openstack的api,自然就是从opentack自己的数据库里面取数据的。
这个是我的理解,因为不是搞开发的,没读过太多openstack源代码,只是从经验上来猜测。
        
回复

使用道具 举报

dpyicyqgldx 发表于 2013-10-17 21:30:49

            嗯。对虚拟机的操作确实是通过libvirt来执行的,在虚拟机状态这部分,openstack跟libvirt的同步好像还不是很完善,准备到源码里看看细节。
        
回复

使用道具 举报

aplssljl 发表于 2013-10-17 21:31:21

            我的理解是,openstack和virsh是同一概念上的东西,他们都是利用了libvirt库来封装的软件,只能说openstack和virsh不同步,当然,他们是两个东西,也没必要同步吧。
        
回复

使用道具 举报

jevmnrlzr 发表于 2013-10-17 21:32:00

            virsh的状态和libvirt报告的是一回事。libvirt的状态经过简单抽象变成power_state. power_state会定期向数据库更新。
代码在 nova.compute.manager.ComputeVirtAPI._sync_power_states
        
回复

使用道具 举报

jiutianfeiwu 发表于 2013-10-17 21:32:40

            是查的数据库
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条