mdadmでRAID構築(まとめ)

RAIDの構築

  • fdisk等を用いてパーティションを作成
    (このときのパーティションタイプはfd(Linux RAID)にしておくと分かりやすい)

    # mdadm -C /dev/md0 -l5 -n3 /dev/hdd[123]
    
  • -Cは新規作成時に指定するオプションで–createと同じ意味

  • /dev/md0は最終的に出来上がるRAIDデバイスを指定する(無くても勝手に作ってくれる)

  • -l5はRAIDレベルを表す 0,1,5,6が指定可能 –level=raid5と指定しても同じ意味

  • -n3はデバイスの数(HDDの数) –raid-devices=3と指定しても同じ

  • /dev/hdd[123]はRAIDを構成するHDD この例では単一のHDDで構成しているが本当は/dev/hd[bcd]1みたいに物理的に違うデバイスを指定する

スペアディスクの追加

# mdadm /dev/md0 --add /dev/hdd4

mdadm -D /dev/md0でスペアディスクが存在することを確認できる

RAIDの監視

  • procから見る

    cat /proc/mdstat
    (watch -n 1 cat /proc/mdstat みたいにやると1秒ごとにこのコマンドを発行してくれるので便利)
    
  • 詳細に見る

    mdadm -D /dev/md0
    

RAIDの再構築(HDD故障時の対処)

  • 故障マークを付ける

    # mdadm /dev/md0 -f /dev/hdd1 
    

    スペアディスクがあるなら再構築が始まるないなら交換する

  • RAIDアレイから削除する

    # mdadm /dev/md0 -r /dev/hdd1
    

    この後ディスクを交換する

  • アレイに追加

    # mdadm /dev/md0 -a /dev/hdd1
    

RAIDの解除

  • アレイの停止

    # mdadm -S /dev/md0
    
  • スーパーブロックの削除

    # mdadm --zero-superblock /dev/hdd1
    

その他

  • 以前存在していたRAIDデバイスを再構築しデータをサルベージこの辺(KNOPPIXでの認識)を参考にした

    # mdadm -A /dev/md0 /dev/hd[efgh]1
    
  • /etc/mdadm/mdadm.confファイル

    # mdadm -E --scan >> /etc/mdadm.conf
    

こうしてアレイ情報を書き込むといいらしい
カーネルから自動起動の場合は意味なし?

  • Debian Lennyの場合カーネルから自動で読み込むモードとか指定できる

    # dpkg-reconfigure mdadm
    

    これで再設定する
    (カーネルで自動起動した場合は/etc/mdadm/mdadm.confは必要ない)

  • 2ディスク壊れたら強制的に起動させる

    mdadm -A /dev/md0 -u 3fee8ddc:fc710c65:daa5f7c5:4109bf44 --run --force 
    

参考リンク
mdadm(8) ver.1.5 man page [日本語]
福岡大学 mdadm wiki
「mdadm」によるRAID5の構築