特集 Windows Server 2003完全ガイド

可用性を向上させるボリューム・シャドウ・コピー・サービス
―― SANなどのエンタープライズ・ストレージ・バックアップにも対応――

1.可用性を向上しTCOを削減するVSS

一色政彦
2003/07/17

 Windows Server 2003では、サーバの可用性向上やTCO削減のために、ハードディスクのデータなどをバックアップするための新機能が追加された。今回取り上げる「ボリューム・シャドウ・コピー・サービス(Volume Shadow Copy Service、以下VSS)」がそれである。「ボリューム・シャドウ・コピー(またはシャドウ・コピー)」とは、従来からバックアップ・ソフトウェアで「スナップショット」と呼ばれていた機能のことで、ある特定時点での瞬間的なファイルやデータの状態を記録したものを指す。

 ただし、このスナップショットはバックアップ・データそのものではなく、バックアップ対象のファイルやデータへのリンク情報である。よって、大量のデータでも小さな格納領域に保存できるとともに、スナップショットの作成にもあまり時間がかからない。

 VSSは、一連のスナップショット作成支援機能をオペレーティング・システムのレベルで提供するサービスである。VSSによるバックアップ処理では、いったんこのようなスナップショットを作成し、そこからバックアップ・データを取得してバックアップ処理を行う。このサービスを利用すると、稼働システムのデータを直接バックアップしなくてすむので、稼働中のサーバ・アプリケーションを停止させることなく、かつシステムのパフォーマンスに大きな影響を与えることなく、バックアップを作成できるようになる。例えばデータベースのバックアップを取る場合、VSSを利用することで、データベースを稼働させたまま、またデータベース処理のパフォーマンスを落とすことなく、オンライン・バックアップを取ることができるようになる。このような機能は、高い可用性が求められるミッション・クリティカルなシステムでは欠かせないものだ。

 なお、このVSSと類似の新機能として、Windows Server 2003には「共有フォルダのシャドウ・コピー」がある。こちらはWindows Server 2003上の共有フォルダに含まれるファイルの履歴を保存する機能だ。周知のとおり、ローカル・ディスクのファイルは削除してもいったん「ごみ箱」に保存されるので(デフォルト時)、間違ってファイルを消去してしまった場合でも、「ごみ箱」からファイルを取り戻すことができる。これに対し共有フォルダ上のファイルをいったん削除してしまうと、「ごみ箱」の機能は使われず、ファイルを元に戻すことができない。「共有フォルダのシャドウ・コピー」では、共有フォルダの履歴をサーバ側で保存することで、ファイルを復旧できるようにする(ただし履歴が記録されるのは、管理者が指定した時間だけなので、常に最新のファイルを復帰できるというわけではない)。この「共有フォルダのシャドウ・コピー」は、VSSのスナップショット(シャドウ・コピー)作成の機能を利用して実現されている。共有フォルダのシャドウ・コピーを指して「ボリュームのシャドウ・コピー」と呼んでいるケースもあるようだが、今回取り上げる「ボリューム・シャドウ・コピー・サービス(VSS)」とはレベルの違うものなので、混同しないように注意する必要がある(VSSはシステム・サービス、共有フォルダのシャドウ・コピーはVSSを利用して実装された機能)。

2つのスナップショット機能

 VSSを機能的な側面から見ると2つに分類できる。1つはソフトウェア機能によってスナップショットを作成する機能で、もう1つがハードウェア転送によってスナップショットを作成する機能である。通常のバックアップ処理では、ソフトウェア機能でいったんローカルのハードディスク上にスナップショットを作成し、そのスナップショットをバックアップする。一方、ハードウェア転送のスナップショットは、そのストレージ・ハードウェアが提供するスナップショット作成機能を使ってスナップショットを作成し、それをバックアップする。単独のハードディスクではなく、SANなどのストレージ・システムに格納されたデータをVSSでバックアップするには、ハードウェアレベルでのサポートが必要となる。ハードウェア機能によるスナップショットでは、ソフトウェアよりも高性能のスナップショットが作成できる。

 なお、VSSにスナップショット機能(ソフトウェア/ハードウェア・スナップショット)は、Windows Server 2003のすべてのエディション(Standard Edition/Enterprise Edition/Datacenter Edition/Web Edition/64-Bit Edition)で利用可能だ。

