Lukas Straub <[email protected]> writes: > On the primary side we don't actually need the replication > block driver, since it only passes trough all IO. > So simplify the setup and also use 'blockdev-add' instead of > 'human-monitor-command'. > > This is how my clients use colo in production. > > Signed-off-by: Lukas Straub <[email protected]> > --- > docs/system/qemu-colo.rst | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/docs/system/qemu-colo.rst b/docs/system/qemu-colo.rst > index > 75abbd80298df79223cb8e70064a5dc83d70f4eb..f7d3b6439cf3401a58c412634239d1a43999a10e > 100644 > --- a/docs/system/qemu-colo.rst > +++ b/docs/system/qemu-colo.rst > @@ -240,8 +240,8 @@ Note: > **4.** On Primary VM's QEMU monitor, issue command:: > > {"execute":"qmp_capabilities"} > - {"execute": "human-monitor-command", "arguments": {"command-line": > "drive_add -n buddy > driver=replication,mode=primary,file.driver=nbd,file.host=127.0.0.2,file.port=9999,file.export=parent0,node-name=replication0"}} > - {"execute": "x-blockdev-change", "arguments":{"parent": "colo-disk0", > "node": "replication0" } } > + {"execute": "blockdev-add", "arguments": {"driver": "nbd", "node-name": > "nbd0", "server": {"type": "inet", "host": "127.0.0.2", "port": "9999"}, > "export": "parent0", "detect-zeroes": "on"} } > + {"execute": "x-blockdev-change", "arguments":{"parent": "colo-disk0", > "node": "nbd0" } } > {"execute": "migrate-set-capabilities", "arguments": {"capabilities": [ > {"capability": "x-colo", "state": true } ] } } > {"execute": "migrate", "arguments": {"uri": "tcp:127.0.0.2:9998" } } > > @@ -269,7 +269,7 @@ Primary Failover > The Secondary died, resume on the Primary:: > > {"execute": "x-blockdev-change", "arguments":{ "parent": "colo-disk0", > "child": "children.1"} } > - {"execute": "human-monitor-command", "arguments":{ "command-line": > "drive_del replication0" } } > + {"execute": "blockdev-del", "arguments": {"node-name": "nbd0"} } > {"execute": "object-del", "arguments":{ "id": "comp0" } } > {"execute": "object-del", "arguments":{ "id": "iothread1" } } > {"execute": "object-del", "arguments":{ "id": "m0" } } > @@ -309,8 +309,8 @@ Wait until disk is synced, then:: > {"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=127.0.0.2,file.port=9999,file.export=parent0,node-name=replication0"}} > - {"execute": "x-blockdev-change", "arguments":{ "parent": "colo-disk0", > "node": "replication0" } } > + {"execute": "blockdev-add", "arguments": {"driver": "nbd", "node-name": > "nbd0", "server": {"type": "inet", "host": "127.0.0.2", "port": "9999"}, > "export": "parent0", "detect-zeroes": "on"} } > + {"execute": "x-blockdev-change", "arguments":{ "parent": "colo-disk0", > "node": "nbd0" } } > > {"execute": "object-add", "arguments":{ "qom-type": "filter-mirror", > "id": "m0", "netdev": "hn0", "queue": "tx", "outdev": "mirror0" } } > {"execute": "object-add", "arguments":{ "qom-type": "filter-redirector", > "id": "redire0", "netdev": "hn0", "queue": "rx", "indev": "compare_out" } } > @@ -341,8 +341,8 @@ Wait until disk is synced, then:: > {"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=127.0.0.1,file.port=9999,file.export=parent0,node-name=replication0"}} > - {"execute": "x-blockdev-change", "arguments":{ "parent": "colo-disk0", > "node": "replication0" } } > + {"execute": "blockdev-add", "arguments": {"driver": "nbd", "node-name": > "nbd0", "server": {"type": "inet", "host": "127.0.0.1", "port": "9999"}, > "export": "parent0", "detect-zeroes": "on"} } > + {"execute": "x-blockdev-change", "arguments":{ "parent": "colo-disk0", > "node": "nbd0" } } > > {"execute": "object-add", "arguments":{ "qom-type": "filter-mirror", > "id": "m0", "insert": "before", "position": "id=rew0", "netdev": "hn0", > "queue": "tx", "outdev": "mirror0" } } > {"execute": "object-add", "arguments":{ "qom-type": "filter-redirector", > "id": "redire0", "insert": "before", "position": "id=rew0", "netdev": "hn0", > "queue": "rx", "indev": "compare_out" } }
Reviewed-by: Fabiano Rosas <[email protected]>
