QA@IT

VMware ESXで仮想ゲストのDBのバックアップを取得する際に静止点を取る必要はあるんでしょうか。

8602 PV

VMware ESXのバックアップで、VCBなどを使用した場合、スナップショットが働くと思います。
スナップショットでは仮想ディスクだけでなくメモリ領域の状態も取る為、例えばSQL ServerのVSSをキックしたりして静止点を取る必要すらない気がしています。
VCBは、そのスナップショットのデータを別のストレージに落とすような形になるので、バックアップでDBの静止点を考慮しなくて良さそうですが、そんなことはないのでしょうか。

  • 具体例ではないですが、参考になりそうな記事をあげておきました -

回答

具体的な事例はありませんが回答させてもらいます。

VCBやVADP自体はバックアップ機能ではないので利用するバックアップソフトウェアに左右されるとは思います(VSSを使うなと言っている製品もみかけたことがあります)が、
スナップショットを取得している時間(公称では1,2秒)やメモリをディスクにストアしている時間(メモリ容量による)があります。

その間のアプリケーション整合性を(稼働している方もスナップショットも)確保しなければなりませんので
アプリケーションレベルでの静止が可能であれば行った方がいいでしょう。
ストレージが仮想ファイルではなく複数台と共有している物理ディスクなどの場合も考えると、可能な限りバッファはフラッシュしていたほうがいいんだろうなとは思います。

とはいえLinuxではSyncドライバのためにいろいろあるみたいですが、Windowsだと今はVCBの静止リクエストによってVMware-toolsがVSSを叩きに行くみたいですので、OSレベルでの整合性は確保されそうですね。

個人的にも仮想マシンで適当にサスペンドしてこれといって困ったことになることがない(スナップショットとサスペンドじゃだいぶ違いますが)ので質問の意図はわかりますが、
仮想マシンとゲストOSとアプリケーションとで整合性に対するレベル感は違うでしょうから全く気にしなくてよいということはないでしょうね。
あとはバックアップソフトウェアがどう推奨しているかも確認する必要があると思います。

あとはこういうのVMware KBもあるようですのでご注意ください。


8/28追記

具体的にどういうメカニズムで壊れるというのは見かけないですよね。
いくつか参考になりそうなものをあげておきます。

スナップショット作成時のアプリケーションの停止の有無について
「サービスを停止させない場合、エラー発生や、全体のパフォーマンスに影響が」

https://hds.networld.co.jp/helpdesk/support/FaqFacadeServlet?TaskType=Detail&seriesId=VMwareFAQ&id=00001722&categoryId=0033&JspUrl=/support/FrequentlyDetail.jsp

仮想化環境におけるバックアップ運用を従来の延長で考える - (2)の最後
「アプリケーションの静止点を確保できないため、データにアクセスしている最中にバックアップすると、データの一貫性を保持できないという課題」

http://thinkit.co.jp/article/1096/1

VMware環境のバックアップデータの整合性
「実は、オンラインでの仮想マシンバックアップは、ヴイエムウェアもOSベンダーも完全には保証していない。」

http://techtarget.itmedia.co.jp/tt/news/1302/14/news01.html

編集 履歴 (1)
  • 返信有難う御座います。
    メモリ状態もバックアップが取られるなら、フラッシュする意味すらないと考えていましたが、なぜそれがダメなのか記載されている情報が見つかりませんでしたので、サポートされる行為ではないんだと思います。

    とりあえずは、バックアップソフトウェアやアプリケーションのドキュメントに記載されている範囲でバックアップを取得するようにしてみます。
    有難う御座いました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。