オープン中ファイルのバックアップに対応(ソフトウェア・スナップショット)

 VSSが提供されなかった従来のWindows 2000 Serverでは、アプリケーションによってオープン中のファイルがあったり、ロック中のファイルがあったりすると、それらのファイルがバックアップ対象から除外(スキップ)されてしまっていた。例えばデータベース・ソフトウェアが参照するファイルはこの形式になるので、肝心のデータベース・ファイルをバックアップするには、システムをいったん停止しなければならなかった。

 アプリケーションの状態にはおかまいなしに、ファイルのバックアップを取ることは技術的には可能だが、その場合、アプリケーションの整合性は保証されない(処理途中の一時的な状態がバックアップされてしまう可能性がある)。つまり、データのバックアップはできたとしても、それをリストアして正しく使える保証がない。これではバックアップする意味がないだろう。

 また、稼働中のシステムから大量のファイルをバックアップする場合などは、バックアップのタイミングによって、状態の異なるファイルがバックアップされてしまい、ファイル間でのデータの整合性が失われてしまうという問題もあった。例えば、ファイルのバックアップ処理に1時間かかったとして、バックアップ開始時に保存されたファイルとバックアップ終了時に保存されたファイルでは1時間のタイムラグがあることになる。この間にファイルの更新があったとすると、先にバックアップしたファイルは古いものが、後にバックアップしたものは新しいものがバックアップされてしまう。

 このような問題を回避するため、従来は利用者の比較的少ない夜間や休日にシステムを停止してバックアップを行うなどが一般的だった。

 これに対しWindows Server 2003では、VSSのスナップショット機能を利用することで、これらの問題を回避しながらバックアップ処理を行える。通常、単体のサーバに接続されたハードディスク内のデータをバックアップするときには、特別なハードウェアの機能に依存せず、ソフトウェアだけで実現されたソフトウェア・スナップショットの機能を利用することになる。

従来のバックアップとVSSを利用したバックアップ
従来のバックアップ(上)では、オープン中のファイルやロック中のファイルは正しくバックアップできなかった。これに対しVSSでは、いったんスナップショット(シャドウ・コピー)を作成して、そのスナップショットをバックアップするので、システムを稼働させたままバックアップを行うこと(オンライン・バックアップ)が可能になる。

標準のバックアップ・ユーティリティに見るVSS対応

 Windows Server 2003のVSSは、アプリケーション向けのAPIを提供し、アプリケーションがこれに対応することで安全・確実なスナップショットを取れるようにする(バックアップ時のデータの整合性を保証できるようにする)。VSS対応のバックアップ・ソフトウェア(VSSでは「リクエスタ」と呼ぶ)からバックアップが実行されると、サーバ・アプリケーションやオペレーティング・システム(「ライター」と呼ぶ)はVSSの要求により瞬間的に動作を停止するなどして、スナップショットを作成するための準備を行う。その後VSSはスナップショットを作成し、そのスナップショットからボリューム・データを取得してバックアップを取る。前述したとおり、これによりアプリケーションやサービスを停止することなく、オープン中のファイルもバックアップできるようになる。ただし、VSS対応ではないバックアップ・ソフトウェアを使用した場合は、Windows Server 2003上でバックアップを取っても、オープン中のファイルをバックアップできない場合があるので注意が必要である。

 Windows Server 2003に付属する標準バックアップ・ユーティリティ(ntbackup.exe)はこのVSS機能に対応しており、デフォルトでは、スナップショット(シャドウ・コピー)を利用したバックアップを行うようになっている。従って標準のバックアップ・ユーティリティを使ってバックアップするだけで、Windows 2000では不可能だったオープン中のファイルやロック中のファイルが存在していても問題なくバックアップ処理を完了できるようになる。例えば下の画面は、Windows Server 2003の標準バックアップ・ユーティリティを実行し、バックアップ処理の進行状況を表示したところである。画面のメッセージから分かるようにWindows Server 2003付属のバックアップ・ユーティリティでは、ファイルをいきなりバックアップするのではなく、まず最初にスナップショット(シャドウ・コピー)を作成するようになっている(デフォルト時)。

標準バックアップ・ユーティリティを利用したバックアップ
VSSに対応しているWindows Server 2003の標準バックアップ・ユーティリティでは、いったんスナップショット(シャドウ・コピー)を作成して、そのスナップショットをバックアップする。
  バックアップ処理の状態を表示している。メッセージは、バックアップの前準備の状態で「スナップショット(シャドウ・コピー)」を作成している状態を表している。

 必要なら、設定を変更することで、VSSを利用しないで(スナップショットを作成しないで)、従来どおりの方法でバックアップを行うことも可能である。

バックアップ・オプションの設定
Windows Server 2003付属のバックアップ・ユーティリティでは、デフォルトでVSSを利用する。必要なら、バックアップ・オプションを変更することで、VSSを利用しないバックアップも選択できる。
  VSSを利用しない場合は、このチェック・ボックスをオンにする。
 
 

 INDEX
  [特集]Windows .NET Server 2003完全ガイド
  可用性を向上させるボリューム・シャドウ・コピー・サービス
   1.可用性を向上しTCOを削減するVSS
     2.ハードウェア転送スナップショットの概要
 
目次ページへ  Windows Server 2003完全ガイド


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間