From: Alexandre DERUMIER <aderumier@odiso.com>
To: qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] blockdev-mirror , how to replace old nodename by new nodename ?
Date: Wed, 19 Apr 2017 09:08:20 +0200 (CEST) [thread overview]
Message-ID: <1009091132.10984059.1492585700295.JavaMail.zimbra@oxygem.tv> (raw)
Hi,
I'm trying to implement blockdev-mirror, to replace drive-mirror as we can pass more options with blockdev-mirror.
I would like to mirror an attached blockdev to a new blockdev, then switch at the end of block-job-complete, like for drive-mirror.
qemu command line (vm-138-disk-1.qcow2 filename on "drive-virtio0" nodename:
-blockdev {"node-name":"drive-virtio0","cache":{"direct":true},"driver":"qcow2","file":{"filename":"/var/lib/vz/images/138/vm-138-disk-1.qcow2","aio":"threads","driver":"file"}}
-device virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,write-cache=on
add a new blockdev with blockdev-add: (a file vm-138-disk-2.raw has been created before, I assign it to a "tempmirror" nodename)
{"arguments":{"driver":"raw","cache":{"direct":true},"node-name":"tempmirror","file":{"driver":"file","aio":"threads","filename":"/var/lib/vz/images/138/vm-138-disk-2.raw"}},"execute":"blockdev-add"}
blockdev-mirror:
{"arguments":{"job-id":"drive-virtio0","target":"tempmirror","sync":"full","replaces":"drive-virtio0","device":"drive-virtio0"},"execute":"blockdev-mirror"}
(I have try with or without replaces option)
then query-name-block-nodes, show vm-138-disk-2.raw file on tempmirror "node-name", and vm-138-disk1.qcow2 on "drive-virtio0" node-name
I expected that both was switched, like for drive-mirror.
Any idea ?
Regards,
Alexandre
[query-named-block-nodes","arguments":{}
$VAR1 = [
{
'bps_wr' => 0,
'cache' => {
'no-flush' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'direct' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
'writeback' => $VAR1->[0]{'cache'}{'direct'}
},
'bps' => 0,
'iops' => 0,
'node-name' => 'toto',
'ro' => $VAR1->[0]{'cache'}{'no-flush'},
'image' => {
'actual-size' => 1074794496,
'filename' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
'dirty-flag' => $VAR1->[0]{'cache'}{'no-flush'},
'format' => 'raw',
'virtual-size' => 1073741824
},
'write_threshold' => 0,
'iops_rd' => 0,
'bps_rd' => 0,
'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
'backing_file_depth' => 0,
'detect_zeroes' => 'off',
'file' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
'drv' => 'raw',
'iops_wr' => 0
},
{
'ro' => $VAR1->[0]{'cache'}{'no-flush'},
'node-name' => '#block132',
'file' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
'detect_zeroes' => 'off',
'iops_wr' => 0,
'drv' => 'file',
'iops_rd' => 0,
'bps_rd' => 0,
'image' => {
'actual-size' => 1074794496,
'filename' => '/var/lib/vz/images/138/vm-138-disk-2.raw',
'dirty-flag' => $VAR1->[0]{'cache'}{'no-flush'},
'virtual-size' => 1073741824,
'format' => 'file'
},
'write_threshold' => 0,
'backing_file_depth' => 0,
'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
'bps_wr' => 0,
'bps' => 0,
'iops' => 0,
'cache' => {
'no-flush' => $VAR1->[0]{'cache'}{'no-flush'},
'direct' => $VAR1->[0]{'cache'}{'direct'},
'writeback' => $VAR1->[0]{'cache'}{'direct'}
}
},
{
'drv' => 'qcow2',
'iops_wr' => 0,
'detect_zeroes' => 'off',
'file' => '/var/lib/vz/images/138/vm-138-disk-1.qcow2',
'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
'backing_file_depth' => 0,
'image' => {
'cluster-size' => 65536,
'virtual-size' => 1073741824,
'format-specific' => {
'type' => 'qcow2',
'data' => {
'corrupt' => $VAR1->[0]{'cache'}{'no-flush'},
'compat' => '1.1',
'lazy-refcounts' => $VAR1->[0]{'cache'}{'no-flush'},
'refcount-bits' => 16
}
},
'format' => 'qcow2'
},
'write_threshold' => 0,
'bps_rd' => 0,
'iops_rd' => 0,
'ro' => $VAR1->[0]{'cache'}{'no-flush'},
'node-name' => 'drive-virtio0',
'bps' => 0,
'iops' => 0,
'cache' => {
'writeback' => $VAR1->[0]{'cache'}{'direct'},
'no-flush' => $VAR1->[0]{'cache'}{'no-flush'},
'direct' => $VAR1->[0]{'cache'}{'direct'}
},
'bps_wr' => 0
},
{
'detect_zeroes' => 'off',
'file' => '/var/lib/vz/images/138/vm-138-disk-1.qcow2',
'drv' => 'file',
'iops_wr' => 0,
'write_threshold' => 0,
'image' => {
'format' => 'file',
'virtual-size' => 1074135040,
'dirty-flag' => $VAR1->[0]{'cache'}{'no-flush'},
'filename' => '/var/lib/vz/images/138/vm-138-disk-1.qcow2',
'actual-size' => 1075130368
},
'bps_rd' => 0,
'iops_rd' => 0,
'encryption_key_missing' => $VAR1->[0]{'cache'}{'no-flush'},
'encrypted' => $VAR1->[0]{'cache'}{'no-flush'},
'backing_file_depth' => 0,
'ro' => $VAR1->[0]{'cache'}{'no-flush'},
'node-name' => '#block071',
'bps' => 0,
'iops' => 0,
'cache' => {
'writeback' => $VAR1->[0]{'cache'}{'direct'},
'no-flush' => $VAR1->[0]{'cache'}{'no-flush'},
'direct' => $VAR1->[0]{'cache'}{'direct'}
},
'bps_wr' => 0
}
];
next reply other threads:[~2017-04-19 7:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-19 7:08 Alexandre DERUMIER [this message]
2017-04-19 9:02 ` [Qemu-devel] blockdev-mirror , how to replace old nodename by new nodename ? Fam Zheng
2017-04-19 9:40 ` Alexandre DERUMIER
2017-04-19 10:43 ` Kashyap Chamarthy
2017-04-19 12:28 ` Alexandre DERUMIER
2017-04-19 12:58 ` Kashyap Chamarthy
2017-04-19 13:36 ` Alexandre DERUMIER
2017-04-19 13:48 ` Alexandre DERUMIER
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1009091132.10984059.1492585700295.JavaMail.zimbra@oxygem.tv \
--to=aderumier@odiso.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.