Daten über einen Snapshot sichern
Auf dieser Seite wird gezeigt, wie Sie Daten auf Ihrer nutzerverwalteten Notebooks-Instanz von Vertex AI Workbench sichern. Dazu erstellen Sie einen Snapshot.
Die Daten auf Ihrer Instanz werden auf einem zonalen nichtflüchtigen Speicher gespeichert. Sie können Snapshots dieses Laufwerks erstellen und verwenden, um Ihre Daten zu sichern, einen wiederkehrenden Sicherungszeitplan zu erstellen und Daten in einer neuen Instanz wiederherzustellen.
Snapshot erstellen
Sie können auch Snapshots von Laufwerken erstellen, die ausgeführten Instanzen zugeordnet sind. Snapshots sind globale Ressourcen, sodass Sie sie zur Wiederherstellung von Daten auf einem neuen Laufwerk oder einer neuen Instanz innerhalb desselben Projekts verwenden können. Außerdem ist eine projektübergreifende Freigabe von Snapshots möglich.
Console
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Zu "VM-Instanzen"
Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt. - Wählen Sie das Projekt aus, das Ihre VM-Instanzen enthält.
- Klicken Sie in der Spalte Name auf den Namen der VM mit dem zu sichernden Laufwerk.
-
Unter
Speicher :- Klicken Sie im Abschnitt Bootlaufwerk auf Name, um das Bootlaufwerk zu sichern.
- Klicken Sie unter Zusätzliche Laufwerke auf Name für das Laufwerk, um ein angehängtes Datenlaufwerk zu sichern.
-
Klicken Sie auf
Snapshot erstellen . -
Geben Sie unter Name einen eindeutigen Namen ein, um den Zweck des Snapshots zu identifizieren. Beispiel:
boot-disk-snapshot
attached-data-disk-snapshot
-
Unter Typ ist standardmäßig ein Standard-Snapshot ausgewählt. Standard-Snapshots eignen sich am besten für eine langfristige Sicherung und Notfallwiederherstellung.
Wählen Sie Archiv-Snapshot aus, um eine kostengünstigere Sicherung als bei Standard-Snapshots zu erstellen, die aber eine längere Datenwiederherstellungszeit hat.
Weitere Informationen finden Sie unter Vergleich der Snapshot-Typen.
-
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 Multiregional aus, um eine höhere Verfügbarkeit zu höheren Kosten zu erreichen.
-
Wählen Sie im Feld Standort auswählen die Region oder Multiregion aus, die Sie verwenden möchten. Wenn Sie die Region oder Multiregion mit der geringsten Entfernung zu Ihrem Quelllaufwerk verwenden möchten, wählen Sie einen Speicherort im Abschnitt Je nach Standort des Laufwerks aus.
-
- Klicken Sie auf Erstellen, um einen Snapshot zu erstellen.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Erstellen Sie den Snapshot mithilfe der Richtlinie für den Speicherort, die in Ihren Snapshot-Einstellungen definiert ist, oder verwenden Sie einen alternativen Speicherort Ihrer Wahl. Weitere Informationen finden Sie unter Snapshot-Speicherort für Snapshots auswählen. Sie müssen einen Snapshot-Namen angeben. Der Name muss zwischen 1 und 63 Zeichen lang sein und RFC 1035 entsprechen.
Verwenden Sie den Befehl
gcloud compute snapshots create
, um einen Snapshot eines nichtflüchtigen Speicher-Volumes am vordefinierten oder benutzerdefinierten Standardspeicherort zu erstellen, der in Ihren Snapshot-Einstellungen konfiguriert ist.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --snapshot-type SNAPSHOT_TYPE \ --source-disk-zone SOURCE_DISK_ZONE
Alternativ können Sie die Snapshot-Einstellungen überschreiben und einen Snapshot an einem benutzerdefinierten Speicherort erstellen. Geben Sie dazu das Flag
--storage-location
an, um festzulegen, wo der Snapshot gespeichert werden soll:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk SOURCE_DISK \ --source-disk-zone SOURCE_DISK_ZONE \ --storage-location STORAGE_LOCATION \ --snapshot-type SNAPSHOT_TYPE
Ersetzen Sie Folgendes:
- SNAPSHOT_NAME: Ein Name für den Snapshot.
- SOURCE_DISK: Der Name des zonalen Persistent Disk-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. Wählen Sie „Archive“ aus, um eine kostengünstigere Datenaufbewahrung zu ermöglichen.
- SOURCE_DISK_ZONE: Die Zone des zonalen Persistent Disk-Volumes, von dem Sie einen Snapshot erstellen möchten.
- STORAGE_LOCATION: Für benutzerdefinierte Speicherorte 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 das Flag
--storage-location
nur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist.
Die gcloud CLI wartet bis der Vorgang den Status
READY
oderFAILED
zurückgibt oder das Zeitlimit erreicht und die letzten bekannten Details des Snapshots zurückgibt.
Terraform
Verwenden Sie die Ressource google_compute_snapshot
, um einen Snapshot des zonalen nichtflüchtigen Speichers zu erstellen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
API
Erstellen Sie den Snapshot in der Richtlinie für den Speicherort, die in Ihren Snapshot-Einstellungen definiert ist, oder verwenden Sie einen alternativen Speicherort Ihrer Wahl. 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/v1/projects/DESTINATION_PROJECT_ID/global/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 nichtflüchtigen Speichers, 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.
Wenn Sie alternativ die Snapshot-Einstellungen überschreiben und einen Snapshot an einem benutzerdefinierten Speicherort erstellen möchten, senden Sie eine
POST
-Anfrage an die Methodesnapshots.insert
und fügen Sie das AttributstorageLocations
in Ihre Anfrage ein:POST https://compute.googleapis.com/compute/v1/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 }
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 nichtflüchtigen Speichers, 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: 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
storageLocations
nur, wenn Sie den vordefinierten oder benutzerdefinierten Standardspeicherort überschreiben möchten, der in Ihren Snapshot-Einstellungen konfiguriert ist.
Go
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Einrichtungsschritten in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken.Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Einrichtungsschritten in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken.Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Einrichtungsschritten in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken.Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Einrichtungsschritten in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken.Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Wiederkehrende Sicherung planen
Wenn Sie einen Snapshot-Zeitplan erstellen, erstellen Sie eine Ressourcenrichtlinie, die Sie auf einen oder mehrere nichtflüchtige Speicher anwenden können. So erstellen Sie einen Snapshot-Zeitplan:
- Erstellen Sie einen Snapshot-Zeitplan und hängen Sie ihn an einen vorhandenen nichtflüchtigen Speicher an.
- Erstellen Sie einen neuen nichtflüchtigen Speicher mit einem Snapshot-Zeitplan.
Ein Snapshot-Zeitplan umfasst die folgenden Attribute:
- Name des Zeitplans
- Beschreibung des Zeitplans
- Häufigkeit des Snapshots (stündlich, täglich, wöchentlich)
- Beginn des Snapshots
- Region, in der der Snapshot-Zeitplan verfügbar ist
- Richtlinie zu gelöschtem Quelllaufwerk für die Verarbeitung automatisch generierter Snapshots, wenn das Quelllaufwerk gelöscht wird
- Aufbewahrungsrichtlinie, mit der Sie definieren können, wie lange über den Snapshot-Zeitplan generierte Snapshots aufbewahrt werden
Beschränkungen
- Ein nichtflüchtiger Speicher kann maximal mit zehn Snapshot-Zeitplänen gleichzeitig verknüpft sein.
- Sie können keine Archiv-Snapshots mit einem Snapshot-Zeitplan erstellen.
- Pro Region können maximal 1.000 verwendete Snapshot-Zeitpläne erstellt werden.
- Snapshot-Zeitpläne gelten nur für das Projekt, in dem sie erstellt wurden. Snapshot-Zeitpläne können nicht in anderen Projekten oder Organisationen verwendet werden.
- Möglicherweise müssen Sie eine Erhöhung der Ressourcenkontingente über die Konsole anfordern, wenn Sie zusätzliche Ressourcen in Ihrer Region benötigen.
- Mit einem Laufwerk verknüpfte Snapshot-Zeitpläne können nicht gelöscht werden. Sie müssen einen Zeitplan zuerst von allen Laufwerken trennen, bevor Sie ihn löschen können.
- Sie können einen vorhandenen Snapshot-Zeitplan aktualisieren, um die Beschreibung, den Zeitplan und die Labels zu ändern. Zum Aktualisieren anderer Werte für einen Snapshot-Zeitplan müssen Sie den Snapshot-Zeitplan löschen und einen neuen erstellen.
- Für nichtflüchtige Speicher, die einen vom Kunden bereitgestellten Verschlüsselungsschlüssel (CSEK) verwenden, können Sie keine Snapshot-Zeitpläne erstellen.
- Bei nichtflüchtigen Speichern, die einen vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verwenden, werden alle mit einem Snapshot-Zeitplan erstellten Snapshots automatisch mit demselben Schlüssel verschlüsselt.
Zeitplan erstellen
Erstellen Sie einen Snapshot-Zeitplan für Ihre nichtflüchtigen Speicher mit der Google Cloud Console, der Google Cloud CLI oder der Compute Engine API. Sie müssen den Snapshot-Zeitplan in derselben Region erstellen, in der sich der nichtflüchtige Speicher befindet. Wenn sich der nichtflüchtiger Speicher beispielsweise in der Zone us-west1-a
befindet, muss sich der Snapshot-Zeitplan in der Region us-west1
befinden. Weitere Informationen finden Sie unter Speicherort auswählen.
Console
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Zu „VM-Instanzen”
Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt. - Wählen Sie das Projekt aus, das Ihre VM-Instanzen enthält.
- Klicken Sie in der Spalte Name auf den Namen der VM mit dem nichtflüchtigen Speicher, für den Sie einen Snapshot-Zeitplan erstellen möchten.
-
Unter
Speicher klicken Sie auf den Namen des Bootlaufwerks oder des zusätzlichen Laufwerks, um dafür einen Snapshot-Zeitplan zu erstellen. - Klicken Sie auf Bearbeiten. Möglicherweise müssen Sie auf das Menü Weitere Aktionen und dann auf Bearbeiten klicken.
- Wählen Sie unter Snapshot-Zeitplan die Option Zeitplan erstellen aus.
-
Geben Sie unter Name einen der folgenden Namen für den Snapshot-Zeitplan ein:
boot-disk-snapshot-schedule
attached-persistent-disk-snapshot-schedule
-
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 Multiregional aus, um eine höhere Verfügbarkeit zu höheren Kosten zu erreichen.
-
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 Erstellen, um die Erstellung des Snapshot-Zeitplans abzuschließen.
- Klicken Sie auf Speichern, um diesen Snapshot-Zeitplan an den nichtflüchtigen Speicher anzuhängen.
gcloud
Verwenden Sie zum Erstellen eines Snapshot-Zeitplans für nichtflüchtige Speicher den gcloud
-Befehl compute resource-policies create snapshot-schedule
. Legen Sie die Häufigkeit des Zeitplans auf stündlich, täglich oder wöchentlich fest.
gcloud compute resource-policies create snapshot-schedule [SCHEDULE_NAME] \
--description "[SCHEDULE_DESCRIPTION]" \
--max-retention-days [MAX_RETENTION_DAYS] \
--start-time [START_TIME] \
--hourly-schedule [SNAPSHOT_INTERVAL] \
--daily-schedule \
--weekly-schedule [SNAPSHOT_INTERVAL] \
--weekly-schedule-from-file [FILE_NAME] \
--on-source-disk-delete [DELETION_OPTION]
Dabei gilt:
[SCHEDULE_NAME]
ist der Name des neuen Snapshot-Zeitplans."[SCHEDULE_DESCRIPTION]"
ist die Beschreibung des Snapshot-Zeitplans. Setzen Sie die Beschreibung in Anführungszeichen.[MAX_RETENTION_DAYS]
ist die Anzahl der Tage für die Aufbewahrung des Snapshots. Der Wert3
bedeutet beispielsweise, dass Snapshots 3 Tage lang aufbewahrt werden, bevor sie gelöscht werden. Sie müssen eine Aufbewahrungsrichtlinie von mindestens 1 Tag festlegen.[START_TIME]
ist die UTC-Startzeit. Sie müssen die Uhrzeit als volle Stunde angeben. Beispiel:- 14:00 Uhr PST ist
22:00
. - Wenn Sie als Startzeit
22:13
festlegen, erhalten Sie eine Fehlermeldung.
- 14:00 Uhr PST ist
[SNAPSHOT_INTERVAL]
definiert das Intervall, in dem die Snapshots generiert werden sollen. Legen Sie den stündlichen Zeitplan mit einer Ganzzahl zwischen 1 und 23 fest. Legen Sie für die Stunde eine Zahl fest, durch die 24 teilbar ist. Beispiel: Wenn Sie--hourly-schedule
auf 12 setzen, bedeutet dies, dass der Snapshot alle 12 Stunden generiert wird. Definieren Sie für einen wöchentlichen Zeitplan die Tage, an denen der Snapshot generiert werden soll. Wochentage werden ausgeschrieben; die Groß-/Kleinschreibung wird nicht berücksichtigt. Die Flags der Snapshot-Häufigkeithourly-schedule
,daily-schedule
undweekly-schedule
schließen sich gegenseitig aus. Wählen Sie jeweils nur ein Flag für den Snapshot-Zeitplan aus.[FILE_NAME]
ist der Name der Datei, die den wöchentlichen Snapshot-Zeitplan enthält, wenn Sie den Zeitplan in diesem Format angeben möchten. Beachten Sie, dass wöchentliche Zeitpläne an unterschiedlichen Wochentagen und zu unterschiedlichen Zeiten mithilfe einer Datei angegeben werden können. Sie können jedoch nicht mehrere wöchentliche Zeitpläne direkt in der Befehlszeile angeben. Beispiel: Sie können in der Datei einen Snapshot-Zeitplan für jeweils Montag und Mittwoch festlegen:[{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}]
Wenn Sie in der Datei eine Startzeit angeben, wird das Flag--start-time
nicht benötigt. Der Zeitplan verwendet den Zeitstandard UTC.[DELETION_OPTION]
legt fest, was mit den Snapshots geschieht, wenn das Quelllaufwerk gelöscht wird. Wählen Sie entweder die Standardeinstellungkeep-auto-snapshots
aus, indem Sie dieses Flag auslassen, oder wenden Sie mitapply-retention-policy
eine Aufbewahrungsrichtlinie an.
Dies sind zusätzliche Beispiele zum Einrichten eines Snapshot-Zeitplans. Für alle folgenden Beispiele gilt:
- Die Regel für gelöschtes Laufwerk ist enthalten. Das Flag
--on-source-disk-delete
wird auf den Standardwertkeep-auto-snapshots
gesetzt, damit alle automatisch generierten Snapshots dauerhaft gespeichert werden. Alternativ können Sie dieses Flag aufapply-retention-policy
festlegen, um Ihre Snapshot-Aufbewahrungsrichtlinie zu verwenden. - Der Speicherort ist auf
US
festgelegt, sodass alle generierten Snapshots am multiregionalen Standort "US" gespeichert werden. - Die Labels
env=dev
undmedia=images
werden auf alle generierten Snapshots angewendet. - Die Aufbewahrungsrichtlinie ist auf 10 Tage festgelegt.
Stündlicher Zeitplan: In diesem Beispiel beginnt der Snapshot-Zeitplan um 22:00 Uhr UTC und wird alle vier Stunden ausgeführt.
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
--description "MY HOURLY SNAPSHOT SCHEDULE" \
--max-retention-days 10 \
--start-time 22:00 \
--hourly-schedule 4 \
--region us-west1 \
--on-source-disk-delete keep-auto-snapshots \
--snapshot-labels env=dev,media=images \
--storage-location US
Täglicher Zeitplan: In diesem Beispiel beginnt der Snapshot-Zeitplan um 22:00 Uhr UTC und wird jeden Tag zur selben Zeit ausgeführt. Das Flag --daily-schedule
muss vorhanden sein, darf aber auf keinen Wert gesetzt sein.
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
--description "MY DAILY SNAPSHOT SCHEDULE" \
--max-retention-days 10 \
--start-time 22:00 \
--daily-schedule \
--region us-west1 \
--on-source-disk-delete keep-auto-snapshots \
--snapshot-labels env=dev,media=images \
--storage-location US
Wöchentlicher Zeitplan: In diesem Beispiel beginnt der Snapshot-Zeitplan um 22:00 Uhr UTC und wird jeden Dienstag und Donnerstag ausgeführt.
gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
--description "MY WEEKLY SNAPSHOT SCHEDULE" \
--max-retention-days 10 \
--start-time 22:00 \
--weekly-schedule tuesday,thursday \
--region us-west1 \
--on-source-disk-delete keep-auto-snapshots \
--snapshot-labels env=dev,media=images \
--storage-location US
API
Erstellen Sie in der API eine POST
-Anfrage an resourcePolicies.insert
, um einen Snapshot-Zeitplan zu erstellen. Sie müssen mindestens den Namen des Snapshot-Zeitplans, den regionalen Snapshot-Speicherort und die Snapshot-Häufigkeit angeben.
Standardmäßig ist der Parameter onSourceDiskDelete
auf keepAutoSnapshots
eingestellt.
Diese Einstellung gibt an, dass die automatisch generierten Snapshots für dieses Laufwerk auf unbestimmte Zeit beibehalten werden, wenn das Quelllaufwerk gelöscht wird. Alternativ können Sie das Flag auf applyRetentionPolicy
setzen, um die Aufbewahrungsrichtlinie anzuwenden.
Im folgenden Beispiel wird ein täglicher Snapshot-Zeitplan festgelegt, der um 12:00 UTC beginnt und täglich wiederholt wird. In diesem Beispiel wird außerdem eine Aufbewahrungsrichtlinie von 5 Tagen festgelegt. Nach 5 Tagen werden die Snapshots automatisch entfernt.
Sie können auch den Snapshot-Speicherort und Snapshot-Labels in Ihre Anfrage aufnehmen, damit Snapshots am Ort Ihrer Wahl gespeichert werden:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies
{
"name": "[SCHEDULE_NAME]",
"description": "[SCHEDULE_DESCRIPTION]",
"snapshotSchedulePolicy": {
"schedule": {
"dailySchedule": {
"startTime": "12:00",
"daysInCycle": "1"
}
},
"retentionPolicy": {
"maxRetentionDays": "5"
},
"snapshotProperties": {
"guestFlush": "False",
"labels": {
"env": "dev",
"media": "images"
},
"storageLocations": ["US"]
}
}
}
Dabei gilt:
[PROJECT_ID]
ist der Projektname.[REGION]
ist der Standort der Ressourcenrichtlinie für den Snapshot-Zeitplan.[SCHEDULE_DESCRIPTION]
ist die Beschreibung des Snapshot-Zeitplans.[SCHEDULE_NAME]
ist der Name des Snapshot-Zeitplans.
Auf ähnliche Weise können Sie einen wöchentlichen oder monatlichen Zeitplan erstellen. In der API-Referenz finden Sie Informationen zum Festlegen von wöchentlichen und monatlichen Zeitplänen.
Die folgende Anfrage erstellt beispielsweise einen wöchentlichen Zeitplan, der dienstags und donnerstags um 9:00 Uhr bzw. um 2:00 Uhr ausgeführt wird.
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies
{
"name": "[SCHEDULE_NAME]",
"description": "[SCHEDULE_DESCRIPTION]",
"snapshotSchedulePolicy": {
"schedule": {
"weeklySchedule": {
"dayOfWeeks": [
{
"day": "Monday",
"startTime": "9:00"
},
{
"day": "Thursday",
"startTime": "2:00"
}
]
}
},
"retentionPolicy": {
"maxRetentionDays": "5"
},
"snapshotProperties": {
"guestFlush": "False",
"labels": {
"production": "webserver"
},
"storageLocations": ["US"]
}
}
}
Snapshot-Zeitplan mit Laufwerk verknüpfen
Nachdem Sie einen Zeitplan erstellt haben, können Sie ihn mit einem vorhandenen Laufwerk verknüpfen. Verwenden Sie die Console, den gcloud
-Befehl oder die Compute Engine API.
Console
So verknüpfen Sie einen Snapshot-Zeitplan mit einem vorhandenen Laufwerk:
- Rufen Sie in der Google Cloud Console die Seite Laufwerke auf.
- Klicken Sie auf den Namen des Laufwerks, an das Sie einen Snapshot-Zeitplan anhängen möchten. Dadurch wird die Seite Laufwerk verwalten geöffnet.
- Auf der Seite Laufwerk verwalten klicken Sie auf das Menü Weitere Aktionen und wählen Bearbeiten aus.
- Verwenden Sie das Drop-down-Menü Snapshot-Zeitplan, um den Zeitplan zum Laufwerk hinzuzufügen. Alternativ erstellen Sie einen neuen Zeitplan.
- Wenn Sie einen neuen Zeitplan erstellt haben, klicken Sie auf Erstellen.
- Klicken Sie auf Speichern, um die Aufgabe abzuschließen.
gcloud
Verwenden Sie den gcloud
-Befehl disks add-resource-policies
, um einen Snapshot-Zeitplan an ein Laufwerk anzuhängen.
gcloud compute disks add-resource-policies [DISK_NAME] \
--resource-policies [SCHEDULE_NAME] \
--zone [ZONE]
Dabei gilt:
[DISK_NAME]
ist der Name des vorhandenen Laufwerks.[SCHEDULE_NAME]
ist der Name des Snapshot-Zeitplans.[ZONE]
ist der Standort des Laufwerks.
API
Senden Sie in der API eine POST
-Anfrage an disks.addResourcePolicies
, um einen Snapshot-Zeitplan an ein vorhandenes Laufwerk anzuhängen:
POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies
{
"resourcePolicies": [
"regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
]
}
Dabei gilt:
[PROJECT_ID]
ist der Projektname.[ZONE]
ist der Standort des Laufwerks.[REGION]
ist der Standort des Snapshot-Zeitplans.[DISK_NAME]
ist der Name des Laufwerks.[SCHEDULE_NAME]
ist der Name des Snapshot-Zeitplans in dieser Region, den Sie auf dieses Laufwerk anwenden.
Daten aus einem Snapshot wiederherstellen
Wenn Sie ein Boot- oder Nicht-Bootlaufwerk mit einem Snapshot gesichert haben, können Sie anhand des Snapshots ein neues Laufwerk erstellen.
Beschränkungen
- Das neue Laufwerk muss mindestens die Größe des ursprünglichen Quelllaufwerks für den Snapshot haben. Wenn Sie ein Laufwerk erstellen, das größer als das ursprüngliche Quelllaufwerk für den Snapshot ist, müssen Sie die Größe des Dateisystems auf diesem nichtflüchtigen Laufwerk anpassen, damit der zusätzliche Speicherplatz berücksichtigt wird. Je nach Betriebssystem und Dateisystemtyp müssen Sie möglicherweise ein anderes Tool zur Anpassung der Dateisystemgröße verwenden. Weitere Informationen finden Sie in der Dokumentation Ihres Betriebssystems.
Laufwerk aus einem Snapshot erstellen und an eine VM anhängen
Console
Rufen Sie in der Google Cloud Console die Seite Snapshots auf.
Suchen Sie den Namen des Snapshots, den Sie wiederherstellen möchten.
Gehen Sie zur Seite Laufwerke.
Klicken Sie auf Neues Laufwerk erstellen.
Geben Sie die folgenden Konfigurationsparameter an:
- Name für das Laufwerk.
- Typ für das Laufwerk.
- Optional können Sie die Auswahl der Standardregion und -zone überschreiben. Sie haben die Möglichkeit, eine beliebige Region und Zone auszuwählen, unabhängig vom Speicherort des Quell-Snapshots.
Klicken Sie unter Quelltyp auf Snapshot.
Wählen Sie den Namen des wiederherzustellenden Snapshots aus.
Wählen Sie die Größe des neuen Laufwerks in GB. Diese Zahl muss größer oder gleich dem ursprünglichen Quelllaufwerk für den Snapshot sein.
Klicken Sie auf Erstellen, um das Laufwerk anzulegen.
Sie können das neue Laufwerk an eine vorhandene Instanz anhängen.
- Rufen Sie die Seite VM-Instanzen auf.
- Klicken Sie auf den Namen der Instanz, in der Sie das Nicht-Bootlaufwerk wiederherstellen möchten.
- Klicken Sie oben auf der Seite Instanzdetails auf Bearbeiten.
- Klicken Sie unter Zusätzliche Laufwerke auf Vorhandenes Laufwerk hinzufügen.
- Wählen Sie den Namen des neuen Laufwerks aus, das aus dem Snapshot erstellt wurde.
- Klicken Sie auf Fertig, um das Laufwerk anzuhängen.
- Klicken Sie unten auf der Seite "Instanzdetails" auf Speichern, um die Änderungen für die Instanz zu übernehmen.
gcloud
Verwenden Sie den Befehl
gcloud compute snapshots list
, um den Namen des Snapshots zu finden, den Sie wiederherstellen möchten:gcloud compute snapshots list
Verwenden Sie den Befehl
gcloud compute snapshots describe
, um die Größe des Snapshots zu ermitteln, den Sie wiederherstellen möchten:gcloud compute snapshots describe SNAPSHOT_NAME
Ersetzen Sie SNAPSHOT_NAME durch den Namen des wiederherzustellenden Snapshots.
Verwenden Sie den Befehl
gcloud compute disks create
, um ein neues regionales oder zonales Laufwerk aus dem Snapshot zu erstellen. Wenn Sie nichtflüchtigen SSD-Speicher für zusätzlichen Durchsatz oder mehr IOPS benötigen, fügen Sie das Flag--type
ein und geben Siepd-ssd
an.gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
Ersetzen Sie Folgendes:
- DISK_NAME: der Name des neuen Laufwerks.
- DISK_SIZE: die Größe des neuen Laufwerks in GB. Diese Zahl muss größer oder gleich dem ursprünglichen Quelllaufwerk für den Snapshot sein.
- SNAPSHOT_NAME: der Name des wiederherzustellenden Snapshots.
- DISK_TYPE: Vollständige oder partielle URL für den Typ des Laufwerks. Beispiel:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE/diskTypes/pd-ssd
Hängen Sie das neue Laufwerk mit dem
gcloud compute instances attach-disk
-Befehl an eine vorhandene Instanz an:gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
Ersetzen Sie Folgendes:
- INSTANCE_NAME ist der Name der Instanz.
- DISK_NAME ist der Name des aus dem Snapshot erstellten Laufwerks.
API
Erstellen Sie eine
GET
-Anfrage ansnapshots.list
, um die Liste der Snapshots in Ihrem Projekt anzuzeigen.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
Erstellen Sie eine
POST
-Anfrage, um mit der Methodedisks.insert
ein zonales Laufwerk zu erstellen. Fügen Sie die Attributename
,sizeGb
undtype
hinzu. Damit ein Laufwerk mithilfe eines Snapshots wiederhergestellt werden kann, muss das AttributsourceSnapshot
eingefügt werden.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" "sourceSnapshot": "SNAPSHOT_NAME" }
Ersetzen Sie Folgendes:
- PROJECT_ID: Ihre Projekt-ID.
- ZONE ist die Zone, in der sich Ihre Instanz und das neue Laufwerk befinden.
- DISK_NAME: durch den Namen des neuen Laufwerks.
- DISK_SIZE ist die Größe des neuen Laufwerks in GB. Diese Zahl muss größer oder gleich dem ursprünglichen Quelllaufwerk für den Snapshot sein.
- DISK_TYPE: Vollständige oder partielle URL für den Typ des Laufwerks. Beispiel:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ ZONE/diskTypes/pd-ssd
. - SNAPSHOT_NAME ist der Quell-Snapshot für das Laufwerk, das Sie wiederherstellen.
Sie können das neue Laufwerk dann an eine vorhandene Instanz anhängen. Dazu erstellen Sie eine
POST
-Anfrage an die Methodeinstances.attachDisk
und geben dabei den URL zu dem zonale Laufwerk an, das Sie gerade aus Ihrem Snapshot erstellt haben.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
Ersetzen Sie Folgendes:
- PROJECT_ID ist die Projekt-ID.
- ZONE ist die Zone, in der sich Ihre Instanz und das neue Laufwerk befinden.
- INSTANCE_NAME: Name der Instanz, der Sie das neue Laufwerk hinzufügen.
- DISK_NAME ist der Name des neuen Laufwerks.
Go
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Go Schritten zur Einrichtung in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Go API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java Schritten zur Einrichtung in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js Schritten zur Einrichtung in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Laufwerk bereitstellen
Rufen Sie im Terminal mit dem Befehl
lsblk
eine Liste der Laufwerke auf, die an Ihre Instanz angehängt sind, und suchen Sie das Laufwerk, das Sie bereitstellen möchten.$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk └─sda1 8:1 0 10G 0 part / sdb 8:16 0 250G 0 disk
In diesem Beispiel ist
sdb
der Gerätename für den neuen leeren nichtflüchtigen Speicher.Stellen Sie mit dem mount-Tool das Laufwerk für die Instanz bereit und aktivieren Sie die Option
discard
:$ sudo mount -o discard,defaults /dev/DEVICE_NAME /home/jupyter
Ersetzen Sie Folgendes:
DEVICE_NAME
: durch den Gerätenamen des Laufwerks, das bereitgestellt werden soll.
Konfigurieren Sie Lese- und Schreibberechtigungen auf dem Laufwerk. In diesem Beispiel wird allen Nutzern Schreibzugriff auf das Gerät gewährt:
$ sudo chmod a+w /home/jupyter