RAID0 はストレージの故障に対して非常に脆いという弱点がある.これは,RAID0はそれを構成するストレージが1台でも失われるとRAID上のデータをすべて消失してしまうことと,構成ストレージの数が多いほどその中の1つが故障するリスクは高くなることによる.
このため,RAID0を運用する場合は,データを他のストレージへ定期的にバックアップした方が良い.
そこで,今回はWindowsのrobocopyコマンドによるRAIDアレイのバックアップと,タスクスケジューラによるバックアップの定期実行を設定する.
1. robocopyを使ったbatファイルの作成
1.1. robocopyの概要
robocopyはWindowsに標準で含まれるコマンドで,名前の通りファイルコピー関連の高度な機能を持つ.コマンドオプションなどの詳細はコマンドプロンプト(CMD)やPowerShellからrobocopy /?を実行することで確認できる.1.2. バックアップの仕様
1)RAID0アレイのデータをNASにバックアップする.2)バックアップはミラーリングで行う.
3)1日1回バックアップする.
4)スリープ時も自動起動してバックアップを行う.
1.3. batファイルの作成
作成するbatファイルの内容は以下の通り.ここで重要なのは,バックアップ先がNASの場合はネットワークパスで指定すること.そうしないとタスクスケジューラで実行したときバックアップ先を見つけられずに失敗してしまう.@echo off
set SRC=H:\home
set DST=\\192.168.2.108\pisces_share_2\home
set SKPD=
set SKPF=
robocopy %SRC% %DST% /MIR /COPY:DT /R:3 /NP /FFT /XD %SKPD% /XF %SKPF% /LOG:%DATE:/=%.txt
(コマンド中の\は¥に置き換えてください)
・変数やオプションの説明
SRC:バックアップ元
DST:バックアップ先(今回はNAS)
SKPD:除外フォルダ(今回は指定しない)
SKPF:除外ファイル(今回は指定しない)
・オプション
/MIR:ミラーリングする
/COPY:DT コピーする情報.ここではデータ(D)とタイムスタンプ(T)を指定.
/R:3:コピーの再試行を3回行う
/NP:ファイルコピーの進捗状況を表示しない
/FFT:コピー先と元のタイムスタンプに2秒の許容差を設ける.
/XD:任意のフォルダを除外する
/XF:任意のファイルを除外する
/LOG:%DATE:/=%.txt:ファイル名が日付のログファイルをカレントフォルダに作成する.テストのとき必要なだけなので実運用ではなくても良い.
2. タスクスケジューラの設定
2.1 新しいタスクの作成
まず,タスクスケジューラを開くと下の管理画面が表示される.左端のタスクスケジューラライブラリフォルダの右クリックメニューから新しいフォルダを作成できるので,ユーザが追加するタスクはそのフォルダに入れておくと管理しやすい.今回はUserというフォルダを作成した.
次にタスクを保存するフォルダを選択し,操作ペインにある”タスクの作成”を選択する.
2.2. タスクの設定
"タスクの作成"を選択するといくつかのタブからなる設定画面が表示されるので次のように設定する.
1)全般タブ
スリープ時も実行させるため,セキュリティオプションで”ユーザーがログオンしているかどうかにかかわらず実行する”にチェックを入れる.
2)トリガータブ
トリガーを新規に作成する.
トリガー編集画面は以下の通り
3)操作タブ
新規ボタンを選択すると設定ウインドウが開くので,実行するbatファイルを登録する.下図ではC:¥scriptにあるraid_backup.batを登録している.
また,一番下の”開始”でbatファイルが実行される場所を指定すること.そうしないと出力されたログファイルが思わぬところへ保存されてしまう.
4)条件タブ
スリープ中でもタスクが実行できるように”タスクを実行するためにスリープを解除する”をチェックする.
設定タブは特にやることはない.設定完了後OKを押すと,ログイン時のパスワードを求められるので入力する.
2.3. 電源オプションの設定
スリープ時もタスクを実行させるのは手間が多く,電源オプションも設定する必要がある.
コンロロールパネルの詳細な電源設定の変更を選択すると詳細設定ウインドウが表示されるので,スリープ>スリープ解除タイマーの順に展開し,設定を有効にする.
以上ですべての設定が完了した.
3. テスト
タスクの実行を5分後くらいに設定してPCをスリープ状態にする.5分以上経過したら操作タブで設定したフォルダを開き,ログファイルが保存されていればタスクの実行は成功している.バックアップ自体が成功したかどうかはログファイルの中身を見ればわかる.
0 件のコメント:
コメントを投稿