スナップショットがVMパフォーマンスに直接影響するというVMwareのKB記事の1つを読みました。
しかし、私のチームは、スナップショットがパフォーマンスにどのように影響するかを私に尋ね続けています。
スナップショットがパフォーマンスキラーであるという声明の背後にある確かな理由を説明したいと思います。
スナップショットが実際にパフォーマンスにどのように影響しているかについて、少し理論を説明できますか?ハードディスクのディスクI/O速度が遅いからというだけのことですか?
VMにスナップショットを作成すると、これによりデルタディスクが作成され、オペレーティングシステムは元のVMDKではなくこのファイルに書き込みます。このファイルはVM_Name-Delta.VMDKと呼ばれますが、システムで必要な場合は、スナップショットの前のファイルを参照します。この操作のI/Oを増加させるVM_Name.VMDKを参照します。複数のスナップショットを取得する場合、元のVMDKではなく、最後のスナップショットの最後の差分ファイルを参照しているため、I/Oが増加します。
例。
OS --->スナップショット(ファイルAが作成された)--->(スナップショットファイルBが作成された)
ファイルAを参照する必要がある場合は、これを見つけるために3つのVMDKを調べます。
また、スナップショットの作成時にVMのメモリ状態を含めると、これはデルタファイルを作成し、必要に応じて元のメモリファイルを参照します。
ファイルが作成されます。これにより、スナップショットプロセス時に作成されたすべてのファイルが一覧表示されます。
私の知る限り、VMWareはコピーオンライトロジックを使用してスナップショットを実装しています。したがって、1つ作成すると、VMで実行されるすべての操作(たとえば、実行時のほぼすべて)により、VMすべてが本質的に複製されるまで。
これに関するもう1つのパフォーマンスの問題は、作業コピーにまだデータがない場合は、読み取りを元のコピーにカスケードする必要があることです(何も変更されてコピーが発生しないため)。
スナップショットをバックアップとして使用したいが、パフォーマンスのわずかな低下を許容できない場合は、代わりにVMのクローンを作成することを検討してください。