qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] blockdev-mirror , how to replace old nodename by new nodena


From: Alexandre DERUMIER
Subject: [Qemu-devel] blockdev-mirror , how to replace old nodename by new nodename ?
Date: Wed, 19 Apr 2017 09:08:20 +0200 (CEST)

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
          }
        ];


 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]