web-dev-qa-db-ja.com

MDADM RAID 5アレイを再アクティブ化するにはどうすればよいですか?

私はちょうど私のサーバーを解体してそれを再接続することを含む家を引っ越した。それ以降、私のMDADM RAID 5アレイの1つが非アクティブとして表示されます。

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

まるでそれがすべてのディスクを見つけたかのように私には見えますが、どういうわけかそれらを使いたくありません。

では、(S)ラベルの意味は何ですか?またMDADMにアレイの使用を再開するように指示するにはどうすればよいですか?

[編集]-vを使って配列を停止して組み立ててみました。

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..そしてcat /proc/mdstatを入力しても違いはありません。

[編集2]助けになるかどうかはわかりませんが、これは各ディスクを調べた結果です。

root @ mserver:〜#mdadm --examine/dev/sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to Host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver:〜#mdadm --examine/dev/sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to Host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver:〜#mdadm --examine/dev/sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to Host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver:〜#mdadm --examine/dev/sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to Host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

ドライブが元々次のように組み立てられていたことを示すいくつかの注意点があります。

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[編集3]

ログを見ると、(Update Timeの結果の--examineに基づいて)次のようになっています。

  1. 20日の13:22以降、sdbとsdfがノックアウトされました
  2. 20日の18時37分、sddがしばらくノックアウトされた
  3. 1日の14:00以降にサーバーがシャットダウンされた

2台のディスクが(明らかに)同時に停止したと仮定すると、その時点以降にアレイに書き込まれなかった(?)と仮定するのが合理的に安全なはずであり、したがって比較的正しい順序で強制的に再起動させても大丈夫ですか?これを実行するための最も安全なコマンドは何ですか?また、変更を加えずに実行する方法はありますか?

21
Jon Cage

Sラベルはディスクが "スペア"と見なされることを意味します。アレイを停止して再起動してみてください。

  mdadm --stop /dev/md0
  mdadm --assemble --scan

配列を再構築するためにそれがうまくいかない場合、あなたはあなたのmdadm.confを更新する必要があるかもしれません、そうする方法の詳細については例えば この質問 を見てください。

28
Stefan Seidel

この質問は少し古いですが、答えは誰かが同じような状況に直面するのを助けるかもしれません。あなたが提供したmdadm --examine出力からのイベントカウントを見ると、それらは十分に近いように見えます(955190 - sdb1とsdf1では955219、sde1では955219、そしてsdd1のために955205を持っています。それらが40-50以下であれば、これは問題ありません。その場合は、イベントカウントの違いにかかわらずmdadmにドライブを受け入れさせることで、アレイを手動で組み立てることをお勧めします。

アレイを停止します。

mdadm --stop /dev/md0

それから手動で配列を再構築してみてください。

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

ドライブのリスト/構造が正常かどうかを確認するために、アレイのステータスを確認します(コマンド出力の一番下に、どのドライブがどのステータスでどの位置にあるかが表示されます)。

mdadm --detail /dev/md0

構造が正常であれば、再構築の進行状況を確認します。

cat /proc/mdstat
6
Milen

下記のコマンドでRaid md0を起動できます

mdadm -A /dev/md0

そしてこのコマンドはmdadm.confファイルを更新します

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
0
krizna