[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1881231] Re: colo: Can not recover colo after svm failover twice
From: |
ye.zou |
Subject: |
[Bug 1881231] Re: colo: Can not recover colo after svm failover twice |
Date: |
Fri, 29 May 2020 09:47:12 -0000 |
In step 3 I used following commands:
on primary vm console:
{"execute": "drive-mirror", "arguments":{ "device": "colo-disk0", "job-id":
"resync", "target": "nbd://169.254.66.10:9999/parent0", "mode":
"existing","format":"raw","sync":"full"} }
// till the job ready
{ "execute": "query-block-jobs" }
{"execute": "stop"}
{"execute": "block-job-cancel", "arguments":{ "device": "resync"} }
{'execute': 'human-monitor-command', 'arguments': {'command-line': 'drive_add
-n buddy
driver=replication,mode=primary,file.driver=nbd,file.host=169.254.66.10,file.port=9999,file.export=parent0,node-name=replication0'}}
{'execute': 'x-blockdev-change', 'arguments':{'parent': 'colo-disk0', 'node':
'replication0' } }
{'execute': 'migrate-set-capabilities', 'arguments': {'capabilities': [
{'capability': 'x-colo', 'state': true } ] } }
{'execute': 'migrate', 'arguments': {'uri': 'tcp:169.254.66.10:9998' } }
{ "execute": "migrate-set-parameters" , "arguments":{ "x-checkpoint-delay":
10000 } }
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1881231
Title:
colo: Can not recover colo after svm failover twice
Status in QEMU:
New
Bug description:
Hi Expert,
x-blockdev-change met some error, during testing colo
Host os:
CentOS Linux release 7.6.1810 (Core)
Reproduce steps:
1. create colo vm following
https://github.com/qemu/qemu/blob/master/docs/COLO-FT.txt
2. kill secondary vm and remove the nbd child from the quorum to wait for
recover
type those commands on primary vm console:
{ 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
'child': 'children.1'}}
{ 'execute': 'human-monitor-command','arguments': {'command-line':
'drive_del replication0'}}
{ 'execute': 'x-colo-lost-heartbeat'}
3. recover colo
4. kill secondary vm again after recover colo and type same commands as step
2:
{ 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
'child': 'children.1'}}
{ 'execute': 'human-monitor-command','arguments': {'command-line':
'drive_del replication0'}}
{ 'execute': 'x-colo-lost-heartbeat'}
but the first command got error
{ 'execute': 'x-blockdev-change', 'arguments': {'parent': 'colo-disk0',
'child': 'children.1'}}
{"error": {"class": "GenericError", "desc": "Node 'colo-disk0' does not have
child 'children.1'"}}
according to https://www.qemu.org/docs/master/qemu-qmp-ref.html
Command: x-blockdev-change
Dynamically reconfigure the block driver state graph. It can be used to add,
remove, insert or replace a graph node. Currently only the Quorum driver
implements this feature to add or remove its child. This is useful to fix a
broken quorum child.
It seems x-blockdev-change not worked as expected.
Thanks.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1881231/+subscriptions