web-dev-qa-db-ja.com

LVMシンプールがアクティブ化されていません

雷雨があり、Ubuntu 16.04の下のサーバーはUPSにかかわらずオフになりました。サーバーでは、交換フォルダー(/srv/data)はsambaの下にあります。 /srv/dataは、LVMからシンボリュームvg /thinpool/dataをマウントします。

雷雨の後、ボリュームグループ(vg)とボリューム(データ)は特にアクティブ化されなくなりました。私はlvconvert --repair vg /thinpoolを試してみましたが、vgcfrestoreを使用してメタを復元しようとしましたが、効果は同じです。データが非常に必要です。バックアップはありません。私はLVMの第一人者と呼んでいます!

  lvchange -aey vg
  device-mapper: resume ioctl on (252:2) failed: Invalid argument
  Unable to resume vg-thinpool-tpool (252:2)
  device-mapper: resume ioctl on (252:2) failed: Invalid argument
  Unable to resume vg-thinpool-tpool (252:2)

lvs -a
  LV               VG   Attr       LSize   Pool     Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data             vg   Vwi---tz-- 950.00g thinpool                                               
  [lvol0_pmspare]  vg   ewi-------  16.00g                                                        
  thinpool         vg   twi---tz--   1.79t                                                        
  [thinpool_tdata] vg   Twi-a-----   1.79t                                                        
  [thinpool_tmeta] vg   ewi-ao----  16.00g

lvchange -ay -v vg/data
    Using logical volume(s) on command line.
    Activating logical volume "data" exclusively.
    activation/volume_list configuration setting defined: Checking the list to match vg/data
    Loading vg-thinpool_tmeta table (252:0)
    Suppressed vg-thinpool_tmeta (252:0) identical table reload.
    Loading vg-thinpool_tdata table (252:1)
    Suppressed vg-thinpool_tdata (252:1) identical table reload.
    Executing: /usr/sbin/thin_check -q /dev/mapper/vg-thinpool_tmeta
    Creating vg-thinpool-tpool
    Loading vg-thinpool-tpool table (252:3)
    Resuming vg-thinpool-tpool (252:3)
  device-mapper: resume ioctl on (252:3) failed: Недопустимый аргумент
  Unable to resume vg-thinpool-tpool (252:3)
    Removing vg-thinpool-tpool (252:3)

lvconvert --repair vg/thinpool -v
    activation/volume_list configuration setting defined: Checking the list to match vg/lvol1_pmspare
    Creating vg-lvol1_pmspare
    Loading vg-lvol1_pmspare table (252:2)
    Resuming vg-lvol1_pmspare (252:2)
    activation/volume_list configuration setting defined: Checking the list to match vg/thinpool_tmeta
    Executing: /usr/sbin/thin_repair  -i /dev/mapper/vg-thinpool_tmeta -o /dev/mapper/vg-lvol1_pmspare
truncating metadata device to 4161600 4k blocks
    Piping: /usr/sbin/thin_dump /dev/mapper/vg-lvol1_pmspare
  Transaction id 6466 from pool "vg/thinpool" does not match repaired transaction id 6468 from /dev/mapper/vg-lvol1_pmspare.
    Removing vg-thinpool_tmeta (252:0)
    Removing vg-lvol1_pmspare (252:2)
    Preparing pool metadata spare volume for Volume group vg.
    Archiving volume group "vg" metadata (seqno 13499).
    Creating logical volume lvol2
    Creating volume group backup "/etc/lvm/backup/vg" (seqno 13500).
    Activating logical volume "lvol2" locally.
    activation/volume_list configuration setting defined: Checking the list to match vg/lvol2
    Creating vg-lvol2
    Loading vg-lvol2 table (252:0)
    Resuming vg-lvol2 (252:0)
    Initializing 4,00 KiB of logical volume "vg/lvol2" with value 0.
    Temporary logical volume "lvol2" created.
    Removing vg-lvol2 (252:0)
    Renaming lvol2 as pool metadata spare volume lvol2_pmspare.
  WARNING: If everything works, remove "vg/thinpool_meta0".
  WARNING: Use pvmove command to move "vg/thinpool_tmeta" on the best fitting PV.
1
Anton Sobolev

これを回避するには、プールメタをシャークします(可能な場合のみ:VGに空き領域があり、メタが収まる場合)。

thin_dump /dev/mapper/vg02-pool0_tmeta > lvm_meta_dum
lvcreate -n pool0meta2 -L 12G vg02
thin_restore -i lvm_meta_dump -o /dev/mapper/vg02-pool0meta2
lvconvert --thinpool vg02/pool0 --poolmetadata vg02/pool0meta2

参照: メタサイズの修正

0
Anton Sobolev