動かざることバグの如し

近づきたいよ 君の理想に

UbuntuでRAID1を構築してみる

UbuntuRAID 1を構築してみた 概要は以下

  • Ubuntu 12.04
  • HDD2台 2TB
  • RAID1

インストール

apt-get install mdadm

RAID作成

以下を実行。

mdadm -C /dev/md0 -l1 -n2 --assume-clean /dev/sd[bc]1
  • -C 新しいデバイスを作成
  • -l RAIDレベル。今回はRAID1なので-l1
  • -n デバイスの数
  • --assume-clean 最初に同期をしない これ付けないと空のデバイス同士で同期し始めるので死ぬ

本当にやるよ?いいの?って聞いてくるので「yes」でエンター。

完了後は/dev/md0が通常のデバイスのように扱えるのでmkfs.ext4 /dev/md0等でフォーマットすればmountできる。

様子を見る

cat /proc/mdstat

正常に動いている場合

Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
      30419840 blocks super 1.2 [2/2] [UU]

unused devices: <none>

設定の保存

これ必須

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

停止

mdadm --misc --stop /dev/md0

停止した場合

Personalities : [raid1]

unused devices: <none>

再開

mdadm --assemble /dev/md0

不良扱いにする

mdadm --manage /dev/md0 --fail /dev/sdb1

sdbに(F)がついているのが分かる

Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[1](F)
      30419840 blocks super 1.2 [2/1] [U_]

unused devices: <none>

なお不良扱いにしただけでは除外はされないので後述するコマンドが必要

デバイスを除外

mdadm /dev/md0 --remove /dev/sdb1

sdb1が消えているのが分かる

Personalities : [raid1]
md0 : active raid1 sda1[0] 
      30419840 blocks super 1.2 [2/1] [U_]

unused devices: <none>

デバイスを追加

mdadm /dev/md0 --add /dev/sdb1

追加すると自動的に同期が始まるので注意

片肺運用

それってもはやRAIDの意味なくね?

mdadm --assemble /dev/md0 /dev/sda1 --run