mdadm の使い方

ソフトウェア RAID を作る・直す

書き方

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 デバイス...
sudo mdadm --detail /dev/md0
sudo mdadm --detail --scan(mdadm.conf の行)
sudo mdadm /dev/md0 --fail デバイス / --remove デバイス / --add デバイス
sudo mdadm --stop /dev/md0
sudo mdadm --assemble /dev/md0 デバイス... / --assemble --scan
sudo mdadm --examine デバイス

RAID 0 は速いが 1 台壊れると全部失う、RAID 1 は 2 台に同じものを書く、RAID 5 は 3 台以上でパリティを持つ。状態は cat /proc/mdstat([UU] は全部元気、[U_] は 1 台欠け)。起動のときは /etc/mdadm.conf に書いた名前で組み立て、書いていなければ md127 になります。mdadm パッケージが要ります。

よく使うオプション

オプション意味
--create /dev/mdNRAID を作る
--level=数RAID の種類(0・1・5 など)
--raid-devices=数束ねるディスクの数
--detailRAID の状態を詳しく出す
--fail / --remove / --add壊れたことにする・外す・足す(ディスクの入れ替え)
--stopRAID を止める
--assemble止めた RAID を組み立て直す(--scan で mdadm.conf から)
--examineディスクに書かれた RAID の情報を出す

例

$ sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/nvme2n1 /dev/nvme3n1

2 台のディスクで RAID 1(同じ中身を 2 台に書く)を作ります。

$ cat /proc/mdstatPersonalities : [raid1]
md1 : active raid1 nvme3n1[1] nvme2n1[0]
      2094080 blocks super 1.2 [2/2] [UU]

RAID の状態をすばやく見ます。[UU] は 2 台とも元気、[U_] は 1 台欠けている状態です。

$ sudo mdadm /dev/md1 --fail /dev/nvme3n1 --remove /dev/nvme3n1

壊れたディスクを、壊れた印を付けてから RAID から外します。

$ sudo mdadm /dev/md1 --add /dev/nvme4n1

新しいディスクを足します。足すと自動で中身の写し直し(recovery)が始まります。

$ sudo mdadm --detail --scan >> /tmp/mdadm.lines && cat /tmp/mdadm.lines

mdadm.conf に書く 1 行(ARRAY …)を出します。これを /etc/mdadm.conf に足しておくと、起動しても同じ名前(md1)で組み立てられます。

よくある間違い・注意

  • RAID 0 は 1 台壊れると全部の中身を失います。大事なデータには 1 や 5 を使います。
  • mdadm.conf に書いていないと、再起動のあと md127 のような別の名前になることがあります。
  • RAID はバックアップの代わりになりません。消したファイルは全部のディスクから同時に消えます。

実際に打って練習する

Linux レベル2 コースの Lv48「円盤を束ねる mdadm」で覚えます(第3章 倉庫の増築(LVM と RAID))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、ゴールド以上のプランで遊べます。

Linux サーバー構築のコマンド一覧(LinuC レベル2 の範囲)へ戻る