DBのバックアップ手法は色々とありますが、以下の手順はよくある手法だと思います。
- ストレージのLUをDBサーバに見せる領域(以下P-VOL)とバックアップサーバに見せる領域(以下S-VOL)に分けて作成し、P-VOLとS-VOL間で同期処理ができるようにストレージの設定を行う。
- DBサーバのデータファイルをP-VOL上に配置する。
- バックアップサーバでS-VOLをRawデバイスバックアップの設定をする。
- DBの機能で静止点を作る。
- ストレージの機能でP-VOL/S-VOLを同期し、同期が完了したらP-VOL/S-VOLを切り離す。
- この状態でS-VOLには静止点のデータファイルが配置されているので、バックアップサーバがS-VOLをバックアップする。
今携わっているプロジェクトでも上記の手法を使っているのですが、なんとWindowsサーバにインストールされたNetVault ServerはGPT形式でフォーマットされたパーティションをRawデバイスバックアップすることができないという制約があります。
NetVaultのマニュアル
「Windowsで、Plug-in for Raw Devicesは、GPT(GUID Partition Table)スタイルのパーティションをバックアップすることはできません。プラグインは、MBR(マスター・ブート・レコード)スタイルのパーティションのバックアップにのみ使用することができます。」
結局、PMにまでエスカレーションされた結果、DBサーバのパーティションをGPTではなくMBRにフォーマットしなおすという判断になりましたが、構築作業において大きな手戻りが発生しました。
過去にDataProtectorやNetVackupは経験があったので、NetVaultは初めてだったにもかかわらず「どのバックアップソフトも似たようなものだろ」などとエンジニアとしてあるまじきことを考えてしまったのが問題でした・・・。経験が油断となって問題を引き起こすわけですね・・・。類似製品を知っていても、製品やバージョンが違えば別物だという意識をもって仕事をすべきだと反省しました。
ただ、今後、GPT形式のフォーマットが増えていくと想定されるので、意外とインパクトのある問題だなと感じました。今回はたまたまMBRに変更可能でしたが、そうではないケースも出てくると思います。ベンダーには回避策を用意しておいてもらいたいものです。