因为openstack的数据库中对虚拟机的信息记录涉及到很多张表,所以如果你不是对openstack虚拟机数据十分熟悉的话,直接插库就太麻烦了。
说下自己实验的一个方法,我使用的是openstack对接vcenter,虽然不是直接对接ESXI,但是原理应该一样,可以参考下:
1.首先保证openstack对接vcenter或ESXI是成功的,可以通过openstack创建虚拟机
2.根据你要接管的虚拟机规格,网络等信息,在openstack创建对应的flavor和网络。
3.通过openstack创建一个虚拟机,规格,网络等信息和你要接管的虚拟机一样的虚拟机
4.由于通过openstack创建的虚拟机在vmware上都是以openstack虚拟机的UUID命名的,所以等这个虚拟机创建好后,在vcenter或者ESXI上把你要接管的虚拟机重命名为这个UUID,当然那个你通过openstack创建要先改成其他的名字。
5.这样后续通过openstack操作这个虚拟机时,VMware上就对应这个要接管的虚拟机了。我自己在openstack对接vcenter的环境上试验了,可以成功在openstack上对这个虚拟机进行启停操作。
PS:目前openstack对接ESXI这种方式以及不推荐了,openstack社区后续都是重点推openstack对接vcenter的方式,如果没有必要限制条件的话,建议还是对接vcenter吧。

解决方案 »

  1.   

    Dear  sxmatch and echoguo1011
    这几个人帖子写得很详细,但是我按照此方法操作的时候还是无法实现openstack对vcenter中虚拟机的管理。首先我的openstack已经与vcenter集成对接了,通过opengstack管理界面创建出来的虚拟机在vcenter中默认的显示名就是openstack创建出来的虚拟机uuid,我按照你的方法将待接管的vcenter虚拟机的显示名修改为openstack创建出来的虚拟机uuid,但是在openstack对虚拟机操作的对象还是对应openstack创建出来的那个虚拟机,而不是待接管的vcenter虚拟机。
    目前急需解决这个问题,所以想跟您求救,请您帮忙看下是不是我的方法错了,还是您有更好的解决办法,希望您能给予帮忙,在下十分感激,方便的话可以加我QQ346946517,先谢过。