稼働中のシステムにHDD2台を追加し、データ用のディスクをRAID1として構成する手順


1.HDDのフォーマット
 fdisk /dev/【ディスク名】
 
 以下、fdidk内でのコマンド操作
 n ←パーティションの新規作成

 〜〜〜〜〜〜〜パーティション作成例〜〜〜〜〜〜〜
 p ← 基本領域を作成
 1 ← 基本領域作成数
 1 ← シリンダの先頭を選択
 30401 ← シリンダの終点を選択
 ※[Enter]キーを押す事で初期設定値で入力可
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

 t ←パーティションのIDを変更
 fd ←RAIDを指定
 w ←パーティションテーブルの変更を保存


2.構成の確認
 fdisk -l /dev/【ディスク名】


3.mdadmパッケージのインストール ※パッケージが既にあれば省略
 apt-get update
 apt-get upgrade
 apt-get install mdadm


4.mdadmコマンドでRAIDディスクを作成
 mdadm -C /dev/md0 -l1 -n2 /dev/【ディスク名】 /dev/【ディスク名】

 以下、オプションの説明
 C ← RAIDバイス名 ※デバイス名は"/dev/md?"としなければいけない
 l* ← RAIDレベルの指定 ※今回はRAID1構成としたいのでl1を指定
 n* ← RAID構成に用いるパーティション数(HDDの数)の指定*1
 x* ← スペアパーティション数の指定 ※今回は使用しない
 ※RAID構築に用いるパーティション入力は、オプションで"x"を指定した場合、後方をスペアパーティションとみなす


5.RAIDアレイをフォーマット*2
 mkfs -j /dev/md0
 ※"cat /proc/mdstat"、"mdadm --detail /dev/md*"で進捗状況を確認できる


6.デバイスの定義
 vi /etc/mdadm.conf

 〜〜〜〜〜〜〜デバイス定義の設定例〜〜〜〜〜〜〜
 DEVICE /dev/sd[bc]1
 ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


7.マウント設定
 mount /dev/md0 /mnt ← RAIDアレイを/mntに仮マウント
 rsync -av /【ディレクトリ】/ /mnt/ ← /【ディレクトリ】/を/mnt配下にマウント
 vi /etc/fstab ← 起動時にRAIDを自動マウントさせる

 〜〜〜〜〜〜〜〜〜〜以下、"/etc/fstab"の記述内容 〜〜〜〜〜〜〜〜〜〜
【デバイス名 マウントポイント ファイルシステム マウント時のオプション
 ファイルシステムdumpの有無 起動時にfsckチェック実施の有無】
 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
 ※各項目はスペース区切り
 ※各設定の有無は数値を指定する。「0」は無を意味する。


8.設定反映の確認
 再起動後、以下コマンド実施
 mount
 df -h


9.RAIDの再構築
 apt-get --purge remove mdadm
 ※"cat /proc/mdstat"でRAIDの構成状態を確認できる


・"rsync"コマンドについて
 目的 : ファイル・ディレクトリのバックアップやミラーリングを行うコマンド
 利点 : ミラーリングが可能。差分を調べ、必要なファイルのみ転送できる。

 以下、各オプションの説明
 a ← アーカイブモード
 z ← データ転送時に圧縮を行う
 v ← コピーしたバイト数などの転送情報を表示
 ※「v」オプションは最大で3個付けることが可。「v」が多いほど詳細に情報を表示
 --delete ← 同期元で削除されたファイルを同期先でも削除
 --include ← 特定のファイルだけを同期(ワイルドカード指定可)
 --exclude ← 定のファイルだけを除外(ワイルドカード指定可)
 -e ssh ← SSH経由で別サーバーに同期

raidの解放
・マウント解除
# umont 【マウントディレクトリ】
RAIDの停止
# mdadm --stop 【マウントディレクトリ】
・スーパーブロックの確認
# mdadm --examine 【ディスク名】
・スーパーブロックの削除
# mdadm --misc --zero-superblock 【ディスク名】

*1:スペアパーティションは含めない

*2:文字通りフォーマットするので、既存のディスクをRAID化する際は不要