Regionale nichtflüchtige Speicher hinzufügen oder ihre Größe anpassen

Auf dieser Seite wird erläutert, wie regionale nichtflüchtige Speicherressourcen hinzugefügt und verwaltet werden. Ein regionaler nichtflüchtiger Speicher kann nur vergrößert, aber nicht verkleinert werden. Regionale nichtflüchtige Speicher können nicht als Boot-Gerät verwendet werden. Bei einem Failover wird kein Anhängen an eine andere VM-Instanz erzwungen.

Regionale nichtflüchtige Speicher haben ähnliche Eigenschaften wie zonale nichtflüchtige Speicher, weisen aber auch Unterschiede auf:

  • Sie müssen im Lese-/Schreibmodus (Read/Write; RW) bereitgestellt werden. Der reine Lesemodus (Read-only; RO) wird nicht unterstützt.
  • Sie können nicht als Bootlaufwerk verwendet werden.
  • Bei einem Zonenausfall kann das Anhängen des replizierten Laufwerks an eine andere VM-Instanz erzwungen werden.
  • Es ist möglich, einen regionalen nichtflüchtigen Speicher aus einem Snapshot, aber nicht aus einem Image zu erstellen.
  • Es gibt auch Leistungsunterschiede, die im Dokument Speicheroptionen genauer beschrieben werden.

Ein regionaler nichtflüchtiger Speicher ermöglicht die synchrone Replikation von Daten zwischen zwei Zonen in einer Region. Im unwahrscheinlichen Fall eines Zonenausfalls kann der Traffic an eine andere VM-Instanz weitergeleitet und das replizierte Laufwerk an eine andere VM-Instanz in derselben oder einer zweiten Zone angehängt werden. Das erzwungene Anhängen dauert weniger als eine Minute.

Ein regionaler nichtflüchtiger Speicher ist eine geeignete Option, wenn robuste Systeme konzipiert werden sollen oder zustandsorientierte Datenbankdienste wie MySQL und Postgres genutzt werden, die eine hohe Verfügbarkeit erfordern.

Weitere Informationen zu den verschiedenen Ressourcen und ihrer Leistung finden Sie in der Beschreibung der Speicheroptionen für Compute Engine.

Vorbereitung

Einschränkungen

Regionale nichtflüchtige Speicher haben die folgenden Einschränkungen:

  • Sie müssen im Lese-/Schreibmodus (Read/Write; RW) bereitgestellt werden. Der reine Lesemodus (Read-only; RO) wird nicht unterstützt.
  • Sie können nicht als Bootlaufwerk verwendet werden.
  • Es ist möglich, einen regionalen nichtflüchtigen Speicher aus einem Snapshot, aber nicht aus einem Image zu erstellen.

Instanzen regionalen nichtflüchtigen Speicher hinzufügen

Erstellen Sie einen regionalen nichtflüchtigen Standardspeicher oder einen regionalen nichtflüchtigen SSD-Speicher und hängen Sie ihn an eine Instanz an. Wenn keine Instanzen vorhanden sind, müssen Sie zuerst eine neue Instanz erstellen und starten. Sie müssen Ihre Instanz in derselben Region wie Ihre Laufwerke erstellen.

Console

Erstellen Sie zuerst den regionalen nichtflüchtigen Speicher und hängen Sie ihn dann an eine vorhandene Instanz an. Regionale nichtflüchtige Speicher können Sie nicht als Bootlaufwerke erstellen, da diese bei einem Failover nicht zwangsweise angehängt werden können.

So erstellen Sie einen regionalen nichtflüchtigen Speicher:

  1. Gehen Sie zur Seite "Laufwerke".

    Zur Seite "Laufwerke"

  2. Wählen Sie Ihr Projekt aus.
  3. Klicken Sie auf Laufwerk erstellen.
  4. Geben Sie einen Namen für Ihr Laufwerk an.
  5. Wählen Sie den Typ des Laufwerks aus.
  6. Klicken Sie auf das Kästchen Laufwerk in Region replizieren.
  7. Wählen Sie die Region aus.

    Notieren Sie sich die Region, da Sie beim Erstellen der Instanz dieselbe Region auswählen müssen.

  8. Wählen Sie zwei Zonen in dieser Region aus und klicken Sie auf OK.

    Sie müssen zwei Zonen auswählen. Notieren Sie sich die ausgewählten Zonen, da Sie das Laufwerk in einer dieser Zonen an Ihre Instanz anhängen müssen.

  9. Wählen Sie den Quelltyp aus.
  10. Wählen Sie die Verschlüsselung aus.
  11. Klicken Sie auf Erstellen, um den Vorgang abzuschließen.

