FlashArray による Volume Shadow Copy Service の連携

Windows が標準機能として提供している「Volume Shadow Copy Service(以下、VSS)」を FlashArray と連携させ、Windows OS やアプリケーションから見て整合性を保ったイメージバックアップを取得するための方法を解説します。

Pure Storage VSS Hardware Provider のセットアップ

ピュア・ストレージの村山です。今回は、Windows が標準機能として提供している「Volume Shadow Copy Service(以下、VSS)」を FlashArray と連携させ、Windows OS やアプリケーションから見て整合性を保ったイメージバックアップを取得するための方法を解説します。

VSS の導入手順

FlashArray はストレージであるため、VSS の枠組みでは「VSS ハードウェアプロバイダ」に位置付けられます。そのためのプラグイン的なソフトウェアも用意されており、執筆時点(2019 年 7 月)の最新版は「Pure Storage Hardware Provider for Microsoft VSS 1.6.0」として提供されています。VSS イメージバックアップを行いたい Windows サーバーに、このソフトウェアをインストールすることが準備の最初の一歩です。具体的には、ソフトウェアのインストーラ(PureVSSInstaller.exe)をダブルクリックし、Windows 環境にインストールします。インストールはウィザードベースで、ほぼデフォルト値に応えればよいので、あっという間に完了します。なお、執筆時点でサポート対象となっている Windows サーバーは、2008R2、2012、2012R2、2016 の 64 ビット版です。

Pure Storage VSS Hardware Provider のセットアップ
図 1:Pure Storage VSS Hardware Provider のセットアップ

次に、FlashArray と連携するための設定をコマンドラインツールで行います。具体的な手順は以下のとおりです。

  1. コマンドプロンプトを開く
  2. pureproviderconfig add コマンドで対象の FlashArray と連携するための設定を行う
    例:> pureproviderconfig add –url https://x.x.x.x –user pureuser –password password Alias-Name
    –url … 対象となる FlashArray の管理インタフェースにアクセスするための URL
    –user … 管理者アカウント
    –password … 管理者アカウントのパスワード
    Alias-Name … 対象となる FlashArray のエイリアス名(必須。FlashArray に設定した実際のホスト名と一致する必要はない)
  3. Windows 管理ツールの「サービス」から 「Pure Storage VSS Hardware Provider (64-bits) 」を開始
pureproviderconfig コマンド実行例
図 2:pureproviderconfig コマンド実行例

これで VSS 連携の準備が整いました。

VSS の利用例

それでは、E: としてマウントした FlashArray 上のボリュームのイメージバックアップを VSS 経由で取得してみましょう。

VSS によるボリュームのシャドウコピーを取得するには、VSS リクエスタによる実行指示が必要です。ここでは、Windows サーバーに含まれている diskshadow ツールを VSS リクエスタとして使用します。

まず、E ドライブにアクセスして内容を確認してみましょう。

E ドライブにアクセス
図 3:E ドライブにアクセス

図 3 にあるとおり、E ドライブには 3 つのファイルが保存されていることがわかります。この状態で、VSS によるシャドウコピーをとってみます。コマンドプロンプトを開き、diskshadow ツールを実行します。diskshadow ツール実行環境の中で、さらに以下のコマンドを実行します。

> set context persistent … シャドウコピーイメージにドライブレターを割り当てるために必要
> set option transportable … シャドウコピーを後から利用するためのオプション
> set metadata metadata.cab … 関連メタデータを保存するファイル名

diskshadow ツールを実行
図 4:diskshadow ツールを実行

これでバックアップイメージを取得する準備が整いました。次に E ドライブに対して VSS 連携したスナップショットを作成するコマンドを実行します。

> add volume e:
> create

 VSS 連携したスナップショットを作成
図 5: VSS 連携したスナップショットを作成

FlashArray の管理 GUI を使うと、VSS ハードウェアプロバイダを経由し、対象ボリュームのスナップショットが作成されていることを確認できます。

FlashArray の管理 GUI で対象ボリュームのスナップショットを確認
図 6:FlashArray の管理 GUI で対象ボリュームのスナップショットを確認

これで 3 ファイルを格納した E ドライブの VSS シャドウコピーが確保できたので、意図的にそのうちの 2 つのファイルを削除してみましょう。

ファイルの削除
図 7:ファイルの削除

この削除がオペミスだった場合には、どのようにデータを戻せるでしょうか?先ほど取得したスナップショットをもとに、シャドウコピーからデータを戻してみたいと思います。再びコマンドプロンプトから diskshadow コマンドを実行し、次の diskshadow ツールのコマンドを実行します。

> load metadata metadata.cab … メタデータが保存されたファイルのファイル名
> import … メタデータの読み込み
> list shadows all … シャドウイメージの一覧

これにより、データリカバリの準備ができました。

データリカバリの準備
図 8:データリカバリの準備

import コマンド実行時にエラーが出ることがありますが、すでに同じシャドウコピーが利用可能になっている場合には、無視して進められることがあります。さらに、以下のコマンドを実行することで、シャドウイメージをドライブとしてマウントします。ここでは G ドライブとしてマウントしています。

> expose %VSS_SHADOW_1% g:

「%VSS_SHADOW_1%」は、シャドウコピー ID を表す文字列(ここでは、31d9… で始まる文字列)に置換される環境変数です。

シャドウイメージを G ドライブとしてマウント
図 9:シャドウイメージを G ドライブとしてマウント

G ドライブにアクセスすると、シャドウコピーから削除した 2 つのファイルがリカバリされたことが確認できます。

シャドウコピーから削除したファイルをリカバリ
図 10:シャドウコピーから削除したファイルをリカバリ

リカバリが終わったら、以下のコマンドを実行してマウントを解除し、必要に応じて対象シャドウコピー(実際には FlashArray のスナップショット)を削除します。

> unexpose g: … Gドライブをアンマウント
> delete shadows id %VSS_SHADOW_1% … 対象シャドウコピーを削除

対象シャドウコピーの削除
図 11:対象シャドウコピーの削除

FlashArray の管理 GUI でも対象スナップショットが削除されたことを確認できます。

FlashArray の管理 GUI で対象スナップショットの削除を確認
図 12:FlashArray の管理 GUI で対象スナップショットの削除を確認

まとめ

FlashArray による VSS の連携について、導入方法と簡単な利用例をご紹介しました。実際にはバックアップソフトウェアのような VSS リクエスタを使用して、VSS シャドウコピーを利用する利用形態になります。そのための事前動作確認としてもぜひご活用ください。

今後ともピュア・ストレージをよろしくお願いいたします。


Pure Storage、Pure Storageのロゴ、およびその他全てのPure Storageのマーク、製品名、サービス名は、米国およびその他の国におけるPure Storage, Inc.の商標または登録商標です。その他記載の会社名、製品名は、各社の商標または登録商標です。