使用opennebula创建的虚拟机通过 先 stop 在resume的方式处理。
在stop的时候,虚拟机状态的变化为:先变成 save_stop在变成stopped,这样才算关闭完成。
之后,再使用操作 resume进行虚拟机的pendding。
如果直接使用shutdown的话,是无法到达 stopped状态的,日志显示如下错误:
Sat Mar 2 19:57:40 2013 [VMM][I]: Successfully execute network driver operation: pre.
Sat Mar 2 19:57:44 2013 [VMM][I]: /var/tmp/one/vmm/xen/xenrc: line 22: *export: command not found
关于这个问题,应该是xen 4.1.x的问题。
之前在xen 4.1.x的时候,修改过其中的配置文件,/var/tmp/one/vmm/xen/xenrc,将其中的
export XM_CREDITS="sudo $XM_PATH sched-cred"
修改为了 *export XM_CREDITS="sudo $XM_PATH sched-credit"*
这样做的目的是因为如果不修改,opennebula则无法部署虚拟机。这个问题是因为
I was facing a similar issue. It seems that Xen 4.1 doesnt understand
sched-cred but it does understand* sched-credit*. To resolve the issue, I
changed sched-cred to sched-credit in *xenrc* file located at
/var/tmp/one/vmm/xen/xenrc on the cluster host where xen 4.1 is installed
我想,如果使用kvm作为hypervisor应该不会出现这个问题,或者选中其他版本的xen。