web-dev-qa-db-ja.com

スナップショットが実際のバックアップではなく一時バックアップと見なされるのはなぜですか?

VMware ESXiを使用しています。私たちのチームでは、長期バックアップ用のスナップショットを提供するために使用しています。

次に、メモリスピルオーバーなどの問題に直面し、サーバーがハングアップしました。

私はVMwareナレッジベースの記事をはじめあらゆるところで読み始めました。どこにいても、スナップショットを長期間保持しないことが推奨されていました。

VMwareでさえ、スナップショットを最大3日間保持することをお勧めしました。

しかし、私たちのチームは(VMを削除するまで)少なくとも2つの永続的なスナップショットをとるように求め続けました。 VMを1年間)使用する場合があります。

  1. 1つのスナップショットは、新しいマシンの状態用です。 (したがって、アプリケーションのテストが完了すると、新しい状態に戻り、別のアプリケーションをインストールします)(許可しなかった場合は、VMをホストする必要がある場合があります)。

  2. VMをある状態に保つための次のスナップショット(おそらく、問題を検出してしばらくの間その状態を保つでしょう。あるいは、アプリケーションの前提条件をインストールして、マシンをテストの準備をしておくかもしれません。 )

論理的には、彼らのニーズは公平なようです。しかし、それを許可した場合、私は彼らがスナップショットを長期間保持することを許可することになります。 VMをメールサーバーまたはデータベースサーバーとして使用していません。

スナップショットを長期間保持すると悪影響が出るのはなぜですか?

スナップショットが実際のバックアップではなく一時バックアップと見なされるのはなぜですか?

27
Samselvaprabu

VMにアクティブなスナップショットがある場合、その仮想ディスクI/OはVMの実際の.VMDKファイルで実行されませんが、代わりに変更されずに保持され、VMは異なる物理ファイルに書き込まれます。これにより、以前のVM状態の回復が可能になりますが、3つの重要な副作用があります:

  • VMのディスクI/Oは非常に遅くなります。
  • VMが実行するディスクI/Oが増えるにつれて、これらの「デルタ」ファイルは時間の経過とともに増大し続けます。
  • スナップショットが削除されると、「デルタ」ファイルに保存された変更をメインの.VMDKファイルにマージする必要があります。これは、スナップショットが長時間アクティブである場合、非常に遅く、時間がかかります。

実際、アクティブなスナップショットを長期間保持しない方が良いでしょう。特定の状態でVMの長期バックアップが必要な場合は、VMを別の場所にコピーするだけです。これはパフォーマンスに影響を与えません。 VMを使用すると、いずれにしても、長期的にスナップショットがいっぱいになるよりも少ないディスク領域を使用することになります。

また、VMのコピーを別の場所に保存しておくと、VMを紛失した場合に実際に役立ちます。スナップショットはVM VMが使用可能な場合にのみ役立ちます。実際のデータ損失(データストアのクラッシュなど)の場合はまったく役に立たないため、実際のバックアップとして使用できません。 。

スナップショットに関する公式ドキュメントは次のとおりです。

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=101518

33
Massimo

私はこの投稿が少し古いことを知っていますが、出された質問と指摘は依然として非常に関連しています。

VMwareスナップショットは、バックアップではありません。私と多くのお客様に発生した最悪の副作用は、6か月前のVMwareスナップショットを保持している、ESXiホストで予期しない中断が発生し、ESXiが再起動する、または中断を解消するために再起動が必要になることです。 ESXiが回復し、VMが起動し、すべてのデータがそのVMwareスナップショットが作成された時点に戻されました。

このシナリオでは、VMwareスナップショットが作成された時点と中断の瞬間との間のすべての変更が単純に失われます。

したがって、私の一般的なアドバイスは、特定の目的のためにのみVMwareスナップショットを作成し、その目的を果たしたら削除することです。

http://kb.vmware.com/kb/1025279

5
Jay Ge

VMwareが使用する一部のスナップショット形式は、より多くのデータを保存するため、時間の経過とともにパフォーマンスが低下します。 「スパースエクステント」フォーマットは、最新バージョンのデフォルトであると私は信じていますが、このプロパティはありません(読み取りあたり3読み取り、最大2読み取りまたは書き込みあたり3書き込みを表示していますが、これはありません)ディスクがいっぱいになると悪化します)。したがって、「スナップショットを長期間保持しない」プロパティが必要に応じて常に正しいアドバイスであるかどうかは完全にはわかりません。

ただし、スナップショットをマージすると、サイズが大きくなるとagesが必要になることに気付きました。ユースケースによっては、これが問題になる場合と問題にならない場合があります。

「一時バックアップ」についての他の質問については、簡単に説明できます。バックアップは、プライマリデータストアが失われた場合でも回復できるようにすることを目的としています。スナップショットとオリジンが一緒に保存されるため(そして、スナップショットはベースイメージなしでは役に立たないため)、多くを失うことになります-したがって、スナップショットは決してバックアップではありません。

5
womble

クリーンインストールイメージまたは特定の状態を求めるチームの要求に対する解決策として、テンプレートを使用することをお勧めします。テンプレートは、VM(基本的には単なるコピー))を電源オンまたは変更できない状態に複製します。これは、複製コピーの参照としてのみ使用できます。たとえば、 「デフォルトのDebianインストール」テンプレートがあり、サーバーチームが3つの新しいサーバーを要求した場合、3つの新しいクローンを作成してカスタマイズすれば完了です。

2番目のシナリオでも同じことができます。 VMが参照したい状態になった場合は、テンプレートを作成します。それ以降は、参照する必要があるときはいつでも、別のコピーを複製するだけです。

3
Jim G.

スナップショットの背後にあるアイデアは、VM(新しいソフトウェアのインストール、メジャーアップグレードなど)のいくつかの再構成を行う前の復元ポイントの詳細です。そのため、それをフクサーする場合、ポイントにバックアップできます。それが働いていて、同僚のせいにせずに口笛を吹いていたところ:)

そして、一般的な考え方は、将来のある時点でマージすることです(ユーザーに影響を与えずにしばらく停止できる場合)。

1
Bojan Markovic

ここで他の人がすでに説明している理由のために、VMwareスナップショットを保持するべきではありませんが、多くの人が行うのは、VMwareスナップショットを取得することです。ストレージアレイのスナップショットを取得して、そのスナップショットをバックアップ/コピー/アーカイブ/その他することができます。アレイに実際のスナップショットを作成した後、VMwareスナップショットをできるだけ早く削除する必要があります。

1
pfo