Nachdem Sie den regionalen nichtflüchtigen Speicher erstellt haben, hängen Sie ihn an Ihre Instanz an.

Wenn Sie ein Laufwerk an eine vorhandene Instanz anhängen, erhalten Sie möglicherweise die Fehlermeldung, dass das Laufwerk bereits an eine andere Instanz angehängt ist. In diesem Fall müssen Sie das Anhängen erzwingen. Dazu klicken Sie im Drop-down-Menü Zusätzliche Laufwerke auf das Kästchen Anhängen erzwingen.

Nachdem Sie ein neues Laufwerk an eine Instanz angehängt haben, müssen Sie das Laufwerk formatieren und bereitstellen, damit das Betriebssystem den verfügbaren Speicher nutzen kann.

gcloud

So können Sie einen regionalen nichtflüchtigen Speicher mit dem gcloud-Tool erstellen und anhängen:

  1. Verwenden Sie den Befehl create, um einen neuen regionalen nichtflüchtigen Speicher zu erstellen. Wenn Sie für zusätzlichen Durchsatz oder mehr IOPS einen regionalen nichtflüchtigen SSD-Speicher benötigen, fügen Sie das Flag --type ein und geben Sie pd-ssd an.

    gcloud beta compute disks create [DISK_NAME] --size [DISK_SIZE] --type [DISK_TYPE] --region [REGION] --replica-zones [ZONE1,ZONE2]
    

    Wobei:

    • [DISK_NAME] der Name des neuen Laufwerks ist.
    • [DISK_SIZE] die Größe des neuen Laufwerks in GB ist.
    • [DISK_TYPE] der Typ des nichtflüchtigen Speichers ist. Entweder pd-standard oder pd-ssd.
    • [REGION] die Region ist, in der sich das regionale Laufwerk befinden wird. Beispiel: europe-west1.
    • [ZONE1,ZONE2] die Zonen innerhalb der Region sind, in denen sich die beiden Laufwerke befinden.
      Sie müssen zwei Zonen auswählen. Beispiel: europe-west1-a,europe-west1-b.
  2. Nachdem Sie das Laufwerk erstellt haben, hängen Sie es an eine laufende oder gestoppte Instanz an. Mit dem Befehl gcloud beta compute instances attach-disk und dem Flag --disk-scope regional können Sie angeben, dass das Laufwerk regional ist:

    gcloud beta compute instances attach-disk [INSTANCE_NAME] --disk [DISK_NAME] --disk-scope regional
    

    Wobei:

    • [INSTANCE_NAME] der Name der Instanz ist, der die neuen regionalen nichtflüchtigen Speicher hinzugefügt werden.
    • [DISK_NAME] der Name des neuen Laufwerks ist, das Sie an die Instanz anhängen.
    • --disk-scope auf regional festgelegt ist.

    Nachdem Sie ein neues Laufwerk erstellt und an die Instanz angehängt haben, müssen Sie das Laufwerk formatieren und bereitstellen, damit das Betriebssystem den verfügbaren Speicherplatz nutzen kann.

API

  1. Erstellen Sie in der API eine POST-Anfrage, um einen regionalen nichtflüchtigen Speicher zu erstellen. Initialisieren Sie im Anfragetext von compute.regionDisks.insert ein neues Laufwerk und geben Sie die Attribute name und replicaZones für das Laufwerk an. Wenn Sie keine Image- oder Snapshot-Quellen angeben, wird ein leeres Laufwerk erstellt.

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]
    
    {
     "name": "[DISK_NAME]",
     "replicaZones": "projects/[PROJECT_ID]/zones/[ZONE1]",
                     "projects/[PROJECT_ID]/zones/[ZONE2]"
    }
    

    Wobei:

    • [PROJECT_ID] Ihre Projekt-ID ist.
    • [ZONE1] die Zone ist, in der sich das neue Laufwerk befindet. Das ist dieselbe Zone, in der Sie das Laufwerk an eine Instanz anhängen.
    • [ZONE2] der Standort des Laufwerkreplikats ist.
    • [DISK_NAME] der Name des neuen Laufwerks ist.
  2. Erstellen Sie in der API eine POST-Anfrage an die Methode compute.instances.attachDisk und fügen Sie die URL des nichtflüchtigen Speichers ein, den Sie gerade erstellt haben.

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk
    
    {
     "source": "/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
    }
    

    Wobei:

    • [PROJECT_ID] Ihre Projekt-ID ist.
    • [ZONE] die Zone ist, in der sich Ihre Instanz und das neue Laufwerk befinden.
    • [INSTANCE_NAME] der Name der Instanz ist, der Sie den neuen nichtflüchtigen Speicher hinzufügen.
    • [DISK_NAME] der Name des neuen Laufwerks ist.

