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/mdN | RAID を作る |
--level=数 | RAID の種類(0・1・5 など) |
--raid-devices=数 | 束ねるディスクの数 |
--detail | RAID の状態を詳しく出す |
--fail / --remove / --add | 壊れたことにする・外す・足す(ディスクの入れ替え) |
--stop | RAID を止める |
--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))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、ゴールド以上のプランで遊べます。