[dm-devel] DM inconsistent after disk migration

Bryn M. Reeves bmr at redhat.com
Thu Oct 20 15:09:01 UTC 2011


On 10/20/2011 03:47 PM, Bernd Broermann wrote:
> CODE "move" script
> # mirror
> pvcreate /dev/disk2
> vgextend vg01  /dev/disk2
> lvconvert -m1 --mirrorlog core /dev/vg01/lvdata  /dev/disk2
> # split
> lvconvert -m0 --mirrorlog core /dev/vg01/lvdata  /dev/disk1
> vgreduce vg01  /dev/disk1
> pvremove  /dev/disk1

If you just want to move the logical extents in vg01/lvdata from disk1 
-> disk2 why not use pvmove?

Internally it will construct a corelog mirror in a very similar way but 
it saves you from having to manually split things and supports 
transactional updates allowing the move to be automatically resumed if 
it is interrupted for any reason.

E.g.:

pvcreate /dev/disk2
pvmove /dev/disk1 /dev/disk2 (you can ommit disk2 here if it's the
                               only free space in the VG and pvmove will
                               chose it automatically)
vgreduce /dev/disk1
pvremove /dev/disk1

> My assumption is that SLAVE reconfigures the device-mapper not correct,
> when doing the "move" operations on MASTER.

Nothing told the SLAVE host that vg01/lvdata had changed so it still has 
the original PV device open (from its point of view on that side of the 
SRDF replication).

If the LV is not in use you can just de-activate/re-activate to have it 
see the changes to the VG metadata:

vgchange -an vg01; vgchange -ay vg01

Unless you're using a clustered environment with clvmd hosts that have a 
common view of shared storage will not be aware of on-disk changes made 
by another host. This is hazardous if both hosts can write to the 
storage at the same time as it's possible for simultaneous updates to 
the VG metadata to corrupt one another (SRDF should prevent this since 
only one side of the replicated device can be writable at a time but 
some care is still needed to ensure all hosts have a coherent view of 
the VG).

Regards,
Bryn.




More information about the dm-devel mailing list