web-dev-qa-db-ja.com

障害のあるデバイスをLVM2raid1ミラーから削除できません

3つのディスクのうちの1つが、LVMraid1論理ボリュームでオフになりました。 (実際には悪い実験でした)。ボリュームは純粋なLVMですraid1 1つ(いいえ、LVM mirrorではありません)、mdadm/fakeraidなし。

この問題は再起動時にのみ認識され、デバイスは完全に欠落していました。まだ2つの正常なディスクがあるので、しばらくの間、ボリュームを双方向raid1として使用し、後で不良ディスクを交換したいと思います。ただし、不足しているデバイスをボリュームから削除できません。

トポロジに関する基本的な情報は次のとおりです。ボリュームグループはvgQ3、論理ボリュームはlvRAID1

    #lvm pvs | grep vgQ3
      Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
      /dev/sdb2      vgQ3   lvm2 a--   79.31g 17.91g  
      /dev/sdc2      vgQ3   lvm2 a--   79.31g 17.91g  
      unknown device vgQ3   lvm2 a-m   79.31g 17.91g

    # lvm lvs -a -o +devices | grep vgQ3
      Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
      lvRAID1            vgQ3   rwi---r-p  61.39g   lvRAID1_rimage_0(0),lvRAID1_rimage_1(0),lvRAID1_rimage_2(0)
      [lvRAID1_rimage_0] vgQ3   Iwi---r--  61.39g   /dev/sdc2(1)                                               
      [lvRAID1_rimage_1] vgQ3   Iwi---r--  61.39g   /dev/sdb2(1)                                               
      [lvRAID1_rimage_2] vgQ3   Iwi---r-p  61.39g   unknown device(1)                                          
      [lvRAID1_rmeta_0]  vgQ3   ewi---r--  4.00m    /dev/sdc2(0)                                               
      [lvRAID1_rmeta_1]  vgQ3   ewi---r--  4.00m    /dev/sdb2(0)                                               
      [lvRAID1_rmeta_2]  vgQ3   ewi---r-p  4.00m    unknown device(0)                                          

最初にボリュームグループを減らしようとしましたが、成功しませんでした。

    # vgreduce --removemissing vgQ3
      Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
      WARNING: Partial LV lvRAID1 needs to be repaired or removed. 
      WARNING: Partial LV lvRAID1_rmeta_2 needs to be repaired or removed. 
      WARNING: Partial LV lvRAID1_rimage_2 needs to be repaired or removed. 
      There are still partial LVs in VG vgQ3.
      To remove them unconditionally use: vgreduce --removemissing --force.

    # vgreduce --removemissing --force vgQ3
      Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
      Persistent log is not supported on segment-by-segment mirroring

など...次に、スリーウェイraid1デバイスをツーウェイデバイスに縮小しようとしました(ワンウェイリニアボリュームに縮小しようとすると、同じエラーメッセージが表示されました)。

    # lvconvert -m1 vgQ3/lvRAID1
      Couldn't find device with uuid vG3BbG-ap9H-iYGg-qfE2-R13Z-rLJI-AJcAv0.
      Cannot change VG vgQ3 while PVs are missing.
      Consider vgreduce --removemissing.

さて、ボリュームを破壊して再構築することを除いて、私が試すことができるアイデアを使い果たしました。これは、単に双方向のレイドに減らすよりもかなり苦痛です1。

(ストーリーを完成させるには、以下を実行します。

    # vgchange -a y -P vgQ3

Raid1ボリューム(/ dev/vgQ3/..)を部分モードで作成してマウントできるので、コンテンツを保存できました。ただし、次回の再起動ではデバイスが消えるので、話は何度も続きます)。

そのような問題の解決策はありますか?

5
stoqlt

まったく同じエラーが発生しました。 lvmバージョンをlvm2-2.02.111-2.el6_6.1に更新することでこれを解決しました。 lvmを更新すると、vgreduce --removemissing --force vgQ3http://rpmfind.net/linux/RPM)を実行できるようになります。 /centos/updates/6.6/x86_64/Packages/lvm2-2.02.111-2.el6_6.1.x86_64.html

2
Shasha.Zhu