[linux-lvm] [dm-devel] fix corrupted thin pool
zdenek.kabelac at gmail.com
Mon Oct 27 09:15:47 UTC 2014
Dne 26.10.2014 v 20:46 Vasiliy Tolstov napsal(a):
> 2014-10-26 2:47 GMT+04:00 Zdenek Kabelac <zkabelac at redhat.com>:
>> From the metadata something bad was going one:
>> Fri Oct 24 17:03:04 2014
>> transaction_id = 120 - create = "3695"
>> And suddenly on Fri Oct 24 18:07:23 2014
>> pool is back on older transaction_id
>> transaction_id = 114
>> Is that the time of your vgcfgrestore?
>> I'm attaching those metadata which you likely should put back to get in sync
>> with your kernel metadata (assuming you have not modified those in any way)
> Hm yes, i miss that one vg created in this time, thanks. As i
> understand transaction id needs to be changed? Or something other?
> But i have error:
> lvchange -ay vg1/2735
> Check of thin pool vg1/tp1 failed (status:1). Manual repair required
> (thin_dump --repair /dev/mapper/vg1-tp1_tmeta)!
If you would have latest lvm2 tools - you could have tried:
lvconvert --repair vg/pool
With older tools - you need to go in these manual step:
1. create temporary small LV
# lvcreate -an -Zn -L10 --name temp vg
2. replace pool's metadata volume with this tempLV
# lvconvert --thinpool vg/pool --poolmetadata temp
(say 'y' to swap)
3. activate & repair metadata from 'temp' volume - you will likely need
another volume where to store repaire metadata -
# lvcreate -Lat_least_as_big_as_temp --name repaired vg
# lvchage -ay vg/temp
# thin_repair -i /dev/vg/temp /dev/vg/repaired
if everything when fine - compare visualy 'transaction_id' of repaired
metadata (thin_dump /dev/vg/repaired)
4. swap deactivated repaired volume back to your thin-pool
# lvchange -an vg/repaired
# lvconvert --thinpool vg/pool --poolmetadata repaired
try to activate pool - if it doesn't work report more problems.
More information about the linux-lvm