ソフトウェアRAIDの作成と管理

ソフトウェアRAIDとは?

細かい説明はすっ飛ばします。どうぞ、存分にぐぐってください :) また、Debian lennyで試しました。

ソフトウェアRAIDの構造

まぁ単純に考えてもらうとわかると思うが、ソフトウェアRAIDとはOSまたはアプリケーションで擬似的に見せるRAIDである。だから以下の要素が必要になる。

デバイスの作成は、mdadm -C /dev/md0... のように作ればいい。これはすぐわかると思うが、では起動時にこれを認識させるにはどうするか?これが本ページのお題である。

なお、RAID0を元にしているのは「たくさんパーティションをかき集めてひとつの区画に見せるためにRAID0を使う」とか「とにかくRAIDしてみよう。0が簡単らしい」とか、いろいろとアレなニーズにマッチさせるためのものだからである :D

RAIDデバイスを作り、mountしてみる。

RAID用区画を作る

fdiskでパーティションを切り、種別を fd(Linux raid autodetect)にする。

mdadmをインストール

Redhat系とかはわからない。がんばれ :D

# aptitude install mdadm

RAID区画作成、フォーマット

RAID区画は/dev/md0で、中身は/dev/sdb1および/dev/sdc1と仮定する。

# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1
# mkfs.ext3 -c /dev/md0

RAID区画をmountしてみる

作ったんだからもちろんmountしよう。それ :)

# mkdir -p /mnt/disk
# mount -t ext3 /dev/md0 /mnt/disk
# df

たとえば以下のようになっていたらOK :D

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              9614116    556192   8569552   7% /
tmpfs                  1811716         0   1811716   0% /lib/init/rw
udev                     10240        96     10144   1% /dev
tmpfs                  1811716         0   1811716   0% /dev/shm
/dev/md0             1422038848      5172 1422033676   1% /mnt/disk
/dev/sda3             28834744    396804  26973216   2% /var

起動時に認識するようにする

ここまででRAID deviceはできた。しかしまだ起動時にmountできないはずだ。以下を設定。

/etc/mdadm/mdadm.conf


ARRAY /dev/md0 laval=raid0 num-devices=2 devices=/dev/sdb1,/dev/sdc1

/etc/fstab

/dev/md0  /mnt/disk ext3 defaults 0 0

これで再起動してみよう。OKのはずだ。