Я использую kvm и libvirt на своем сервере Dell. Теперь я пытаюсь перенести одну виртуальную машину с физического сервера на другой. Однако я каждый раз терпел неудачу.
В virsh на PhysicalServer1 я набрал:
virsh # migrate virtualmachine1 qemu+ssh://username@physicalServer2/system
error: operation failed: migration to 'tcp:physicalServer2:49163' failed: migration failed
Затем я искал Часть часто задаваемых вопросов на libvirt.org. Он говорит:
error: operation failed: migration to '...' failed: migration failed
This is an error often encountered when trying to migrate with QEMU/KVM. This typically happens with plain migration, when the source VM cannot connect to the destination host. You will want to make sure your hosts are properly configured for migration (see the migration section of this FAQ)
Я сумел ssh physicalServer2
из оболочки на virtualmachine1, поэтому указанная выше красная часть не объясняет мою ошибку.
Я также открываю порты на PhysicalServer2, iptables -L
показывает следующую информацию:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
ACCEPT tcp -- anywhere anywhere state NEW tcp dpts:49152:49215
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.122.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere 192.168.122.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
/Var/log/libvirt/qemu/virtualmachine1.log на PhysicalServer2:
2011-05-06 13:37:30.708: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.14 -enable-kvm -m 2048 -smp 1,sockets=1,cores=1,threads=1 -name openjudge-test -uuid a8c704bc-a4f9-90db-3e57-40e60b00aac1 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/virtualmachine1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=readline -rtc base=utc -boot c -drive file=/media/nfs/virtualmachine1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=20,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:16:36:8a:22 :a0,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:2 -vga cirrus -incoming tcp:0.0.0.0:49163 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
char device redirected to /dev/pts/0
2011-05-06 13:37:30.915: shutting down
/Var/log/libvirt/qemu/virtualmachine1.log на физическом сервере1 пуст.
Оба физических сервера используют Ubuntu 11.04. Используемые libvirt и kvm устанавливаются apt-get. Версия libvirt - 0.8.8.
Убедитесь, что у вас открыт TCP 49152-49261 между хостами и имена хостов для каждого из них либо в DNS, либо в файлах / etc / hosts друг друга. По какой-то причине миграция KVM работает с именем хоста, а не с IP-адресом.
Убедитесь, что оба хост-сервера находятся на одном физическом коммутаторе (или VLAN).