我正在使用libvirt、qemu和python实现一个实时迁移管理工具。在我的原始设置中,包括两个Debian机器,我可以毫无问题地迁移和监控迁移,然而,在我的生产设置中,为了支持压缩迁移,我不得不将CentOS和libvirt6.4重新编译为更新的版本。问题是,即使迁移看起来工作正常,监视也会返回错误,并显示:
libvirt: XML-RPC error : Too many job stats '19' for limit '16'
Traceback (most recent call last):
File "./migrate_monitor_migration.py", line 27, in <module>
remaining = vm.vm_status()
File "/software/test/VMMigration.py", line 70, in vm_status
return self.__update_migration_status()
File "/software/test/VMMigration.py", line 40, in __update_migration_status
dictionary = self.vm_job_stats()
File "/software/test/VMMigration.py", line 37, in vm_job_stats
return self.local_dom.jobStats()
File "/usr/local/libvirt/lib64/python2.6/site-packages/libvirt.py", line 2045, in jobStats
if ret is None: raise libvirtError ('virDomainGetJobStats() failed', dom=self)
libvirt.libvirtError: Too many job stats '19' for limit '16'可以观察到,在访问该域的jobStats函数时会引发错误。
奇怪的问题是,虽然没有正在进行的迁移,但监控可以正确地访问监控。
为了补充我附加的libvirtd.log的一部分:
2013-09-22 07:02:22.806+0000: 2652: error : qemuMonitorIO:616 : internal error: End of file from monitor
2013-09-22 07:05:34.120+0000: 2654: warning : qemuOpenVhostNet:495 : Unable to open vhost-net. Opened so far 0, requested 1
2013-09-22 07:05:34.120+0000: 2654: warning : qemuDomainObjTaint:1558 : Domain id=11 name='TESTVM' uuid=348ba295-7665-b7f2-020c-04303c5896a1 is tainted: high-privileges
2013-09-22 07:05:34.154+0000: 2654: error : virDBusCallMethod:1156 : The name org.freedesktop.machine1 was not provided by any .service files
2013-09-22 07:06:16.177+0000: 2655: warning : qemuMigrationCancelDriveMirror:1383 : Unable to stop block job on drive-virtio-disk0
2013-09-22 07:10:41.637+0000: 2653: warning : qemuMigrationCancelDriveMirror:1383 : Unable to stop block job on drive-virtio-disk0
2013-09-22 07:12:00.657+0000: 2657: warning : qemuMigrationCancelDriveMirror:1383 : Unable to stop block job on drive-virtio-disk0提前感谢您的指点。
发布于 2013-09-23 16:48:33
现在,通过降级到libvirt 1.1.0并重新安装所有东西,这个问题已经解决了。
https://stackoverflow.com/questions/18941706
复制相似问题