我有一个同时运行KVM实例的问题,实际上我只能将其描述为干扰。 当我单独运行一台虚拟机时,无论是通过sdl控制台还是通过ssh进行交互,都没有任何困难。 但是,一旦我运行两个虚拟机,我无法:
我的客户端机器是Debian Squeeze,我的主机是Arch Linux 2.6.39-ARCH,带有qemu-kvm 0.14.1。 以下是我如何运行两个干扰性虚拟机:
#!/bin/sh for f in puppet loadbalance # app0 db_master0 db_slave0 jenkins do qemu-kvm -drive file=$f.qcow2,if=virtio -boot c -netdev type=vde,id=tiny \ -device virtio-net-pci,netdev=tiny -name $f & done
如果我使用-nographic标志运行计算机,则可以完成sshlogin,但是最终(在5分钟内)除了一个ssh控制台外,其他所有ssh控制台都会遇到非常高的延迟。 一旦“专注”虚拟机立即响应,而其他虚拟机变为高延迟。 围绕虚拟networking的Ping在“聚焦”机器和所有其他机器之间以及从我的主机之间失败。 这里发生了什么?
检查实例是否都有唯一的MAC地址。 听起来好像有一个MAC地址冲突问题。
-netdev tap,fd=21,id=hostnet0,vhost=on,vhostfd=23 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:87:ec:d3,bus=pci.0,addr=0x3
这是我用于networking的。 当桥接工作如此顺利的时候,看不出为什么要使用vde。 尤其是,因为不build议QEMU:
VDE VDEnetworking后端使用虚拟分布式以太网基础结构为来宾networking。 除非您明确知道您想使用VDE,否则可能不是使用最好的后端。
prooflink: http ://wiki.qemu.org/Documentation/Networking#VDE