Windows Serverには、「Windows Server バックアップ」という標準ツールが付属していて、無償でバックアップが可能です。
サーバーのバックアップがしたいんだけど、
標準の「Windows Server バックアップ」で十分なのかな?
ITシステムのサーバーではバックアップが不可欠です。たしかに「Windows Server バックアップ」だけで済むのであれば、わざわざサードパーティーのバックアップソフトを買う必要はなくなります。それだと嬉しいのですが、本当にそうなのでしょうか?
私はインフラSEとして、10年以上サーバーの構築・運用に携わってきましたが、
今回はその経験を踏まえて解説していきます。
Windows Server バックアップとは
Windows Server標準のバックアップツールです。標準といっても使用するにはインストールが必要です。「役割と機能の追加」から「Windows Server バックアップ」を選択し、機能の追加を選ぶとインストールできます。詳しい方法は、検索すればたくさん出てきますので、今回は省略します。
実運用ではいまいち使えないケースが多い
長くなるので、先に結論から紹介します。
一般的なITシステムの本番環境で「Windows Server バックアップ」が使えるかというと、あと一歩足りなくて、使えないケースが多いと思います。その理由として、次の点が大きいです。
あくまで筆者の感想ですが、このためバックアップには、有償のソフト(Arcserve UDPなど)を使うケースが多いです。
ただし、ここで終わりではありません。以降では、次の点について解説していきます。
他のバックアップ方式との比較
市販のバックアップソフトとの違いは何でしょうか。今回は、Arcserve Japan社の「Arcserve UDP」を挙げてみます。そのほか、robocopyといったコピーコマンドでバックアップをするケースもあるでしょう。それらとの機能比較を表でみてみましょう。
# | 機能 | 市販のバックアップソフト(Arcserve UDP) | Windows Server バックアップ | コピーコマンド(robocopy) |
1 | GUI操作 |
〇 |
〇 |
× コマンドのみ |
2 | ファイル・フォルダ単位のバックアップ |
〇 |
〇 |
〇 |
3 | ドライブ単位の高速なバックアップ(ボリュームバックアップ) |
〇 |
〇 |
× |
4 | システムのバックアップ(ベアメタル回復) |
〇 |
〇 |
× |
5 |
〇 |
〇 |
〇 |
|
|
└世代バックアップ |
〇 |
〇 |
× |
6 | NASや共有フォルダへのバックアップ |
〇 |
△ 市販のNASなど一部不可の場合あり |
〇 |
└世代バックアップ | 〇 |
× 1世代のみ |
〇 | |
7 | バックアップ世代数の指定 | 〇 |
× バックアップ先ドライブ満杯まで |
× |
8 | スケジュールバックアップ |
〇 曜日指定可能 |
△ 毎日のみ |
× |
9 | 前回バックアップからの変更点のみを保存 | 〇 |
△ ローカルドライブへのバックアップのみ |
〇 |
10 | 静止点の確保(VSSスナップショット) | 〇 | 〇 |
? たぶん不可 |
11 | バックアップの結果通知 | 〇 | × | × |
各機能の解説
上の表では、分かったような分からないような…といった感触だと思います。各機能について、およびWindows Serverバックアップでどこまでできるのかを解説していきます。
GUI操作
バックアップ対象や出力先、スケジュールなどの指定を、GUIで操作する機能です。Windows Serverバックアップでは、シンプルな画面で問題なく操作可能です。
ファイル・フォルダ単位のバックアップ
バックアップ対象として、「これとこのフォルダだけをバックアップしたい」という指定の仕方です。Window Serverバックアップでも、もちろん可能です。robocopyでもできますね。
ドライブ単位の高速なバックアップ(ボリュームバックアップ)
例えばDドライブ丸ごとバックアップする機能です。ボリューム単位でバックアップするため、ファイル単位のバックアップよりも高速です。Windows Serverバックアップでも可能で、バックアップ対象を選ぶ際にドライブを指定すると、自動的にボリューム単位のバックアップになるようです。
robocopyでも、バックアップ元に「D:\*」のように指定すればバックアップ自体はできますが、ファイル単位で処理(オープン、クローズ)を繰り返すので、ファイル数が多くなるほど低速になります。
システムのバックアップ(ベアメタル回復)
レジストリなども含めてシステムごとバックアップする機能です。このバックアップから復旧すると、ファイルだけでなく、OSやインストールされたソフトウェアの状態もバックアップ時点に戻ります。これを「ベアメタル回復」や「ベアメタルリカバリ(BMR)」と呼ぶことがあります。
Windows Serverバックアップでもこれは可能です。ベアメタル回復する場合は、OSのインストールメディアでブートして行います。ちなみにArcserve UDPは、ベアメタルリカバリ用メディアを作成して、それでブートして行います。
ローカルドライブへのバックアップ
バックアップデータを自身のEドライブなどに保存することは、どの方式でも可能です(当然ですね)。Windows Serverバックアップでは、このローカルドライブに保存する場合に限り、世代バックアップができます。ちなみにローカルドライブには、USB接続のHDDなども含みます。ただし、共有フォルダをZドライブとして割り当てるといった「ネットワークドライブ」は含みません。
Windows Serverバックアップの世代バックアップは、する・しないの指定はありません。ローカルドライブに保存するバックアップは、2回目以降から自動的に世代バックアップになります。ただし後述しますが、保存先はドライブ単位での指定のみで、世代数は指定できません。
NASや共有フォルダへのバックアップ
例えばDドライブのバックアップを、\\192.168.0.100\backup に保存するイメージです。Windows Serverバックアップでは、いろいろ制約があります。
- 世代バックアップができない
- 2回目以降のバックアップでも、前回のデータは破棄され、最新の世代のみが保存されます。
- Arcserve UDPなどの市販バックアップソフトでは、これが可能なのですが、ここが大きな違いです。Windows Serverバックアップのこの制限は、市販ソフトに遠慮しているのでしょうかね。
- 市販のNASなどにはバックアップできない場合がある
- バックアップ先として、Linuxベースの比較的安価なNASを指定した場合に、エラーとなることがあります(「ファイル形式をサポートしていない」など)。私の経験では、最近のLinux系NASではほぼNGのように思います。どうしてもNASを使う場合は、Windows Storage Serverを搭載したNASにすれば大丈夫そうです。あるいはWindows OSで作った共有フォルダも問題ないようです。
バックアップ世代数の指定
例えば毎日バックアップするとして、7世代を保持するように指定すれば、過去1週間の任意の日付に戻すことができます。市販のバックアップソフトではそれができます。
Windows Serverバックアップの場合、ローカルドライブに保存する場合に限り、世代バックアップができますが、世代数は指定できません。保存先のドライブの容量が許す限りの世代を持ちます。ドライブが満杯になれば、古い世代が自動的に消えていきます。つまり、バックアップ保存専用ドライブを用意する必要があります。
スケジュールバックアップ
例えば「毎週土曜日の午前2時からバックアップする」といったスケジュール指定機能です。Windows Serverバックアップの場合は、何故か〇曜日といった指定ができないのです。スケジュールは「毎日」だけで、毎日何時にやるか(12:00と23:00、みたいに複数回は可能)という指定しかできません。潔いというか何というか…。
もっともそれはGUIの機能の話で、タスクスケジューラーとwbadminコマンドを使うことで、何とか柔軟にスケジュール指定は可能です。ただし面倒くさいです。
前回バックアップからの変更点のみを保存
世代バックアップの場合、前回からの変更データのみが保存され、保存容量の節約や、時間短縮ができます。増分バックアップとも言いますね。Windows Serverバックアップでは、世代バックアップ(ローカルドライブのみ)の場合、そういう動きをするようです。
静止点の確保(VSSスナップショット)
バックアップは、サーバーが動作中に行われることが多いのですが、データは時々刻々と変わっていくでしょう。そういうデータを、例えば0時から1時間かけて、単純なコピーコマンドでバックアップしたとします。このバックアップデータを復旧した場合、何時時点に戻るでしょうか?答えはバラバラです。1時間のバックアップ処理の中で、0時付近でコピーしたファイルと、1時付近でコピーしたファイルでは、バックアップ時点が異なるのです。これはデータを不整合を招き、問題になる場合があります。
VSSスナップショットというOSの機能を使って、静止点を確保したバックアップをすると、上のケースでは、全てのデータが0時時点に戻るため、データの整合性が保たれます。Windows Serverバックアップでも、市販のバックアップソフトでも、標準でこの機能が使われます。(robocopyは、もしかするとそういうオプションがあるのかもしれませんが不明です)
バックアップの結果通知
バックアップというのは、失敗していてもすぐには気づかないことがほとんどです。そして、いざ必要な時に「1年前から失敗していた」ということが判明すると、致命傷になります。こういうことがないように、日々の運用でバックアップの成否を確認することが重要です。
Arcserve UDPなどの市販のバックアップソフトでは、メールで成功や失敗の通知を行う機能がありますので、確認が簡単です。Windows Serverバックアップの場合、この機能がないため、いちいちツールを開いて結果を確認する必要があります。
まあ、タスクスケジューラとwbadminコマンド、スクリプトを組み合わせることで、通知させることも可能と言えば可能です。でも面倒くさいです。
どういうケースなら使えるのか?
以上を踏まえて、Windows Serverバックアップが使えるケースは、以下の記事にまとめています。
「あと一歩足りない」機能を補う方法
Windows Server バックアップがあと一歩足りなくて使いにくい理由として、「ネットワーク経由だと世代バックアップができない」や「バックアップが失敗しても気づきにくい」という点を挙げました。
有償のバックアップソフトを使えばこの欠点を克服できます。しかし、予算等の理由により、無償のWindows Server バックアップしか頼れないケースもあります。一応ですが、この「あと一歩」を自力で補う方法もあります。長くなりますので、以下の記事にまとめています。
市販のバックアップソフトのおすすめ
バックアップに高い信頼性が求められる環境では、有償のバックアップソフトを使うことををおすすめします。そのなかで、「Arcserve UDP」というソフトがおすすめです。詳しくは以下記事にまとめています。
おわりに
今回の記事は以上です。不備やご意見等ありましたら、下のコメント欄やtwitterからお願いします。
Windows Server の知識をさらに深めるには、書籍もおすすめです。Windows Server は実は機能が豊富で、Webに情報がないケースも多いです。無駄に探し回らないために、良書を手元に置いておくと効率的です。おすすめの本は、以下記事にまとめています。
最後まで読んでいただきありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント