[linux-lvm] Cannot activate thin volumes. are they lost forever?
Zdenek Kabelac
zkabelac at redhat.com
Mon Apr 14 08:09:36 UTC 2014
Dne 4.4.2014 21:06, Jeremy Smith napsal(a):
> Greetings. As mentioned previously, I may have ruined all thin volumes
> on a thin pool of mine due to the metadata overflow problem.
>
> I am running LVM version 2.02.98 on kernel 3.11.0-19-generic.
>
> I managed to compile LVM version 2.02.99 in order to get the metadata
> resize feature as described in the ChangeLog:
>
> "Add lvresize support for online thin pool metadata volume resize."
>
> I performed the metadata resize which seemed to work fine, but none of
> my thin volumes will activate.
>
> I would like to know whether the thin volumes are recoverable or not,
> but I have been unable to determine my next step. Here's what I have
> so far:
>
>
> jeremy at data-pool:~$ sudo lvdisplay ssmirrors/ThinPool
> --- Logical volume ---
> LV Name ThinPool
> VG Name ssmirrors
> LV UUID DzHi2N-Wle2-MpdN-9VEm-FeYw-pQI4-q6PKnd
> LV Write Access read/write
> LV Creation host, time data-pool, 2014-02-19 15:22:38 -0500
> LV Pool transaction ID 47
> LV Pool metadata ThinPool_tmeta
> LV Pool data ThinPool_tdata
> LV Pool chunk size 2.00 MiB
> LV Zero new blocks yes
> LV Status NOT available
> LV Size 12.14 TiB
> Current LE 3181356
> Segments 1
> Allocation inherit
> Read ahead sectors auto
>
>
> jeremy at data-pool:~$ sudo lvs
> LV VG Attr LSize Pool Origin Data% Move
> Log Copy% Convert
> ThinPool ssmirrors twi---tz- 12.14t
> ss51mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss51mirrorv0 ssmirrors Vwi---tz- 735.00g ThinPool
> ss51mirrorv1 ssmirrors Vwi---tz- 735.00g ThinPool
> ss51mirrorv2 ssmirrors Vwi---tz- 735.00g ThinPool
> ss53mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss53mirrorv0 ssmirrors Vwi---tz- 687.00g ThinPool
> ss53mirrorv1 ssmirrors Vwi---tz- 687.00g ThinPool
> ss53mirrorv2 ssmirrors Vwi---tz- 687.00g ThinPool
> ss53mirrorv3 ssmirrors Vwi---tz- 687.00g ThinPool
> ss54mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss54mirrorv0 ssmirrors Vwi---tz- 917.00g ThinPool
> ss54mirrorv1 ssmirrors Vwi---tz- 917.00g ThinPool
> ss54mirrorv2 ssmirrors Vwi---tz- 917.00g ThinPool
> ss55mirror ssmirrors -wi------ 4.00g
> ss55mirrorv0 ssmirrors -wi------ 909.00g
> ss55mirrorv1 ssmirrors -wi------ 909.00g
> ss56mirror ssmirrors -wi------ 4.00g
> ss56mirrorv0 ssmirrors -wi------ 909.00g
> ss56mirrorv1 ssmirrors -wi------ 909.00g
> ss57mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss57mirrorv0 ssmirrors Vwi---tz- 407.00g ThinPool
> ss57mirrorv1 ssmirrors Vwi---tz- 407.00g ThinPool
> ss58mirror ssmirrors -wi------ 4.00g
> ss58mirrorv0 ssmirrors -wi------ 407.00g
> ss58mirrorv1 ssmirrors -wi------ 407.00g
> ss60mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss60mirrorv0 ssmirrors Vwi---tz- 900.00g ThinPool
> ss60mirrorv1 ssmirrors Vwi---tz- 900.00g ThinPool
> ss61mirror ssmirrors -wi------ 4.00g
> ss61mirrorv0 ssmirrors -wi------ 920.00g
> ss61mirrorv1 ssmirrors -wi------ 920.00g
> ss61mirrorv2 ssmirrors -wi------ 920.00g
> ss61mirrorv3 ssmirrors -wi------ 920.00g
> ss62mirror ssmirrors -wi------ 4.00g
> ss62mirrorv0 ssmirrors -wi------ 408.00g
> ss62mirrorv1 ssmirrors -wi------ 408.00g
> ss63mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss63mirrorv0 ssmirrors Vwi---tz- 909.00g ThinPool
> ss63mirrorv1 ssmirrors Vwi---tz- 909.00g ThinPool
> ss64mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss64mirrorv0 ssmirrors Vwi---tz- 924.00g ThinPool
> ss64mirrorv1 ssmirrors Vwi---tz- 924.00g ThinPool
> ss64mirrorv2 ssmirrors Vwi---tz- 924.00g ThinPool
> ss64mirrorv3 ssmirrors Vwi---tz- 924.00g ThinPool
> ss64mirrorv4 ssmirrors Vwi---tz- 924.00g ThinPool
> ss64mirrorv5 ssmirrors Vwi---tz- 924.00g ThinPool
> ss65mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss65mirrorv0 ssmirrors Vwi---tz- 444.00g ThinPool
> ss65mirrorv1 ssmirrors Vwi---tz- 444.00g ThinPool
> ss66mirror ssmirrors Vwi---tz- 4.00g ThinPool
> ss66mirrorv0 ssmirrors Vwi---tz- 444.00g ThinPool
> ss66mirrorv1 ssmirrors Vwi---tz- 444.00g ThinPool
> root system -wi-ao--- 14.90g
> swap system -wi-ao--- 3.81g
> var system -wi-ao--- 16.00g
>
>
> jeremy at data-pool:~$ sudo lvscan
> ACTIVE '/dev/system/swap' [3.81 GiB] inherit
> ACTIVE '/dev/system/root' [14.90 GiB] inherit
> ACTIVE '/dev/system/var' [16.00 GiB] inherit
> inactive '/dev/ssmirrors/ss55mirrorv0' [909.00 GiB] inherit
> inactive '/dev/ssmirrors/ss55mirrorv1' [909.00 GiB] inherit
> inactive '/dev/ssmirrors/ss55mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss56mirrorv0' [909.00 GiB] inherit
> inactive '/dev/ssmirrors/ss56mirrorv1' [909.00 GiB] inherit
> inactive '/dev/ssmirrors/ss56mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss58mirrorv0' [407.00 GiB] inherit
> inactive '/dev/ssmirrors/ss58mirrorv1' [407.00 GiB] inherit
> inactive '/dev/ssmirrors/ss58mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss62mirrorv0' [408.00 GiB] inherit
> inactive '/dev/ssmirrors/ss62mirrorv1' [408.00 GiB] inherit
> inactive '/dev/ssmirrors/ss62mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss61mirrorv0' [920.00 GiB] inherit
> inactive '/dev/ssmirrors/ss61mirrorv1' [920.00 GiB] inherit
> inactive '/dev/ssmirrors/ss61mirrorv2' [920.00 GiB] inherit
> inactive '/dev/ssmirrors/ss61mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss61mirrorv3' [920.00 GiB] inherit
> inactive '/dev/ssmirrors/ThinPool' [12.14 TiB] inherit
> inactive '/dev/ssmirrors/ss60mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss60mirrorv0' [900.00 GiB] inherit
> inactive '/dev/ssmirrors/ss60mirrorv1' [900.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirrorv0' [924.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirrorv1' [924.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirrorv2' [924.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirrorv3' [924.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirrorv4' [924.00 GiB] inherit
> inactive '/dev/ssmirrors/ss64mirrorv5' [924.00 GiB] inherit
> inactive '/dev/ssmirrors/ss57mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss57mirrorv0' [407.00 GiB] inherit
> inactive '/dev/ssmirrors/ss57mirrorv1' [407.00 GiB] inherit
> inactive '/dev/ssmirrors/ss63mirrorv0' [909.00 GiB] inherit
> inactive '/dev/ssmirrors/ss63mirrorv1' [909.00 GiB] inherit
> inactive '/dev/ssmirrors/ss63mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss66mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss66mirrorv0' [444.00 GiB] inherit
> inactive '/dev/ssmirrors/ss66mirrorv1' [444.00 GiB] inherit
> inactive '/dev/ssmirrors/ss65mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss65mirrorv0' [444.00 GiB] inherit
> inactive '/dev/ssmirrors/ss65mirrorv1' [444.00 GiB] inherit
> inactive '/dev/ssmirrors/ss51mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss51mirrorv0' [735.00 GiB] inherit
> inactive '/dev/ssmirrors/ss51mirrorv1' [735.00 GiB] inherit
> inactive '/dev/ssmirrors/ss51mirrorv2' [735.00 GiB] inherit
> inactive '/dev/ssmirrors/ss53mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss53mirrorv0' [687.00 GiB] inherit
> inactive '/dev/ssmirrors/ss53mirrorv1' [687.00 GiB] inherit
> inactive '/dev/ssmirrors/ss53mirrorv2' [687.00 GiB] inherit
> inactive '/dev/ssmirrors/ss53mirrorv3' [687.00 GiB] inherit
> inactive '/dev/ssmirrors/ss54mirror' [4.00 GiB] inherit
> inactive '/dev/ssmirrors/ss54mirrorv0' [917.00 GiB] inherit
> inactive '/dev/ssmirrors/ss54mirrorv1' [917.00 GiB] inherit
> inactive '/dev/ssmirrors/ss54mirrorv2' [917.00 GiB] inherit
>
>
> jeremy at data-pool:~$ ls -l /dev/mapper/
> total 0
> crw------- 1 root root 10, 236 Apr 4 14:24 control
> lrwxrwxrwx 1 root root 8 Apr 4 14:26 system-root -> ../dm-15
> lrwxrwxrwx 1 root root 8 Apr 4 14:26 system-swap -> ../dm-14
> lrwxrwxrwx 1 root root 8 Apr 4 14:26 system-var -> ../dm-16
>
>
> jeremy at data-pool:~$ sudo lvchange -a y /dev/ssmirrors/ss51mirror
> Thin pool transaction_id=40, while expected: 46.
> Unable to deactivate open ssmirrors-ThinPool_tmeta (252:0)
> Unable to deactivate open ssmirrors-ThinPool_tdata (252:1)
> Failed to deactivate ssmirrors-ThinPool-tpool
What have you been doing here ?
Have you used 'live' thin-pool metadata for resize ?
(i.e. you were operating with active thin-pool volume,
while using command thin_repair on _tmeta device ?
You could eventually try to vgcfgbackup your VG,
manually edit pool's transaction id to match kernel number,
but you've been warned - that there were most probably
6 other transaction which are lost ?
This may also mean - the changes in chunks are also lost -
so if your volumes were allocating/releasing chunks - it's all lost
(depending on what have you been doing - hard to guess...)
You should be able to active pool with matching transaction_id,
but it's somewhat unpredictable if all LVs will have the right content.
(restore operation is going to be improved to add more validation)
Zdenek
More information about the linux-lvm
mailing list