サーバーを構築すると、目的にそってHDを設定することが多いですね。
例えばファイルサーバーですと大量で様々データを蓄積していきます。
当然HDは消耗品ですので、状況によっては簡単に壊れますし、2年経てばいつでも”寿命”を迎えます。
そこで冗長化を図るためRAIDを構築する事が有効な対処方法で、使われることが多いです。
このRAIDを管理方法を軽く解説します。
使用するのは以下のコマンド。
「mdadm」はRAID管理コマンドの一つでよく使われるコマンドの一つです。
管理や構築など、様々な事が出来ます。
サーバ構築をミニマムで構築された方は以下の例の様にインストールしておいてください。
RAID構築
まず構築したいRAIDのレベルをよって最低限に必要なHDDの数があります。
RAID1(ストライピング)やRAID2(ミラーリング)ですと、最低2基のHDDがRAID5(パリティ)等ですと最低3基から必要となります。
詳しくは以下のサイトで確認できます。
RAID (Wikipedia)
さて、構築をしていきます。
今回はRAID5を4基のHDDで構築したいと思います。
上記の条件でのコマンドを入力します。
オプション
-C
:クリエイト 構築するという事
次のブロック
構築先 この場合 ” /dev/md0 “に構築、アレイ名は[md0]で指定しなければこうなる。
-l5
:構築するRAIDのレベル、この場合はRAID5。RAID2がいいなら -l2 となる。
-n4
:構築に使うディスクの数。この場合は4基ということ。
最後のブロックは構築に使うハードの選択、”/dev/sd[bcde]” とは、、、
sdb、sdc、sdd、sdeの4つのハードを使うという事。
つながっているHDの名前をチェックは以下のディレクトリを参照すれば見れます。
最後の「sd*」はSCSIやSATAなどで接続しているデバイスに付随する名前で、「hd*」の場合はIDEで接続されているデバイスに付随する名前になります。
例:sda、sdb、sde、などのとつく物がSATA等で接続したデバイス、hda、hdb、hdc、などがIDEデバイスです。
構築完了後は
で状態を確認できます。
なお、リビルド中は基本的に領域を扱わないことをおすすめします。
これでRAIDは構築出来ました。
領域の準備
次に領域にパーティションを作りフォーマットします。
パーティション作成
以下のコマンド画面が出ますので、対話的に設定を進めます。
基本的にdefault値にして問題ないでしょう。
Pertition type:
p primary (0 primary, 0 extended, 4 free)
e rxtended
select (default p): p
Partition number (1-4, default 1): 1
First secter (3072-6285311, default 3072): 3072 (空でデフォルトの数字が適用される。)
Last sector, +secters or +size{K,M,G} (3072-6285311, default 6285311): 6285311 (空でデフォルトの数字が適用される。)
Commond (m for help): w
これでパーティションが作れました。
フォーマット(XFS形式)
次に領域をフォーマットします。
フォーマット形式には色々な形式があります、今回はRAIDを前提としていますので「XFS」形式でフォーマットします。
この形式はNASなどでもよく使われており、古くからあるのですが、ファイル名やデータサイズの制限も少なく、非常に柔軟にデータを管理出来ます。
さて、標準でこのフォーマット形式を扱えないことがありますので、以下のコマンドでインストールします。
インストールが完了しましたらいよいよフォーマットです、以下のコマンドを実行します。
これでフォーマット完了です。
マウント
マウント先を作成
所有者を変更
マウントする
これでマウント完了、自由に使うことが出来るようになりました。
起動時に自動的にマウントしたい場合は、
/etc/fstab
に記述しておいて下さい。
ロストしたHDDを交換再構築
ある意味ここからが本題ですね、RAIDはHDが故障すること前提としている節があります。
RAID5の冗長性はHDが1基までです。
1基壊れたと想定して以下のオペレーションを行なっていきたいと思います。
新たにつながったHDの名前をチェック
(この場合 sdeとする)
アレイ名をチェック(変更していることがある
(md127変更があったとする)
新HDを組み込む
リビルド状況を確認する
リビルド中は高付加のため、完了するまでは触らない方がよいですね。
割と簡単ですが、 高負荷がかかるため、リビルド中に更に1基壊れて、終了フラフが立つことがあります。
故障が発生しなくとも、周期などを決め、交換していくことも大切な事ですね。
キチンとしたストレージマネージメントを考慮しながらHDを大切に扱うことも冗長性を向上させる要素です。
アレイ名を変更する
さて、先のようにアレイの名前が変わってることがあります。
その場合は新たなアレイ名でマウントするだけですが、気持ち悪い人は以下の手順で対応してみては如何でしょうか?
# mdadm -S /dev/md127
# mdadm -A /dev/md0 /dev/sd[bcde]
# mount /dev/md0 /home/user/cache
解説としまして、
一行目でアンマウントします、既にマウントしていない場合は不要です。
二行目で”-S”オプションでアレイ名「md127」を停止させています。
三行目では新たにアレイを設定し、sdb、sdc、sdd、sdeの4つのHDを組み直してます。
四行目には新たなアレイ名でマウントし直してます。
HDDを追加再構築
データを扱っていると、容量不足がは永遠の課題です。
そこでRAID5の特性を生かし、容量を増やしていこうと思います。
まず、新規に1基システムに組み込みます、この時RAID5の場合、均一容量のHDDが必要ですので、既存の容量と同等のHDを使いましょう。
接続し、起動しましたら以下のオペレーションを行なっていきます。
新たにつながったHDの名前をチェック
ここでは新たに見つかったHDDを”sdf”とします。
念の為にアレイ名をチェック(変更していることがある
アレイ名は”md0″とします。
新HDをアレイに組み込む
これでアレイに組み込まれますが、まだRAIDとしては機能せず、スペアとして認識しています。
新規はスペアなのでRAIDに組み込む
リビルド状況を確認する
高付加のため完了するまでは触らない方がよい