欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CloudStack中,KVM上VM迁移失败的解决方法 博客分类: 虚拟化CloudStack CloudStackkvm迁移uuidvm 

程序员文章站 2024-03-05 09:04:18
...

在群里,有朋友问到,使用kvm的主机,迁移VM失败。在迁移的时候UI上选择迁移主机的时候提示(not suitable),迁移操作后的报错log如下:

 

log 写道
2013-05-10 12:21:12,906 DEBUG [agent.transport.Request] (StatsCollector-1:null) Seq 12-1822163042: Received: { Ans: , MgmtId: 165160840324569, via: 12, Ver: v1, Flags: 10, { GetStorageStatsAnswer } }
DEBUG [cloud.async.AsyncJobManagerImpl] (catalina-exec-23:null) submit async job-110, details: AsyncJobVO {id:110, userId: 2, accountId: 2, sessionKey: null, instanceType: None, instanceId: null, cmd: com.cloud.api.commands.MigrateVMCmd, cmdOriginator: null, cmdInfo: {"response":"json","sessionkey":"+UUFHn2vEgL8D23672YRc8DKh6s\u003d","virtualmachineid":"577fecb0-5e1a-4d8e-a986-e9b5ff482a41","hostid":"837fc7af-4c52-4945-a85a-a1e581241eeb","ctxUserId":"2","_":"1368159672367","ctxAccountId":"2","ctxStartEventId":"370"}, cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, processStatus: 0, resultCode: 0, result: null, initMsid: 165160840324569, completeMsid: null, lastUpdated: null, lastPolled: null, created: null}
2013-05-10 12:21:13,531 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-71:job-110) Executing com.cloud.api.commands.MigrateVMCmd for job-110
2013-05-10 12:21:13,556 INFO [cloud.vm.VirtualMachineManagerImpl] (Job-Executor-71:job-110) Migrating VM[User|kvmtest1] to Dest[Zone(Id)-Pod(Id)-Cluster(Id)-Host(Id)-Storage(Volume(Id|Type-->Pool(Id))] : Dest[Zone(1)-Pod(1)-Cluster(1)-Host(12)-Storage()]
2013-05-10 12:21:13,576 DEBUG [cloud.storage.StorageManagerImpl] (Job-Executor-71:job-110) Preparing 1 volumes for VM[User|kvmtest1]
2013-05-10 12:21:13,594 DEBUG [agent.transport.Request] (Job-Executor-71:job-110) Seq 12-1822163043: Sending { Cmd , MgmtId: 165160840324569, via: 12, Ver: v1, Flags: 100111, [{"PrepareForMigrationCommand":{"vm":{"id":7,"name":"i-2-7-VM","type":"User","cpus":2,"speed":2,"minRam":4294967296,"maxRam":4294967296,"arch":"x86_64","os":"CentOS 6.0 (64-bit)","bootArgs":"","rebootOnCrash":false,"enableHA":true,"limitCpuUse":false,"vncPassword":"45f1e9bf5d1cdaa8","params":{},"uuid":"577fecb0-5e1a-4d8e-a986-e9b5ff482a41","disks":[{"id":6,"name":"ROOT-7","mountPoint":"/primary","path":"173f67f8-45ad-4af7-899f-0d8a8597b73c","size":5368709120,"type":"ROOT","storagePoolType":"NetworkFilesystem","storagePoolUuid":"df6510f2-e971-3713-8fdd-aa6c5fe8d72c","deviceId":0},{"id":7,"path":"nfs://10.1.111.150condary/template/tmpl/2/203//203-2-6cee0418-f55e-37cc-88ba-aae74dd8b3f5.iso","size":0,"type":"ISO","storagePoolType":"ISO","deviceId":0}],"nics":[{"deviceId":0,"networkRateMbps":200,"defaultNic":true,"uuid":"976fab39-6b0e-44e9-868d-8b495a33b68b","ip":"10.1.111.185","netmask":"255.255.255.0","gateway":"10.1.111.254","mac":"06:1a:5a:00:00:19","dns1":"8.8.8.8","dns2":"8.8.4.4","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://untagged","isolationUri":"ec2://untagged","isSecurityGroupEnabled":false}]},"wait":0}}] }
2013-05-10 12:21:13,843 DEBUG [agent.transport.Request] (AgentManager-Handler-7:null) Seq 12-1822163043: Processing: { Ans: , MgmtId: 165160840324569, via: 12, Ver: v1, Flags: 110, [{"PrepareForMigrationAnswer":{"result":true,"wait":0}}] }
2013-05-10 12:21:13,843 DEBUG [agent.manager.AgentAttache] (AgentManager-Handler-7:null) Seq 12-1822163043: No more commands found
2013-05-10 12:21:13,844 DEBUG [agent.transport.Request] (Job-Executor-71:job-110) Seq 12-1822163043: Received: { Ans: , MgmtId: 165160840324569, via: 12, Ver: v1, Flags: 110, { PrepareForMigrationAnswer } }
2013-05-10 12:21:13,850 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) VM state transitted from :Running to Migrating with event: MigrationRequestedvm's original host id: 1 new host id: 12 host id before state transition: 1
DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) Hosts's actual total CPU: 45624 and CPU after applying overprovisioning: 45624
2013-05-10 12:21:13,856 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) We are allocating VM, increasing the used capacity of this host:12
2013-05-10 12:21:13,856 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) Current Used CPU: 0 , Free CPU:45624 ,Requested CPU: 4
2013-05-10 12:21:13,856 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) Current Used RAM: 0 , Free RAM:33609699328 ,Requested RAM: 4294967296
2013-05-10 12:21:13,856 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) CPU STATS after allocation: for host: 12, old used: 0, old reserved: 0, actual total: 45624, total with overprovisioning: 45624; new used:4, reserved:0; requested cpu:4,alloc_from_last:false
2013-05-10 12:21:13,856 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) RAM STATS after allocation: for host: 12, old used: 0, old reserved: 0, total: 33609699328; new used: 4294967296, reserved: 0; requested mem: 4294967296,alloc_from_last:false
2013-05-10 12:21:13,862 DEBUG [agent.transport.Request] (Job-Executor-71:job-110) Seq 1-1874334912: Sending { Cmd , MgmtId: 165160840324569, via: 1, Ver: v1, Flags: 100111, [{"MigrateCommand":{"vmName":"i-2-7-VM","destIp":"10.1.111.151","hostGuid":"b8da45b7-63d4-34ad-83fe-4868eef53e7c-LibvirtComputingResource","isWindows":false,"wait":0}}] }
2013-05-10 12:21:13,917 DEBUG [agent.transport.Request] (AgentManager-Handler-1:null) Seq 1-1874334912: Processing: { Ans: , MgmtId: 165160840324569, via: 1, Ver: v1, Flags: 110, [{"MigrateAnswer":{"result":false,"details":"internal error Attempt to migrate guest to the same host 00020003-0004-0005-0006-000700080009","wait":0}}] }
2013-05-10 12:21:13,917 DEBUG [agent.manager.AgentAttache] (AgentManager-Handler-1:null) Seq 1-1874334912: No more commands found
2013-05-10 12:21:13,917 DEBUG [agent.transport.Request] (Job-Executor-71:job-110) Seq 1-1874334912: Received: { Ans: , MgmtId: 165160840324569, via: 1, Ver: v1, Flags: 110, { MigrateAnswer } }
2013-05-10 12:21:13,917 ERROR [cloud.vm.VirtualMachineManagerImpl] (Job-Executor-71:job-110) Unable to migrate due to internal error Attempt to migrate guest to the same host 00020003-0004-0005-0006-000700080009
2013-05-10 12:21:13,917 INFO [cloud.vm.VirtualMachineManagerImpl] (Job-Executor-71:job-110) Migration was unsuccessful. Cleaning up: VM[User|kvmtest1]
2013-05-10 12:21:13,919 DEBUG [cloud.alert.AlertManagerImpl] (Job-Executor-71:job-110) Have already sent: 1 emails for alert type '16' -- skipping send email
2013-05-10 12:21:13,921 DEBUG [agent.manager.AgentAttache] (Job-Executor-71:job-110) Seq 12-1822163044: Routed from 165160840324569
2013-05-10 12:21:13,921 DEBUG [agent.transport.Request] (Job-Executor-71:job-110) Seq 12-1822163044: Sending { Cmd , MgmtId: 165160840324569, via: 12, Ver: v1, Flags: 100111, [{"StopCommand":{"isProxy":false,"vmName":"i-2-7-VM","wait":0}}] }
2013-05-10 12:21:13,925 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) VM state transitted from :Migrating to Running with event: OperationFailedvm's original host id: 1 new host id: 1 host id before state transition: 12
2013-05-10 12:21:13,929 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) Hosts's actual total CPU: 45624 and CPU after applying overprovisioning: 45624
2013-05-10 12:21:13,930 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) release cpu from host: 12, old used: 4,reserved: 0, actual total: 45624, total with overprovisioning: 45624; new used: 0,reserved:0; movedfromreserved: false,moveToReserveredfalse
2013-05-10 12:21:13,930 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-71:job-110) release mem from host: 12, old used: 4294967296,reserved: 0, total: 33609699328; new used: 0,reserved:0; movedfromreserved: false,moveToReserveredfalse
2013-05-10 12:21:13,939 WARN [cloud.api.ApiDispatcher] (Job-Executor-71:job-110) class com.cloud.api.ServerApiException : Failed to migrate vm

 

上边加粗的地方就是失败的原因。是KVM中libvirt的uuid出的问题。 解决方法如下:

#uuidgen                                   //获取一个uuid

#vi /etc/libvirt/libvirtd.conf           //编辑配置文件

host_uuid = “00000000-0000-0000-0000-000000000000″ //将之前获取的uuid填在这里。

#service libvirtd restart               //重启服务 应该就可以在线迁移了。

 

如果还有问题,可以尝试重启CloudStack的 KVM agent,或KVM所在的主机。

 

参考文档:

http://vaunaspada.babel.it/blog/?p=613

http://bbs.linuxtone.org/thread-22673-1-1.html