Nachdem Sie ein neues Laufwerk erstellt und an die Instanz angehängt haben, müssen Sie das Laufwerk formatieren und bereitstellen, damit das Betriebssystem den verfügbaren Speicherplatz nutzen kann.

Bei einem Zonenausfall auf einen regionalen nichtflüchtigen Speicher zugreifen

Sollte der unwahrscheinliche Fall eintreten, dass eine Zone ausfällt, kann für den regionalen nichtflüchtigen Speicher mit dem Flag force-attach ein Failover auf eine VM-Instanz in einer anderen Zone durchgeführt werden.

Ein Schreibvorgang wird auf einer VM nur dann bestätigt, wenn er dauerhaft in beiden Replikaten beibehalten wird. Ist eines der Replikate nicht verfügbar, schreibt Compute Engine nur auf das fehlerfreie Replikat. Sobald das fehlerhafte Replikat laut Compute Engine wieder verfügbar ist, wird es transparent mit dem fehlerfreien Replikat synchronisiert und der vollständig synchrone Betrieb fortgesetzt. Dieser Vorgang verläuft für die VM transparent. Es gibt keinen Nachweis für verlorene oder wiederhergestellte Daten auf den regionalen nichtflüchtigen Speichern.

Im seltenen Fall, dass beide Replikate zur selben Zeit nicht verfügbar sind oder das fehlerfreie Replikat nicht mehr verfügbar ist, während ein anderes synchronisiert wird, ist das entsprechende Laufwerk nicht mehr verfügbar.

Sie haben auch die Möglichkeit, die Instanz manuell herunterzufahren, nachdem Sie den Schritt zum erzwungenen Anhängen ausgeführt haben.

Ausfall innerhalb einer Zone

Es ist auch möglich, das Anhängen eines regionalen nichtflüchtigen Speichers an eine VM-Instanz in derselben Zone zu erzwingen. Dieses zoneninterne Failover ermöglicht es, mit Ausfällen umzugehen, die durch eine falsche VM-Konfiguration, ein fehlerhaftes Betriebssystem-Upgrade oder andere Fehlersituationen verursacht wurden.

Console

Erstellen Sie eine Standby-VM-Instanz und erzwingen Sie das Anhängen eines Laufwerks an eine Instanz.

  1. Gehen Sie zur Seite der VM-Instanzen.

    Zur Seite "VM-Instanzen"

  2. Wählen Sie Ihr Projekt aus.
  3. Geben Sie unter Name einen Namen für Ihre Instanz an.
  4. Wählen Sie die Region aus, in der sich Ihr regionaler nichtflüchtiger Speicher befindet.
  5. Wählen Sie die alternative Zone der ursprünglichen VM-Instanz aus, an die das Laufwerk angehängt war.

    Ihre Laufwerke werden auf der Seite Laufwerke aufgeführt.

  6. Klicken Sie auf Verwaltung, Laufwerke, Netzwerk, SSH-Schlüssel.
  7. Klicken Sie auf Laufwerke.
  8. Klicken Sie unter Zusätzliche Laufwerke auf Vorhandenes Laufwerk hinzufügen.
  9. Wählen Sie im Drop-down-Menü den regionalen nichtflüchtigen Speicher aus.
  10. Klicken Sie auf das Kästchen, um das Anhängen des Laufwerks zu erzwingen.
  11. Klicken Sie auf Fertig.
  12. Klicken Sie auf Erstellen, um die Instanzerstellung abzuschließen.

    Die neue VM-Instanz wird auf der Seite "VM-Instanzen" angezeigt.
    Führen Sie dieselben Schritte aus, um das Anhängen eines Laufwerks an die ursprüngliche Instanz zu erzwingen, sobald die ausgefallene Zone wiederhergestellt wurde.

gcloud

Geben Sie im gcloud-Tool den Befehl attach-disk ein, um das Laufwerkreplikat an eine VM-Instanz anzuhängen. Geben Sie das Flag --force-attach an und setzen Sie es auf True.

