Sie können Google Cloud Hyperdisk- und Persistent Disk-Volumes als Boot- und Datenlaufwerke für Compute Engine-Instanzen verwenden.
Dieses Dokument erläutert, wie Sie folgende Aufgaben ausführen:
Sie können ein Laufwerk in einen anderen Persistent Disk- oder Hyperdisk-Typ umwandeln, indem Sie ein neues Laufwerk erstellen, das die Daten des ursprünglichen Laufwerks enthält. Je nach dem neuen Laufwerkstyp, den Sie auswählen, können Sie folgende Vorteile nutzen:
- Höhere Leistungsstufen mit einem schnelleren Laufwerkstyp erreichen
- Kosten senken, indem Sie einen kostengünstigeren Laufwerkstyp auswählen
Konfigurieren Sie, ob Compute Engine das Boot- oder Datenlaufwerk einer Compute-Instanz löscht, wenn Sie die Instanz löschen. Kosten für ein Laufwerk fallen an, bis Sie es löschen, auch wenn es an keine Instanzen angehängt ist. Sie können Kosten senken, indem Sie das automatische Löschen von Laufwerken aktivieren, die Sie nach dem Löschen der angehängten Instanz nicht mehr benötigen.
Aktualisieren Sie den Zugriffsmodus eines Hyperdisk-Volumes, um den Zugriff auf das Volume von mehreren Compute Engine-Instanzen zu aktivieren oder zu deaktivieren.
Informationen zum Ändern der Größe eines Hyperdisk- oder Persistent Disk-Volumes finden Sie unter Größe oder bereitgestellte Leistung eines Hyperdisk-Volumes ändern bzw. Größe eines nichtflüchtigen Speichers ändern.
Typ eines Persistent Disk-Volumes ändern
Manchmal müssen Sie den Typ eines bestimmten Volumes des Persistent Disks ändern, um Ihre Leistungs- oder Preisanforderungen zu erfüllen. Beispielsweise können Sie das Datenlaufwerk einer Arbeitslast von einem Standard-Persistent Disk in einen Balanced-Persistent Disk ändern.
Sie können den Typ eines vorhandenen Persistent Disk-Volumes nicht direkt ändern. Sie müssen einen Snapshot des vorhandenen Laufwerks erstellen und dann mit diesem Snapshot ein Laufwerk des neuen Typs erstellen.
Wenn Sie einen Persistent Disk-Datenträger (den Quelldatenträger) in einen anderen Persistent Disk-Typ (den neuen Datenträger) ändern möchten, gehen Sie so vor:
Wenn das Quelllaufwerk an eine Compute-Instanz angehängt ist, beenden Sie die Instanz.
Erstellen Sie einen Snapshot des Quelllaufwerks.
Erstellen Sie das neue Laufwerk aus dem Snapshot des Quelllaufwerks.
Wenn Sie das neue Laufwerk verwenden möchten, trennen Sie das Quelllaufwerk von der Instanz und hängen Sie das neue Laufwerk an, das Sie gerade erstellt haben.
Wenn es sich bei dem Quelllaufwerk um ein Bootlaufwerk handelt:
Wenn das Quelllaufwerk kein Bootlaufwerk ist:
Prüfen Sie, ob das neue Laufwerk wie erwartet funktioniert.
Nachdem Sie das neue Laufwerk getestet haben, können Sie den Snapshot löschen und das Quelllaufwerk löschen. Für das Quelllaufwerk und den Snapshot fallen weiterhin Gebühren an, bis Sie sie löschen.
Einstellung für das automatische Löschen eines Laufwerks ändern
Um versehentlichen Datenverlust zu verhindern, können Sie festlegen, ob Compute Engine automatisch alle Google Cloud Hyperdisk- oder Persistent Disk-Volumes löscht, die an eine Instanz angehängt sind, wenn Sie die Instanz löschen. Lokale SSD-Laufwerke werden immer zusammen mit der Instanz gelöscht.
Dieses Verhalten wird durch das Attribut autoDelete für jedes Google Cloud Hyperdisk- oder Persistent Disk-Volume gesteuert, das an die Instanz angehängt ist.
Wenn Sie ein bestimmtes Volume behalten möchten, wenn Sie die Instanz löschen, legen Sie die Eigenschaft autoDelete für das Volume auf false fest. Wenn Sie ein Volume löschen möchten, wenn Sie die Instanz löschen, legen Sie die Eigenschaft autoDelete auf true fest.
Ein Laufwerk kann nicht automatisch gelöscht werden, wenn es im Nur-Lese-Modus an die Instanz angehängt ist.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Wählen Sie die Instanz aus, der die Laufwerke zugeordnet sind.
Klicken Sie auf den Instanznamen. Die Seite DVM-Instanzdetails wird angezeigt.
Klicken Sie auf Bearbeiten.
So aktualisieren Sie die Einstellung für das automatische Löschen für Ihre Festplatten im Bereich Speicher:
- Wählen Sie für das Bootlaufwerk unter der Überschrift Bootlaufwerk die Löschregel des Bootlaufwerks aus.
- Suchen Sie für jedes zusätzliche Laufwerk, das an die Instanz angehängt ist, im Bereich Zusätzliche Laufwerke nach dem Laufwerk und führen Sie dann die folgenden Schritte aus:
- Klicken Sie auf Laufwerk bearbeiten. Der Bereich Vorhandenes Laufwerk wird geöffnet.
- Legen Sie unter Anhangmodus die Löschregel des Laufwerks fest. Klicken Sie auf Speichern, um die Einstellung für das Laufwerk zu speichern und den Bereich zu schließen.
Um die Änderungen zu speichern, klicken Sie auf Speichern.
gcloud
Legen Sie den Status zum automatischen Löschen eines Laufwerks mit dem Befehl gcloud compute instances set-disk-auto-delete fest.
Wenn Sie das Laufwerk behalten möchten, wenn Sie die Instanz löschen, geben Sie das Flag --no-auto-delete an. Wenn Sie das Laufwerk löschen möchten, geben Sie das Flag --auto-delete an.
Wenn an die Instanz mehrere Laufwerke angehängt sind, müssen Sie den Befehl für jedes Laufwerk ausführen.
gcloud compute instances set-disk-auto-delete INSTANCE_NAME \ AUTO_DELETE_SETTING \ --disk DISK_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME: der Name der Instanz.AUTO_DELETE_SETTING: ob das Laufwerk automatisch gelöscht werden soll. Geben Sie--no-auto-deletean, um das Laufwerk nach dem Löschen der Compute-Instanz beizubehalten, und--auto-delete, um das Laufwerk gleichzeitig mit der Instanz zu löschen.DISK_NAME: der Name des Laufwerks
Go
Bevor Sie dieses Beispiel verwenden, folgen Sie den Schritten zur Einrichtung von Go in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel verwenden, folgen Sie den Schritten zur Einrichtung von Java in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel verwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel verwenden, folgen Sie den Schritten zur Einrichtung von Python in der Compute Engine-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Compute Engine Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Compute Engine zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Wenn Sie den automatischen Löschzustand mit der API festlegen möchten, senden Sie eine POST-Anfrage an die Methode instances.setDiskAutoDelete. Verwenden Sie den Parameter autoDelete, um anzugeben, ob das Laufwerk gelöscht werden soll.
Wenn an die Instanz mehrere Laufwerke angehängt sind, müssen Sie für jedes Laufwerk, das an die Instanz angehängt ist, eine Anfrage stellen.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setDiskAutoDelete?deviceName=DISK_NAME,autoDelete=AUTO_DELETE_OPTION
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.ZONE: die Zone, in der sich die Instanz und das Laufwerk befinden.INSTANCE_NAME: durch den Namen der InstanzDISK_NAME: der Name des Laufwerks, das an die Instanz angehängt ist.AUTO_DELETE_OPTION: ob das Laufwerk automatisch gelöscht werden soll, wenn Sie die Instanz löschen. Wenn Sie das Laufwerk löschen möchten, legen Sietruefest. Auffalsesetzen, um das Laufwerk nach dem Löschen der Instanz beizubehalten.
Zugriffsmodus für Hyperdisk-Volumes
Wenn Sie ein Hyperdisk-Volume für mehrere Instanzen freigeben und jeder Instanz gleichzeitig Lesezugriff oder Lese-/Schreibzugriff auf das Volume gewähren möchten, müssen Sie den Zugriffsmodus des Volumes auf „Nur lesen“ bzw. „Mehrere Autoren“ festlegen.
Wenn Sie hingegen bestimmte Aktionen wie das Erstellen eines Images für ein Hyperdisk-Volume im schreibgeschützten Modus oder im Modus für mehrere Autoren ausführen möchten, müssen Sie den Zugriffsmodus auf „Single-Writer“ festlegen.
In diesem Abschnitt wird beschrieben, wie Sie den Zugriffsmodus eines Laufwerks festlegen.
Weitere Informationen zur Laufwerkfreigabe finden Sie unter Laufwerke zwischen Instanzen freigeben.
Einschränkungen bei Änderungen des Zugriffsmodus
Sie können den Zugriffsmodus eines Laufwerks nur festlegen, wenn Sie das Laufwerk von allen Instanzen trennen.
Hyperdisk Throughput-Volumes unterstützen nur den Einzel-Schreibmodus und Sie können den Zugriffsmodus für ein Hyperdisk Throughput-Volume nicht festlegen.
Bei Hyperdisk Balanced-, Hyperdisk Extreme- und Hyperdisk Balanced High Availability-Volumes können Sie nur den Multi-Writer-Modus aktivieren oder deaktivieren. Sie können den Zugriffsmodus nicht auf „Nur lesen“ festlegen.
Für Hyperdisk ML-Volumes können Sie den Zugriffsmodus nur auf „Schreibgeschützt“ festlegen. Hyperdisk ML-Volumes unterstützen den Modus für mehrere Autoren nicht.
Sie können den Zugriffsmodus eines Hyperdisk ML-Volumes nicht mehr ändern, nachdem Sie ihn auf „Schreibgeschützt“ festgelegt haben.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigung zum Festlegen des Zugriffsmodus eines Laufwerks zu erhalten:
- Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1) -
Um eine Verbindung zu einer VM herzustellen, 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 vordefinierte Rolle enthält die Berechtigung compute.disks.update, die zum Festlegen des Zugriffsmodus eines Laufwerks erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Zugriffsmodus eines Hyperdisk-Volumes festlegen
Bevor Sie den Zugriffsmodus eines Laufwerks festlegen, müssen Sie das Laufwerk von allen Instanzen trennen.
Sie können den Zugriffsmodus über die Google Cloud Console, die Google Cloud CLI oder REST festlegen.
Console
Rufen Sie in der Google Cloud Console die Seite Laufwerke auf.
Klicken Sie in der Liste der Laufwerke in Ihrem Projekt auf den Namen des Hyperdisk-Volumes, das Sie ändern möchten.
Klicken Sie auf der Seite mit den Laufwerkdetails auf Bearbeiten.
Wählen Sie im Feld Zugriffsmodus den gewünschten Zugriffsmodus aus:
- Wenn Sie den Lesemodus aktivieren möchten, wählen Sie Mehrere VMs – Lesemodus aus.
- Wenn Sie den Modus „Mehrere Autoren“ aktivieren möchten, wählen Sie Mehrere VMs lesen/schreiben aus.
- (Standard) Wenn Sie den Single-Writer-Modus aktivieren möchten, wählen Sie Eine VM – Lese‑/Schreibmodus aus.
Klicken Sie auf Speichern, um die Änderungen anzuwenden.
gcloud
Führen Sie den Befehl disks update aus und geben Sie den Zugriffsmodus mit dem Flag --access-mode an.
gcloud compute disks update DISK_NAME \ --access-mode=DISK_ACCESS_MODE
Ersetzen Sie Folgendes:
- DISK_NAME: der Name des Hyperdisk-Volumes, das Sie ändern.
- DISK_ACCESS_MODE: Wie Instanzen auf die Daten auf dem Laufwerk zugreifen können.
Unterstützte Werte sind:
- .
READ_ONLY_MANYfür den schreibgeschützten Zugriff von mehreren Instanzen.READ_WRITE_MANYfür Lese-/Schreibzugriff von mehreren Instanzen.- (Standard)
READ_WRITE_SINGLEfür Lese-/Schreibzugriff von einer Instanz.
REST
Erstellen Sie eine PATCH-Anfrage an die Methode compute.disks.update.
Legen Sie im Anfragetext den Zugriffsmodus fest, indem Sie den Parameter accessMode einfügen.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update
{
"accessMode": "DISK_ACCESS_MODE"
}
Ersetzen Sie Folgendes:
PROJECT_IDist Ihre Projekt-ID.ZONEist die Zone, in der sich das Hyperdisk-Volume befindet.DISK_NAMEist der Name des Hyperdisk-Volumes, das geändert werden soll.DISK_ACCESS_MODE: Wie Instanzen auf die Daten auf dem Laufwerk zugreifen können. Unterstützte Werte sind:- .
READ_ONLY_MANYfür den schreibgeschützten Zugriff von mehreren Instanzen.READ_WRITE_MANYfür Lese-/Schreibzugriff von mehreren Instanzen.READ_WRITE_SINGLEfür den Einzelautormodus, d. h. Lese-/Schreibzugriff von einer Instanz.
Fehlerbehebung
Methoden zum Diagnostizieren und Beheben von Problemen im Zusammenhang mit vollen Laufwerken und dem Anpassen der Größe von Laufwerken finden Sie unter Fehlerbehebung bei vollen Laufwerken und beim Anpassen der Größe von Laufwerken.
Nächste Schritte
- Laufwerke regelmäßig mit Snapshots sichern, um unbeabsichtigte Datenverluste zu vermeiden
- Regionale nichtflüchtige Speicher für die synchrone Replikation zwischen zwei Zonen verwenden
- Speicherinterne RAM-Disks erstellen