ぼくのかんがえたさいきょうのNAS(MicroserverN54L+FreeNas9.10.1)

・要約
1.N54Lの4つのスロット(2TB HDD*4)を RAID1+SPARE+BACKUP1 で構成
2.FreenasのファイルシステムはZFSのため、Windows端末から日次でバックアップ
N54Lのハードウェア障害時ダウンタイム短縮のためです。

なにが「さいきょう」だ。2TBを4本使って2TBのNASとかあり得んとか思われるかもしれません。
しかし聞いてくれ。
そもそも何のためのRAID?
何よりも怖いのがデータの喪失です。

この度のお客さまはRAID(0+1)で組んでいた4本のうちの2本が死亡して復旧できませんでした。
HDDは2日間の間隔で死んでいったのです。SPAREディスクは必須だと考えました。
今回得た教訓をもとに以下の構成にしました。
ざっくり言うと、HDD死亡前提です。

Drive0〜Drive3の4つのドライブを以下のように使用する

RAID−1(ミラーリング)
Drive0(WD−Red 2TB)
Drive1(WD−Red 2TB)

Spare
Drive2(WD−Green 2TB)
ミラーリング中のディスクのどちらかが死亡した時の予備
Drive3(WD−Green 2TB)
単独のディスクをVFSのボリュームとして上記ミラーとは別に切って日次でRAID−1をバックアップする(Rsyncを使用)
さらに駄目押しで
WindowsマシンにUSBの外付けHDDを付けました
Windowsマシンは毎日電源を落としているのです。
そこで起動時にRAID−1のディレクトリからROBOCOPYを行う(タスクスケジューラを使用)
当初はNTFSでフォーマットした外付けHDDをマウントして書こうかと思った。
けど、FreeNasはZFS以外のファイル形式での書き込みを保証してないらしいのでやめました。
状態検知
amazonSESでHDDの障害時とSMART情報にメール通知を行います。
SESはこういうとき便利。
あ、そういえばなぜか25番ポートでは送信できなかった。しばらく悩んだ。587ポートではOKでした。

SMART情報
FreenasのGUI上でこのように設定しました。

Infomational 40

Critical 45

最初は通知対象となる閾値の温度を入力するとはわからずに「1」を設定してalertメールがバンバン来て困った。

scrub設定
この設定をしておくと論理エラーは自動で修復してくれる。日次バッチに入れておく。

参考

試験
・HDDを抜いた後(Drive0)N54Lを起動する
1.起動すること
2.メールが飛ぶこと
3.表示ができること
4.webGUIからデグレードと表示されること
5.抜いたHDDをデタッチし、スペアディスク(Drive2)が自動で新しいRAIDとして設定されること
6.新しくスペアディスク(Drive0)を設定できること
※ Drive2に対し、上記と同様の手順を繰り返し最終的にDrive0とDrive1のraid構成に戻しておく
・Drive3
バックアップ
1.cronを実行後、Drive3にバックアップがされること
2.バックアップ元のファイルを削除した場合、バックアップ先のファイルも削除されること
3.Drive3のHDDを抜いた後N54Lを起動し、メールが飛ぶこと
4.Drive0の表示は問題なく行われること
5.Drive3に別のHDDを挿入抜いたHDDをデタッチし、再度ボリュームを作成する。再度cronを実行し、バックアップがされること。

・USB HDD
バックアップ
1.windowsの端末の起動時にバックアップのタスクが実施されること
2.USB HDDにファイルがバックアップされること
3.バックアップ元のファイルを削除した場合、バックアップ先のファイルも削除されること

Tasks->Cronジョブ
rsync -zvr /mnt/tank/file /mnt/backup/backupfile –delete-after

ROBOCOPYコマンド
robocopy “コピー元” “コピー先” /mir

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です