In Compute Engine können Sie mithilfe von Standard-Snapshots Daten Ihrer Laufwerke sichern. Da Snapshots inkrementell sind, können Sie sie im Vergleich zu vollständigen Images von Laufwerken mit einer höheren Leistung erstellen, wobei zugleich geringere Gesamtspeichergebühren fällig werden.
Anwendungskonsistente Snapshots erfassen den Status von Anwendungsdaten zum Zeitpunkt der Sicherung, wenn alle Anwendungstransaktionen abgeschlossen sind und alle ausstehenden Schreibvorgänge auf das Laufwerk geleert wurden. Auf Windows-VM-Instanzen (virtuelle Maschine) können Sie den Volumeschattenkopie-Dienst (VSS) verwenden, um anwendungskonsistente Snapshots zu erstellen, ohne die Instanz zuerst zu beenden oder das Laufwerk von Ihrer VM zu trennen.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, damit Sie die Berechtigungen zum Erstellen eines Windows VSS-Snapshots erhalten:
-
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1) -
So stellen Sie eine Verbindung zu einer VM her, die als Dienstkonto ausgeführt werden kann:
Service Account User (v1) (
roles/iam.serviceAccountUser)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen eines Windows VSS-Snapshots erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um einen Windows-VSS-Snapshot zu erstellen:
compute.snapshots.createfür das Projekt-
compute.disks.createSnapshotauf dem Laufwerk -
So erstellen Sie einen Snapshot des Bootlaufwerks einer Instanz, an die ein Dienstkonto angehängt ist:
iam.serviceAccounts.actAsfür das Dienstkonto der Instanz
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Beschränkungen
Für Festplatten-Snapshots unter Windows gelten die folgenden Einschränkungen:
- VSS-Snapshots funktionieren nur für Windows-Instanzen mit Image-Version
v20160810und höher. Wenn es um Instanzen mit älteren Images geht, erstellen Sie einen Snapshot ohne VSS. - Das angehängte Laufwerk muss ein NTFS-, exFAT- oder ReFS-Dateisystem verwenden.
- VSS-Snapshots unterstützen die Datenaufbewahrung nur dann, wenn Sie VSS-fähige Anwendungen ausführen, die die Erstellung einer konsistenten Sicherung der Daten koordinieren können.
- Wenn der VSS-Snapshot-Vorgang nicht innerhalb von 300 Sekunden abgeschlossen ist, schlägt der Snapshot mit einem Zeitüberschreitungsfehler fehl.
Windows-VSS-Snapshot erstellen
Sie können Volumeschattenkopie-Dienst (VSS)-Snapshots erstellen, ohne die Instanz beenden oder das Laufwerk von Ihrer VM trennen zu müssen. VSS-Snapshots sind für die Sicherung und Wiederherstellung auf Systemen mit VSS-fähigen Anwendungen vorgesehen.
Der Preis für VSS-Snapshots ist mit dem Preis für normale Snapshots von Persistent Disks oder Hyperdisks identisch. Außerdem wird nur die Gesamtgröße des Snapshots in Rechnung gestellt.
Snapshot erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Snapshot erstellen auf.
Zur Seite "Snapshot erstellen"- Geben Sie einen Namen für den Snapshot ein.
-
Wählen Sie einen Snapshot-Typ aus. Die Standardeinstellung ist ein
STANDARD-Snapshot, der die beste Option für eine langfristige Sicherung und Notfallwiederherstellung ist.Wählen Sie Archiv-Snapshot aus, um eine kostengünstigere Datenaufbewahrung zu ermöglichen.
- Optional: Geben Sie eine Beschreibung des Snapshots ein.
- Wählen Sie unter Quelllaufwerk das vorhandene Laufwerk aus, von dem Sie einen Snapshot erstellen möchten.
Wählen Sie im Bereich Standort den Snapshot-Speicherort aus.
Der vordefinierte oder benutzerdefinierte Standardspeicherort, der in Ihren Snapshot-Einstellungen definiert ist, wird automatisch ausgewählt. Optional können Sie die Snapshot-Einstellungen überschreiben und die Snapshots an einem benutzerdefinierten Standort speichern. Gehen Sie dazu so vor:
Wählen Sie die Art des gewünschten Speicherorts für den Snapshot aus.
- Wählen Sie Multiregional aus, um eine höhere Verfügbarkeit zu höheren Kosten zu erreichen.
- Wählen Sie Regionale Snapshots aus, um den physischen Standort Ihrer Daten zu geringeren Kosten besser steuern zu können.
- Wählen Sie im Feld Standort auswählen die Region oder Multiregion aus, die Sie verwenden möchten. Wählen Sie Je nach Standort des Laufwerks aus, um die Region bzw. Multiregion mit der geringsten Entfernung zu Ihrem Quelllaufwerk zu verwenden.
- Klicken Sie auf die Option Anwendungskonsistenten Snapshot aktivieren.
- Klicken Sie auf Erstellen, um den Snapshot zu erstellen.
gcloud
Verwenden Sie zum Erstellen eines VSS-Snapshots den Befehl gcloud compute snapshots create und fügen Sie das Flag --guest-flush ein.
Sie können den Snapshot in der Richtlinie für den Speicherort erstellen, die in Ihren Snapshot-Einstellungen festgelegt ist, oder indem Sie einen alternativen Speicherort Ihrer Wahl verwenden. Weitere Informationen finden Sie unter Snapshot-Speicherort für Snapshots auswählen.
Verwenden Sie den Befehl
gcloud compute snapshots create, um einen Snapshot am vordefinierten oder benutzerdefinierten Standardspeicherort zu erstellen, der in Ihren Snapshot-Einstellungen konfiguriert ist.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --guest-flush-
Alternativ können Sie die Snapshot-Einstellungen überschreiben und einen Snapshot an einem benutzerdefinierten Speicherort erstellen. Geben Sie dazu das Flag
--storage-locationan, um festzulegen, wo der Snapshot gespeichert werden soll:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION \ --guest-flush -
Preview: Wenn Sie einen Snapshot mit regionalem Umfang in einer zulässigen Region erstellen möchten, geben Sie das Flag
--regionan, um festzulegen, wo der Snapshot erstellt werden soll.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE
Ersetzen Sie Folgendes:
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_ZONE: Die Zone des Quelllaufwerks.
- SOURCE_DISK_NAME: Der Name des Laufwerk-Volumes, von dem Sie einen Snapshot erstellen möchten.
- SNAPSHOT_TYPE: Der Snapshot-Typ, entweder STANDARD oder ARCHIVE.
Wenn kein Snapshot-Typ angegeben ist, wird ein
STANDARD-Snapshot erstellt. -
STORAGE_LOCATION: Optional: Für global ausgerichtete Snapshots ist dies der multiregionale Cloud Storage-Speicherort oder die Cloud Storage-Region, in der Sie den Snapshot speichern möchten. Sie können nur einen Speicherort angeben.
Verwenden Sie den Parameter
--storage-locationnur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist. -
SNAPSHOT_SCOPE_REGION: Optional: Bei regionalen Snapshots die Region, auf die der Snapshot beschränkt ist. Wenn Sie diesen Parameter angeben, können Sie den Parameter
--storage-locationnicht verwenden. STORAGE_LOCATION wird automatisch auf SNAPSHOT_SCOPE_REGION festgelegt.
gcloud compute snapshots create anstelle des Befehls gcloud compute disks snapshot, da er mehr Funktionen unterstützt, z. B. das Erstellen von Snapshots in einem anderen Projekt als dem Quelllaufwerkprojekt.
Zum Erstellen eines VSS-Snapshots einer regionalen Persistent Disk ersetzen Sie in den vorherigen Beispielen --source-disk-zone= durch --source-disk-region= und geben die Region an, in der sich die regionale Persistent Disk befindet.
Die Google Cloud CLI wartet, bis der Vorgang den Status READY oder FAILED zurückgibt oder die maximale Zeitüberschreitung erreicht und gibt die letzten bekannten Details des Snapshots zurück.
REST
Geben Sie beim Erstellen eines Snapshots an, dass Sie einen VSS-Snapshot erstellen möchten, indem Sie das Attribut guestFlush in den Anfragetext für die POST-Anfrage an compute.snapshots.insert-Methode einfügen.
Sie können den Snapshot in der Richtlinie für den Speicherort erstellen, die in Ihren Snapshot-Einstellungen festgelegt ist, oder indem Sie einen alternativen Speicherort Ihrer Wahl verwenden. Weitere Informationen finden Sie unter Snapshot-Speicherort für Snapshots auswählen.
-
Zum Erstellen eines Snapshots am vordefinierten oder benutzerdefinierten Standardspeicherort, der in Ihren Snapshot-Einstellungen konfiguriert ist, senden Sie eine
POST-Anfrage an die Methodesnapshots.insert:POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "guestFlush": true, } -
Wenn Sie alternativ die Snapshot-Einstellungen überschreiben und einen Snapshot an einem benutzerdefinierten Speicherort erstellen möchten, senden Sie eine
POST-Anfrage an diesnapshots.insertMethode und fügen Sie das AttributstorageLocationsin Ihre Anfrage ein:POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], "guestFlush": true, } -
Vorabversion: Wenn Sie einen regionalen Snapshot in einer zulässigen Region erstellen möchten, senden Sie eine
POST-Anfrage an die Methodesnapshots.insertund definieren Sie die Erstellungsregion:POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
Ersetzen Sie Folgendes:
- DESTINATION_PROJECT_ID: Die ID des Projekts, in dem Sie den Snapshot erstellen möchten.
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_PROJECT_ID: Die ID des Projekts des Quelllaufwerks.
- SOURCE_ZONE: Die Zone des Quelllaufwerks.
- SOURCE_DISK_NAME: Der Name des Laufwerk-Volumes, von dem Sie einen Snapshot erstellen möchten.
- SNAPSHOT_TYPE: Der Snapshot-Typ, entweder STANDARD oder ARCHIVE
Wenn kein Snapshot-Typ angegeben ist, wird ein
STANDARD-Snapshot erstellt. -
STORAGE_LOCATION: Optional: Für global ausgerichtete Snapshots ist dies der multiregionale Cloud Storage-Speicherort oder die Cloud Storage-Region, in der Sie den Snapshot speichern möchten. Sie können nur einen Speicherort angeben.
Verwenden Sie den Parameter
storageLocationsnur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist. SNAPSHOT_SCOPE_REGION: Optional: Bei regionalen Snapshots die Region, auf die der Snapshot beschränkt ist. Wenn Sie diesen Parameter angeben, können Sie den Parameter
storageLocationsnicht verwenden. STORAGE_LOCATION wird automatisch auf SNAPSHOT_SCOPE_REGION festgelegt.
snapshots.insert anstelle der Methode disks.createSnapshot, da er mehr Funktionen unterstützt, z. B. das Erstellen von Snapshots in einem anderen Projekt als dem Quelllaufwerkprojekt.Zum Erstellen eines VSS-Snapshots einer regionalen Persistent Disk ersetzen Sie in den oben gezeigten POST-Anfragen die folgende Zeile:
"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",
Beschreibbares Laufwerk aus einem VSS-Snapshot erstellen
Beim Erstellen eines VSS-Snapshots markiert Windows Server das Volume im Snapshot als schreibgeschützt. Wenn Sie ein neues Laufwerk aus dem VSS-Snapshot erstellen, wird für dieses Laufwerk auch der Lesemodus aktiviert.
Das kann zu Problemen führen. Wenn Sie beispielsweise eine VM-Instanz mit einem neuen Bootlaufwerk aus einem VSS-Snapshot eines vorhandenen Bootlaufwerks erstellen, verhindert das Schreibschutz-Flag auf dem neuen Bootlaufwerk, dass die VM korrekt gebootet wird.
Sie können dieses Problem umgehen, indem Sie das Schreibschutz-Flag von jedem neuen Laufwerk entfernen, das Sie mit einem VSS-Snapshot so erstellen können:
Prüfen Sie, ob das Laufwerk an eine VM angehängt ist.
- Wenn das Laufwerk, das Sie über den VSS-Snapshot erstellt haben, ein Nicht-Bootlaufwerk ist, können Sie es an eine neue oder vorhandene VM anhängen.
- Wenn das aus dem VSS-Snapshot erstellte Laufwerk ein Bootlaufwerk ist und Sie es zum Starten einer VM verwenden möchten, müssen Sie das Laufwerk vorübergehend an eine separate vorhandene VM anhängen. Wenn Sie die folgenden Schritte abgeschlossen haben, können Sie das Laufwerk von der VM trennen und zum Starten einer neuen VM-Instanz verwenden.
Melden Sie sich bei der Windows-VM an, an die das Laufwerk angehängt ist.
Öffnen Sie eine PowerShell-Eingabeaufforderung und führen Sie das
diskpart-Tool aus:PS C:\> diskpartErmitteln Sie das Laufwerk, das Sie bereitstellen möchten:
DISKPART> list diskWählen Sie mit dem Befehl
select diskdas Laufwerk aus:DISKPART> select disk DISK_NUMBERErsetzen Sie
DISK_NUMBERdurch die Nummer des Laufwerks, das Sie bereitstellen möchten.Stellen Sie das Laufwerk bereit.
DISKPART> online diskListen Sie alle Volumes auf dem Laufwerk auf:
DISKPART> list volumeWählen Sie das neue Volume aus:
DISKPART> select volume VOLUME_NUMBERErsetzen Sie
VOLUME_NUMBERdurch die Nummer des Volumes, das Sie als Lese- und Schreibvolume konfigurieren möchten.Löschen Sie das Schreibschutz-Flag:
DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopySchließen Sie das
diskpart-Tool:DISKPART> exitWenn es sich bei dem Laufwerk um ein Bootlaufwerk für eine andere VM handelt, synchronisieren Sie die Bootlaufwerksdateien mit der neuen Laufwerkssignatur.
PS C:\> bcdboot DRIVE_LETTERWindows /s DRIVE_LETTERErsetzen Sie
DRIVE_LETTERdurch den Laufwerksbuchstaben für das Volume, das Sie synchronisieren möchten. Zum BeispielFfürF:\.
Snapshot ohne VSS erstellen
Es kann vorkommen, dass Sie Snapshots von Laufwerken erstellen möchten, die an Windows-VMs ohne VSS angehängt werden.
So erstellen Sie einen Laufwerk-Snapshot auf einer Windows-VM ohne VSS:
- System auf einen sauberen Snapshot vorbereiten
- Snapshot erstellen
- Stellen Sie das Laufwerk noch einmal bereit.
System auf einen sauberen Snapshot vorbereiten
Bevor Sie einen Snapshot eines Laufwerks erstellen, achten Sie darauf, dass der Snapshot mit dem gewünschten Status des Laufwerks übereinstimmt. Wenn Sie einen Snapshot des Laufwerks in einem "unbereinigten" Status erstellen, kann dies eine Laufwerkprüfung erzwingen und möglicherweise zu einem Datenverlust führen. Sie sollten Ihr Dateisystem synchronisieren und trennen.
Dateisystem synchronisieren
Wenn die Aufhebung der Bereitstellung des Laufwerks nicht möglich ist, beispielsweise in Fällen, in denen die Anwendung Daten auf das Laufwerk schreibt, können Sie das Dateisystem synchronisieren, um die Laufwerkzwischenspeicher zu leeren. So synchronisieren Sie das Dateisystem:
- Melden Sie sich bei Ihrer Windows-VM an.
- Laden Sie das Sync-Tool von Microsoft herunter und installieren Sie es.
- Beenden Sie das Schreiben von Daten auf das Laufwerk für Ihre Anwendungen.
- Öffnen Sie einen Prompt mit erhöhten Rechten.
Führen Sie im Befehlszeilenfenster folgenden Befehl aus:
PS C:\> sync DRIVE_LETTERErsetzen Sie
DRIVE_LETTERdurch den Laufwerksbuchstaben für das Volume, das Sie synchronisieren möchten. Zum BeispielFfürF:\.
Bereitstellung des Laufwerks aufheben
Melden Sie sich bei Ihrer Windows-VM an.
Öffnen Sie eine PowerShell-Eingabeaufforderung und führen Sie das
diskpart-Tool aus:PS C:\> diskpartErmitteln Sie das Laufwerk, für das Sie die Bereitstellung aufheben und einen Snapshot erstellen möchten:
DISKPART> list diskWählen Sie als Nächstes das Laufwerk anhand der gerade ermittelten Laufwerknummer aus:
DISKPART> select disk DISK_NUMBERErsetzen Sie
DISK_NUMBERdurch die Nummer des Laufwerks, das Sie wieder bereitstellen möchten.Bereitstellung des Laufwerks aufheben
DISKPART> offline disk
Snapshot erstellen
- Befindet sich Ihr Laufwerk in einer einzigen Zone (zonaler nichtflüchtiger Speicher oder Hyperdisk), führen Sie die Schritte unter Snapshot eines zonalen nichtflüchtigen Speicher-Volumes erstellen aus.
- Befindet sich der nichtflüchtige Speicher hingegen in mehreren Zonen, führen Sie die Schritte unter Snapshot eines regionalen nichtflüchtigen Speicher-Volumes erstellen aus.
Stellen Sie das Laufwerk noch einmal bereit.
Melden Sie sich bei Ihrer Windows-VM an.
Öffnen Sie eine PowerShell-Eingabeaufforderung und führen Sie das
diskpart-Tool aus:PS C:\> diskpartErmitteln Sie das Laufwerk, das Sie bereitstellen möchten:
DISKPART> list diskWählen Sie mit dem Befehl
select diskdas Laufwerk aus:DISKPART> select disk DISK_NUMBERErsetzen Sie
DISK_NUMBERdurch die Nummer des Laufwerks, das Sie bereitstellen möchten.Stellen Sie das Laufwerk bereit.
DISKPART> online disk
Nächste Schritte
- Wenn Sie einen Snapshot eines Bootlaufwerks erstellt haben, können Sie eine VM aus einem Snapshot erstellen.
- Weitere Informationen zum Konfigurieren von Windows Server, damit Sie benutzerdefinierte Windows Server-Images für Ihre VMs oder Instanzvorlagen erstellen können, finden Sie unter Benutzerdefinierte Windows Server-Images erstellen.