最近利用することがなくなった ソフトウェアRAID だが 初期構築と運用方法をまとめる。(CentOS/Redhat)
###初期設定
2台のHDDにパーティションテーブルを作成する。
#####HDD1台目 パーティションテーブルの作成 (/dev/sdb)
# fdisk /dev/sdb
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-1044, 初期値 1):1
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-1044, 初期値 1044): 1044
#####作成したパーティションのタイプを Linux raidに設定
コマンド (m でヘルプ): t
選択した領域 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました
#####パーティションテーブルの保存
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
#####パーティションテーブルの確認
# fdisk /dev/sdb -l
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 1044 8385898+ fd Linux raid 自動検出
#####HDD2台目 パーティションテーブルの作成 (/dev/sdc)
# fdisk /dev/sdc
手順はHDD1台目と同様のため省略
#####ソフトウェアRAID設定
2台のHDD(/dev/sdb, /dev/sdc) をソフトウェアRAIDとして /dev/md0 に割り当て
# mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1
#####ファイルシステムの構築
作成したRAIDデバイス(/dev/md0)にファイルシステム(ext3)を構築します。
mke2fs -j /dev/md0
ファイルシステムのマウント
# mkdir /mirror
# mount /dev/md0 /mirror/
RAID 情報の保存
# mdadm --detail --scan > /etc/mdadm.conf
起動時にマウントされるように /etc/fstab へ追加
# vi /etc/fstab
/dev/md0 /mirror ext3 defaults 0 0
初期構築は以上です。/mirror にソフトウェアRAIDがマウントされています。
###運用方法
#####RAID状況の確認(同期やリビルド)
# cat /proc/mdstat
#####詳細確認
# mdadm --detail /dev/md0
#####1台目のハードディスク /dev/sdb に障害を発生させる
# mdadm --fail /dev/md0 /dev/sdb
#####障害が発生したHDD /dev/sdb を/dev/md0 から切り離す
# mdadm --remove /dev/md0 /dev/sdb
#####RAIDデバイスにハードディスク /dev/sdb を追加する
# mdadm --add /dev/md0 /dev/sdb
#####HDDの詳細
# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 spares=1 name=centos:0 UUID=7aef3364:f7d73931:8c05ce32:dcd9ae39
#####HDDを交換した場合は RAID情報を保存
# mdadm --detail --scan > /etc/mdadm.conf
###その他
ブートディスクをソフトウェアRAIDにする場合
上記の例では不必要だが、MBRを書き込むディスクをRAIDとするときは、2本目のハードディスクにもMBRを書き込む必要がある。
rootとしてログインし、GRUB コマンドを実行します。
[root@linux ~]# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
mdadm コマンドが利用できない場合
# yum install mdadm