COLO unable to failover to secondary VM
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Expired
|
Undecided
|
Unassigned |
Bug Description
I test COLO feature on my host following docs/COLO-FT.txt in qemu folder, but fail to failover to secondary VM.
Is there any mistake in my execution steps?
Execution environment:
QEMU v2.12.0-rc4
OS: Ubuntu 16.04.3 LTS
Kernel: Linux 4.4.35
Secondary VM IP: noted as "a.b.c.d"
Execution steps:
# Primary
${COLO_
-enable-kvm \
-m 512M \
-smp 2 \
-qmp stdio \
-vnc :7 \
-name primary \
-device piix3-usb-uhci \
-device usb-tablet \
-netdev tap,id=
-device virtio-
-drive if=virtio,
# Secondary
${COLO_
-enable-kvm \
-m 512M \
-smp 2 \
-qmp stdio \
-vnc :8 \
-name secondary \
-device piix3-usb-uhci \
-device usb-tablet \
-netdev tap,id=
-device virtio-
-drive if=none,
-drive if=virtio,
-incoming tcp:0:8888
# Enter into Secondary:
{'execute'
{ 'execute': 'nbd-server-start',
'arguments': {'addr': {'type': 'inet', 'data': {'host': 'a.b.c.d', 'port': '8889'} } }
}
{'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0', 'writable': true } }
# Enter into Primary:
{'execute'
{'execute': 'human-
'arguments': {
}
}
{ 'execute'
{ 'execute': 'migrate-
'arguments': {'capabilities': [ {'capability': 'x-colo', 'state': true } ] } }
{ 'execute': 'migrate', 'arguments': {'uri': 'tcp:a.b.c.d:8888' } }
# To test failover
Primary
{ 'execute': 'x-blockdev-
{ 'execute': 'human-
Secondary
{ 'execute': 'nbd-server-stop' }
Stop Primary
Send ^C signal to terminate PVM.
Secondary
{ "execute": "x-colo-
# Result:
Primary (Use ^C to terminate)
qemu-system-x86_64: Can't receive COLO message: Input/output error
qemu-system-x86_64: terminating on signal 2
{"timestamp": {"seconds": 1531815575, "microseconds": 997696}, "event": "SHUTDOWN", "data": {"guest":false}}
Secondary
{ 'execute': 'nbd-server-stop' }
{"return": {}}
{ "execute": "x-colo-
{"return": {}}
qemu-system-x86_64: Can't receive COLO message: Input/output error
Segmentation fault
I also meet the same problem.
Does anybody have solutions for this problem?