gcloud beta compute instances attach-disk [INSTANCE_NAME]
    --disk [DISK_NAME] --disk-scope [REGIONAL] --force-attach [TRUE]

Wobei:

  • [INSTANCE_NAME] der Name der neuen VM-Instanz in der Region ist.
  • [DISK_NAME] der Name des Laufwerks ist.
  • --disk-scope auf regional festgelegt ist.

Nachdem Sie das Anhängen des Laufwerks erzwungen haben, können Sie bei Bedarf die Dateisysteme auf dem Laufwerk bereitstellen. Die Instanz kann das zwangsweise angehängte Laufwerk verwenden, um die Lese- und Schreibvorgänge fortzusetzen.

API

Erstellen Sie eine POST-Anfrage an die Methode compute.instances.attachDisk und fügen Sie dem nichtflüchtigen Speicher, den Sie gerade erstellt haben, die URL hinzu. Der Abfrageparameter forceAttach=true ist erforderlich, um das Laufwerk an die neue VM-Instanz anzuhängen, obwohl das Laufwerk noch zur primären Instanz gehört.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk?forceAttach=true

{
 "source": "projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
}

Wobei:

  • [PROJECT_ID] Ihre Projekt-ID ist.
  • [REGION] die Region ist, in der sich die Instanz und das neue Laufwerk befinden.
  • [INSTANCE_NAME] der Name der Instanz ist, der Sie den neuen nichtflüchtigen Speicher hinzufügen.
  • [DISK_NAME] der Name des neuen Laufwerks ist.

Nachdem Sie das Laufwerkreplikat angehängt haben, können Sie bei Bedarf die Dateisysteme auf den Laufwerken bereitstellen. Die Instanz kann das Laufwerkreplikat verwenden, um die Lese- und Schreibvorgänge fortzusetzen.

Größe eines regionalen nichtflüchtigen Speichers ändern

Wenn Instanzen mit regionalen nichtflüchtigen Speichern zusätzlichen Speicherplatz, mehr IOPS oder Durchsatz benötigen, können Sie die Größe der Laufwerke ändern. Sie können für die Instanz auch mehrere sekundäre Laufwerke erstellen, wenn Sie Ihre Daten auf getrennten Volumes speichern möchten. Sie können die Laufwerkgröße jederzeit anpassen, unabhängig davon, ob das Laufwerk an eine laufende Instanz angehängt ist.

Der Befehl zur Größenanpassung ist für regionale nichtflüchtige Speicher und nichtflüchtige Standardspeicher identisch. Es gibt jedoch ein zusätzliches Flag für die Region.

Console

So ändern Sie die Größe eines regionalen nichtflüchtigen Speichers:

  1. Gehen Sie zur Seite "Laufwerke".

    Zur Seite "Laufwerke"

  2. Wählen Sie das Laufwerk aus, dessen Größe Sie ändern möchten.
  3. Klicken Sie oben auf der Seite auf Bearbeiten.
  4. Geben Sie die gewünschte Größe des Laufwerks in GB ein.

    Sie können die Größe eines Laufwerks nur erhöhen, nicht verringern.

  5. Klicken Sie auf Speichern.
  6. Nachdem Sie die Größe des Laufwerks angepasst haben, müssen Sie die Größe des Dateisystems anpassen, sodass das Betriebssystem auf den zusätzlichen Speicherplatz zugreifen kann.

    Die neue Größe des Laufwerks wird in der Liste der Laufwerke angezeigt.

gcloud

Geben Sie im gcloud-Tool den Befehl disks resize ein. Geben Sie für das Flag --size die gewünschte Laufwerkgröße in GB an und für das Flag --region die Region, in der sich das Laufwerk befindet.

gcloud beta compute disks resize [DISK_NAME] --region [DISK REGION]--size [DISK_SIZE]

Wobei:

  • [DISK_NAME] der Name des Laufwerks ist, dessen Größe Sie anpassen.
  • [DISK REGION] die Region ist, in der sich das Laufwerk befindet.
  • [DISK_SIZE] die neue Größe des Laufwerks in GB ist.

Nachdem Sie die Größe des Laufwerks angepasst haben, müssen Sie die Größe des Dateisystems anpassen, sodass das Betriebssystem auf den zusätzlichen Speicherplatz zugreifen kann.

API

