You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-cn@cloudstack.apache.org by Train Lau <sz...@gmail.com> on 2012/12/11 18:30:53 UTC

无法进行vm的迁移

我这里使用了vsphere作为hypervisior,并且已经加入了CS,系统虚拟机和虚拟路由都建好了,我用了2台esxi连接到iscsi作为共享存储。
基本环境是
cs ip:192.168.29.210
vcenter ip:192.168.20.33
esxi1 ip:192.168.29.1
esxi2 ip:192.168.29.2

问题是这样的,当我在UI中选择将一个用户虚拟机从一个主机迁移到另一个主机的时候,无法迁移,界面上提示:“Failed to migrate vm”
 并且management.log中有如下日志输出:

2012-12-12 01:02:59,501 DEBUG [agent.transport.Request]
(Job-Executor-3:job-30) Seq 2-996278333: Sending  { Cmd , MgmtId:
132129487565621, via: 2, Ver: v1, Flags: 100111,
[{"MigrateCommand":{"vmName":"i-2-3-VM","destIp":"192.168.29.1","hostGuid":"
HostSystem:host-3259@192.168.20.33","isWindows":false,"wait":0}}] }
2012-12-12 01:02:59,501 DEBUG [agent.transport.Request]
(Job-Executor-3:job-30) Seq 2-996278333: Executing:  { Cmd , MgmtId:
132129487565621, via: 2, Ver: v1, Flags: 100111,
[{"MigrateCommand":{"vmName":"i-2-3-VM","destIp":"192.168.29.1","hostGuid":"
HostSystem:host-3259@192.168.20.33","isWindows":false,"wait":0}}] }
2012-12-12 01:02:59,501 DEBUG [agent.manager.DirectAgentAttache]
(DirectAgent-62:null) Seq 2-996278333: Executing request
2012-12-12 01:02:59,502 INFO  [vmware.resource.VmwareResource]
(DirectAgent-62:192.168.29.2) Executing resource MigrateCommand:
{"vmName":"i-2-3-VM","destIp":"192.168.29.1","hostGuid":"
HostSystem:host-3259@192.168.20.33","isWindows":false,"wait":0}
2012-12-12 01:03:00,075 TRACE [vmware.mo.ClusterMO]
(DirectAgent-62:192.168.29.2) vCenter API trace - retrieveProperties() for
VM properties. target MOR: domain-c9719, properties: ["name"]
2012-12-12 01:03:00,379 TRACE [vmware.mo.ClusterMO]
(DirectAgent-62:192.168.29.2) vCenter API trace - retrieveProperties() done
2012-12-12 01:03:01,006 TRACE [vmware.mo.HostMO]
(DirectAgent-62:192.168.29.2) vCenter API trace -
getHyperHostNetworkSummary(). target MOR: host-1379, mgmtPortgroup: esxmgt
2012-12-12 01:03:01,666 TRACE [vmware.mo.HostMO]
(DirectAgent-62:192.168.29.2) vCenter API trace -
getHyperHostNetworkSummary() done(failed)
2012-12-12 01:03:01,666 WARN  [vmware.resource.VmwareResource]
(DirectAgent-62:192.168.29.2) MigrationCommand failed due to Exception:
java.lang.Exception
Message: Uanble to find management port group esxmgt

java.lang.Exception: Uanble to find management port group esxmgt
        at
com.cloud.hypervisor.vmware.mo.HostMO.getHyperHostNetworkSummary(HostMO.java:905)
        at
com.cloud.hypervisor.vmware.resource.VmwareResource.getTargetHyperHost(VmwareResource.java:2987)
        at
com.cloud.hypervisor.vmware.resource.VmwareResource.execute(VmwareResource.java:2950)
        at
com.cloud.hypervisor.vmware.resource.VmwareResource.executeRequest(VmwareResource.java:369)
        at
com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
2012-12-12 01:03:01,667 DEBUG [agent.manager.DirectAgentAttache]
(DirectAgent-62:null) Seq 2-996278333: Response Received:
2012-12-12 01:03:01,667 DEBUG [agent.transport.Request]
(DirectAgent-62:null) Seq 2-996278333: Processing:  { Ans: , MgmtId:
132129487565621, via: 2, Ver: v1, Flags: 110,
[{"MigrateAnswer":{"result":false,"details":"MigrationCommand failed due to
Exception: java.lang.Exception\nMessage: Uanble to find management port
group esxmgt\n","wait":0}}] }
2012-12-12 01:03:01,667 DEBUG [agent.manager.AgentAttache]
(DirectAgent-62:null) Seq 2-996278333: No more commands found
2012-12-12 01:03:01,667 DEBUG [agent.transport.Request]
(Job-Executor-3:job-30) Seq 2-996278333: Received:  { Ans: , MgmtId:
132129487565621, via: 2, Ver: v1, Flags: 110, { MigrateAnswer } }
2012-12-12 01:03:01,667 ERROR [cloud.vm.VirtualMachineManagerImpl]
(Job-Executor-3:job-30) Unable to migrate due to MigrationCommand failed
due to Exception: java.lang.Exception
Message: Uanble to find management port group esxmgt

2012-12-12 01:03:01,667 INFO  [cloud.vm.VirtualMachineManagerImpl]
(Job-Executor-3:job-30) Migration was unsuccessful.  Cleaning up:
VM[User|ef2974ac-e39e-4007-8738-99945db9eeb2]
2012-12-12 01:03:01,669 DEBUG [cloud.alert.AlertManagerImpl]
(Job-Executor-3:job-30) Have already sent: 1 emails for alert type '16' --
skipping send email
2012-12-12 01:03:01,670 DEBUG [agent.manager.AgentAttache]
(Job-Executor-3:job-30) Seq 1-472711216: Routed from 132129487565621

我已经将esxi的管理流量的vkernal的名字修改为了esxmgt,并且在cs的全局属性中也修改了,可是这个错误日志还是提示无法找到这个esxmgt端口组。

请问我该如何解决这个问题呢?

多谢
Train

Re: 无法进行vm的迁移

Posted by 马营 <br...@gmail.com>.
你的venter里面有几个数据中心?这个问题我们也碰到过
管理流量网口不一定要改名字,用默认的就行
关键是cs用的cluster必须要单独属于一个数据中心,否则它可能会去其他数据中心的机器上查询网络,然后发现没有需要的网络,报错
这是我们最终解决问题的方法,仅供参考

2012/12/12 Train Lau <sz...@gmail.com>

>
> 我这里使用了vsphere作为hypervisior,并且已经加入了CS,系统虚拟机和虚拟路由都建好了,我用了2台esxi连接到iscsi作为共享存储。
> 基本环境是
> cs ip:192.168.29.210
> vcenter ip:192.168.20.33
> esxi1 ip:192.168.29.1
> esxi2 ip:192.168.29.2
>
> 问题是这样的,当我在UI中选择将一个用户虚拟机从一个主机迁移到另一个主机的时候,无法迁移,界面上提示:“Failed to migrate vm”
>  并且management.log中有如下日志输出:
>
> 2012-12-12 01:02:59,501 DEBUG [agent.transport.Request]
> (Job-Executor-3:job-30) Seq 2-996278333: Sending  { Cmd , MgmtId:
> 132129487565621, via: 2, Ver: v1, Flags: 100111,
>
> [{"MigrateCommand":{"vmName":"i-2-3-VM","destIp":"192.168.29.1","hostGuid":"
> HostSystem:host-3259@192.168.20.33","isWindows":false,"wait":0}}] }
> 2012-12-12 01:02:59,501 DEBUG [agent.transport.Request]
> (Job-Executor-3:job-30) Seq 2-996278333: Executing:  { Cmd , MgmtId:
> 132129487565621, via: 2, Ver: v1, Flags: 100111,
>
> [{"MigrateCommand":{"vmName":"i-2-3-VM","destIp":"192.168.29.1","hostGuid":"
> HostSystem:host-3259@192.168.20.33","isWindows":false,"wait":0}}] }
> 2012-12-12 01:02:59,501 DEBUG [agent.manager.DirectAgentAttache]
> (DirectAgent-62:null) Seq 2-996278333: Executing request
> 2012-12-12 01:02:59,502 INFO  [vmware.resource.VmwareResource]
> (DirectAgent-62:192.168.29.2) Executing resource MigrateCommand:
> {"vmName":"i-2-3-VM","destIp":"192.168.29.1","hostGuid":"
> HostSystem:host-3259@192.168.20.33","isWindows":false,"wait":0}
> 2012-12-12 01:03:00,075 TRACE [vmware.mo.ClusterMO]
> (DirectAgent-62:192.168.29.2) vCenter API trace - retrieveProperties() for
> VM properties. target MOR: domain-c9719, properties: ["name"]
> 2012-12-12 01:03:00,379 TRACE [vmware.mo.ClusterMO]
> (DirectAgent-62:192.168.29.2) vCenter API trace - retrieveProperties() done
> 2012-12-12 01:03:01,006 TRACE [vmware.mo.HostMO]
> (DirectAgent-62:192.168.29.2) vCenter API trace -
> getHyperHostNetworkSummary(). target MOR: host-1379, mgmtPortgroup: esxmgt
> 2012-12-12 01:03:01,666 TRACE [vmware.mo.HostMO]
> (DirectAgent-62:192.168.29.2) vCenter API trace -
> getHyperHostNetworkSummary() done(failed)
> 2012-12-12 01:03:01,666 WARN  [vmware.resource.VmwareResource]
> (DirectAgent-62:192.168.29.2) MigrationCommand failed due to Exception:
> java.lang.Exception
> Message: Uanble to find management port group esxmgt
>
> java.lang.Exception: Uanble to find management port group esxmgt
>         at
>
> com.cloud.hypervisor.vmware.mo.HostMO.getHyperHostNetworkSummary(HostMO.java:905)
>         at
>
> com.cloud.hypervisor.vmware.resource.VmwareResource.getTargetHyperHost(VmwareResource.java:2987)
>         at
>
> com.cloud.hypervisor.vmware.resource.VmwareResource.execute(VmwareResource.java:2950)
>         at
>
> com.cloud.hypervisor.vmware.resource.VmwareResource.executeRequest(VmwareResource.java:369)
>         at
>
> com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:191)
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
>         at
>
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:679)
> 2012-12-12 01:03:01,667 DEBUG [agent.manager.DirectAgentAttache]
> (DirectAgent-62:null) Seq 2-996278333: Response Received:
> 2012-12-12 01:03:01,667 DEBUG [agent.transport.Request]
> (DirectAgent-62:null) Seq 2-996278333: Processing:  { Ans: , MgmtId:
> 132129487565621, via: 2, Ver: v1, Flags: 110,
> [{"MigrateAnswer":{"result":false,"details":"MigrationCommand failed due to
> Exception: java.lang.Exception\nMessage: Uanble to find management port
> group esxmgt\n","wait":0}}] }
> 2012-12-12 01:03:01,667 DEBUG [agent.manager.AgentAttache]
> (DirectAgent-62:null) Seq 2-996278333: No more commands found
> 2012-12-12 01:03:01,667 DEBUG [agent.transport.Request]
> (Job-Executor-3:job-30) Seq 2-996278333: Received:  { Ans: , MgmtId:
> 132129487565621, via: 2, Ver: v1, Flags: 110, { MigrateAnswer } }
> 2012-12-12 01:03:01,667 ERROR [cloud.vm.VirtualMachineManagerImpl]
> (Job-Executor-3:job-30) Unable to migrate due to MigrationCommand failed
> due to Exception: java.lang.Exception
> Message: Uanble to find management port group esxmgt
>
> 2012-12-12 01:03:01,667 INFO  [cloud.vm.VirtualMachineManagerImpl]
> (Job-Executor-3:job-30) Migration was unsuccessful.  Cleaning up:
> VM[User|ef2974ac-e39e-4007-8738-99945db9eeb2]
> 2012-12-12 01:03:01,669 DEBUG [cloud.alert.AlertManagerImpl]
> (Job-Executor-3:job-30) Have already sent: 1 emails for alert type '16' --
> skipping send email
> 2012-12-12 01:03:01,670 DEBUG [agent.manager.AgentAttache]
> (Job-Executor-3:job-30) Seq 1-472711216: Routed from 132129487565621
>
>
> 我已经将esxi的管理流量的vkernal的名字修改为了esxmgt,并且在cs的全局属性中也修改了,可是这个错误日志还是提示无法找到这个esxmgt端口组。
>
> 请问我该如何解决这个问题呢?
>
> 多谢
> Train
>