In einem der VMware-KB-Artikel habe ich gelesen, dass sich Snapshots direkt auf die VM-Leistung auswirken.
Aber mein Team fragt mich immer wieder, wie sich Schnappschüsse auf die Leistung auswirken können.
Ich möchte ihnen einen soliden Grund für die Aussage geben, dass die Schnappschüsse Leistungsmörder sind.
Kann jemand eine kleine Theorie darüber erklären, wie sich Schnappschüsse tatsächlich auf die Leistung auswirken? Liegt es nur daran, dass die Festplatten-E / A-Rate langsam ist?
performance
vmware-esxi
virtual-machines
snapshot
Samselvaprabu
quelle
quelle
Antworten:
Wenn Sie einen Schnappschuss erstellen, wird das ursprüngliche Festplatten-Image in einem konsistenten Zustand "eingefroren", und alle Schreibzugriffe werden von da an auf ein neues differenzielles Image übertragen. Schlimmer noch, wie hier und hier erläutert , hat das Differenzbild die Form eines Änderungsprotokolls, in dem jede Änderung aufgezeichnet wird, die seit der Erstellung des Schnappschusses an einer Datei vorgenommen wurde. Dies bedeutet, dass Lesezugriffe nicht nur eine Datei, sondern alle Differenzdaten (die Originaldaten plus jede Änderung an den Originaldaten) lesen müssten. Die Anzahl erhöht sich noch mehr, wenn Sie Snapshots kaskadieren.
quelle
Wenn Sie einen Snapshot auf einer VM erstellen, wird eine Delta-Festplatte erstellt und das Betriebssystem schreibt in diese Datei anstelle des ursprünglichen VMDK. Diese Datei heißt VM_Name-Delta.VMDK. Wenn das System jedoch vor dem Snapshot auf eine Datei verweisen muss, wird darauf verwiesen, dass VM_Name.VMDK die E / A für diesen Vorgang erhöht. Wenn Sie mehrere Snapshots erstellen, verweisen Sie auf die letzte Delta-Datei des letzten Snapshots und nicht auf das ursprüngliche VMDK, wodurch die E / A erhöht werden.
Auch wenn Sie den Speicherstatus der VM zum Zeitpunkt des Snapshots angeben, wird eine Deltadatei erstellt, die bei Bedarf auf die ursprünglichen Speicherdateien verweist.
Es wird eine Datei erstellt, in der alle Dateien aufgelistet sind, die zum Zeitpunkt des Snapshot-Vorgangs erstellt wurden
quelle
Soweit ich das beurteilen kann, verwendet VMWare Copy-on-Write-Logik, um ihre Snapshots zu implementieren. Wenn Sie also einen erstellen, wird bei jedem Vorgang, der auf Ihrer VM ausgeführt wird (z. B. fast alles in der Laufzeit), ein kleiner Teil der VM kopiert, bis das Ganze im Wesentlichen geklont wurde.
Ein weiteres Leistungsproblem besteht darin, dass Lesevorgänge auf die Originalkopie übertragen werden müssen, wenn die Arbeitskopie noch keine Daten enthält (da sich nichts geändert hat, um eine Kopie zu erstellen).
Wenn Sie die Snapshots als Backup haben möchten, aber keine geringe Leistungsminderung tolerieren können, sollten Sie stattdessen die VM klonen.
quelle
Von hohen Co-Stop-Werten (% CSTP), die während der Snapshot-Aktivitäten der virtuellen Maschine angezeigt werden :
quelle