Erstellen Sie in der API eine POST-Anfrage an die Methode compute.regionDisks.resize. Legen Sie im Anfragetext den Parameter sizeGb auf die gewünschte Laufwerkgröße in GB fest.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/resize

{
 "sizeGb": "[DISK_SIZE]"
}

Wobei:

  • [PROJECT_ID] Ihre Projekt-ID ist.
  • [REGION] die Region ist, in der sich das Laufwerk befindet.
  • [DISK_NAME] der Name des Laufwerks ist, dessen Größe Sie anpassen.
  • [DISK_SIZE] die neue Größe des Laufwerks in GB ist.

Nachdem Sie die Größe des Laufwerks angepasst haben, müssen Sie die Größe des Dateisystems anpassen, sodass das Betriebssystem auf den zusätzlichen Speicherplatz zugreifen kann.

Einen zonalen nichtflüchtigen Speicher zu einem regionalen nichtflüchtigen Speicher migrieren

Um einen zonalen in einen regionalen nichtflüchtigen Speicher umzuwandeln, erstellen Sie zuerst einen Snapshot des aktuellen nichtflüchtigen Speichers und erstellen dann von diesem Snapshot den regionalen nichtflüchtigen Speicher.

gcloud

Führen Sie im gcloud-Tool den Befehl disks snapshot aus und geben Sie die Flags --zone und --snapshot-name an.

gcloud compute disks snapshot [DISK_NAME] --zone [DISK_ZONE]
--snapshot-name [SNAPSHOT_DISK_NAME]

Wobei:

  • [DISK_NAME] der Name des Laufwerks ist, von dem Sie einen Snapshot erstellen möchten.
  • [DISK_ZONE] die Zone ist, in der sich das Laufwerk befindet.
  • [SNAPSHOT_DISK_NAME] der Name des neuen Laufwerk-Snapshots ist.

Mit gcloud beta compute disks create erstellen Sie von einem Snapshot des zonalen Laufwerks ein regionales Laufwerk. Geben Sie den Namen des Laufwerks sowie die Flags --region, --replica-zones und --source-snapshot an.

gcloud beta compute disks create [DISK_NAME] --region [DISK_REGION]
--replica-zones [ZONE1,ZONE2] --source-snapshot [SNAPSHOT_DISK_NAME]

Wobei:

  • [DISK_NAME] der Name des neuen Laufwerks ist.
  • [DISK_REGION] die Region ist, in der sich das Laufwerk befinden wird.
  • [ZONE1,ZONE2] die Zonen sind, in denen sich die Laufwerkreplikate befinden werden.
  • [SNAPSHOT_DISK_NAME] der Name des Quell-Snapshot-Laufwerks ist.

Mit derselben Methode können Sie regionale Laufwerke zu zonalen Laufwerken migrieren.

API

Erstellen Sie in der API eine POST-Anfrage an die Methode compute.disk.createSnapshot, um einen Laufwerk-Snapshot zu erstellen. Geben Sie im Anfragetext die zone, in der sich das Laufwerk befindet, den Namen des disk, von dem ein Snapshot erstellt werden soll, sowie createSnapshot an.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK]/createSnapshot

Wobei:

  • [PROJECT_ID] Ihre Projekt-ID ist.
  • [ZONE] die Zone ist, in der sich das Laufwerk befindet.
  • [DISK] der Name des Laufwerks ist, von dem Sie einen Snapshot erstellen.

Erstellen Sie in der API eine POST-Anfrage, um einen regionalen nichtflüchtigen Speicher zu erstellen. Initialisieren Sie im Anfragetext von compute.regionDisks.insert ein neues Laufwerk und geben Sie die Attribute "name" und "replica-zones" für das Laufwerk an. Da es sich um ein Datenlaufwerk handelt, lassen Sie das Attribut sourceImage weg, weil sonst ein leeres Laufwerk erstellt werden würde:

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]

{
 "name": "[DISK_NAME]",
 "replicaZones": "projects/[PROJECT_NAME]/zones/[ZONE1]",
                 "projects/[PROJECT_NAME]/zones/[ZONE2]"
}

Wobei:

  • [PROJECT_ID] Ihre Projekt-ID ist.
  • [ZONE1] die Zone ist, in der sich Ihre Instanz und das neue Laufwerk befinden.
  • [ZONE2] der Pfad des Laufwerkreplikats ist.
  • [DISK_NAME] der Name des neuen Laufwerks ist.

Weitere Informationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation