Mit nichtflüchtigen Laufwerken arbeiten


Sie können einen nichtflüchtigen Speicher als Bootlaufwerk für eine VM-Instanz oder als Datenlaufwerk verwenden, das Sie an eine VM anhängen. In diesem Dokument wird beschrieben, wie vorhandene nichtflüchtige Speicher geändert werden:

  • Speicherkapazität erhöhen
  • Nicht zugängliche Instanzen wiederherstellen
  • Laufwerke automatisch löschen, wenn angehängte VMs gelöscht werden
  • Zu einem anderen Laufwerkstyp wechseln

Allgemeine Informationen zu nichtflüchtigen Speichern und den verfügbaren Typen finden Sie in der Übersicht über nichtflüchtige Speicher.

Größe eines nichtflüchtigen Speichers anpassen

Sie können die Größe des nichtflüchtigen Speichers erhöhen, wenn die VM-Instanz zusätzlichen Speicherplatz oder höhere Leistungsgrenzen benötigt. Sie können die Größe von nichtflüchtigem Speicher nur erweitern, nicht jedoch reduzieren.

Sie können die Laufwerksgröße jederzeit anpassen, unabhängig davon, ob das Laufwerk an eine laufende VM angehängt ist.

Compute Engine verwaltet die Hardware, die nichtflüchtigen Speichern zugrunde liegt. Somit können Sie Laufwerke ohne Striping oder Redundanz hinzufügen und in der Größe anpassen.

Größe des Laufwerks anpassen

VMs, die öffentliche Images verwenden, passen die Größe der Bootlaufwerke automatisch an. In allen anderen Fällen müssen Sie die Größe des Bootlaufwerks oder des Nicht-Bootlaufwerks manuell anpassen.

Gehen Sie so vor, um die Größe eines Start- oder Nicht-Bootlaufwerks zu erhöhen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Laufwerke auf.

    Zur Seite „Laufwerke“

  2. Klicken Sie in der Liste der nichtflüchtigen Speicher in Ihrem Projekt auf den Namen des Laufwerks, dessen Größe Sie anpassen möchten.

  3. Klicken Sie auf der Seite mit den Laufwerkdetails auf Bearbeiten.

  4. Geben Sie im Feld Größe die neue Größe für das Laufwerk ein. Bei Laufwerken mit MBR-Partitionstabellen kann die Größe maximal bis 2 TB angepasst werden.

  5. Klicken Sie auf Speichern, um die Änderungen auf das Laufwerk anzuwenden.

gcloud

Verwenden Sie im gcloud-Tool den Befehl disks resize und geben Sie das Flag --size mit der gewünschten Laufwerksgröße in Gigabyte an.

gcloud compute disks resize DISK_NAME --size DISK_SIZE

Ersetzen Sie Folgendes:

  • DISK_NAME: durch den Namen des Laufwerks, dessen Größe Sie anpassen.
  • DISK_SIZE: durch die neue Größe des Laufwerks in Gigabyte. Bei Laufwerken mit MBR-Partitionstabellen kann die Größe maximal bis 2 TB angepasst werden.

API

Erstellen Sie mit der API eine POST-Anfrage an die Methode compute.disks.resize. Geben Sie im Anfragetext den Parameter sizeGb an und legen Sie die gewünschte Laufwerkgröße in Gigabyte fest.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize

{
 "sizeGb": "DISK_SIZE"
}

Ersetzen Sie:

  • PROJECT_ID: durch Ihre Projekt-ID.
  • ZONE: durch die Zone, in der sich der nichtflüchtige Speicher befindet.
  • DISK_NAME: durch den Namen des Laufwerks, dessen Größe angepasst werden soll.
  • DISK_SIZE: durch die neue Größe des Laufwerks in Gigabyte. Bei Laufwerken mit MBR-Partitionstabellen kann die Größe maximal bis 2 TB angepasst werden.

Laufwerk sichern

Beim Ändern der Größe eines Laufwerks werden keine Laufwerksdaten gelöscht oder geändert. Es empfiehlt sich jedoch, das Laufwerk zu sichern, bevor Sie Änderungen am Dateisystem oder an den Partitionen vornehmen.

Größe des Dateisystems und der Partitionen anpassen

Nachdem Sie die Größe des Laufwerks angepasst haben, müssen Sie möglicherweise auch die Größe des Dateisystems und der Partitionen dieses Laufwerks anpassen.

  • Bootlaufwerk: Bei VMs mit öffentlichen Images wird die Größe der Root-Partition und des Dateisystems automatisch angepasst, nachdem Sie die Größe des Bootlaufwerks auf der VM angepasst und die VM neu gestartet haben. Wenn Sie ein Image verwenden, das diese Funktion nicht unterstützt, müssen Sie die Größe der Root-Partition und des Dateisystems manuell anpassen.

  • Nicht-Bootlaufwerk: Nachdem Sie die Größe des Laufwerks angepasst haben, müssen Sie das Dateisystem erweitern, um den hinzugefügten Speicherplatz zu verwenden.

Das folgende Beispiel zeigt, wie Sie die Größe der Root-Partition und des Dateisystems eines Bootlaufwerks manuell anpassen und das Dateisystem eines Nicht-Bootlaufwerks ohne Partitionstabelle manuell anpassen.

Linux-Instanzen

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu "VM-Instanzen"

  2. Klicken Sie neben der Instanz mit dem neuen angehängten Laufwerk auf die Schaltfläche SSH. Im Browser wird eine Terminalverbindung zur Instanz hergestellt.

  3. Verwenden Sie die Befehle df und lsblk, um die Größe des Dateisystems aufzulisten und die Gerätenamen für Ihre Laufwerke zu ermitteln.

    $ sudo df -Th
    
    Filesystem      Type     Size   Used  Avail  Use%  Mounted on
    /dev/sda1       ext4     9.7G   1.2G   8.5G   12%  /
    /dev/sdb        ext4     250G    60M   250G    1%  /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    Dieses Beispiel enthält die folgenden Laufwerke:

    • Bootlaufwerk: Die Partition /dev/sda1 befindet sich auf einem Bootlaufwerk, das auf 20 GB skaliert wurde. Die Partitionstabelle und das Dateisystem bieten dem Betriebssystem nur 9,7 GB.
    • Nicht-Bootlaufwerk: /dev/sdb Nicht-Bootlaufwerk enthält keine Partitionstabelle, aber das Dateisystem auf diesem Laufwerk stellt dem Betriebssystem nur 250 GB bereit. Das Bereitstellungsverzeichnis für dieses Laufwerk ist /mnt/disks/disk-1.

    Der Befehl df zeigt, dass die Partition /dev/sda1 als Root-Dateisystem und das Laufwerk /dev/sdb als Nicht-Bootlaufwerk für die Bereitstellung unter /mnt/disks/disk-1 bereitgestellt wird. Notieren Sie die Spalte Type (Typ), die angibt, ob das Laufwerk ein ext4- oder xfs-Dateisystem verwendet.

  4. Passen Sie die Größe der Root-Partition und des Dateisystems auf dem Bootlaufwerk an. In diesem Beispiel wird davon ausgegangen, dass das VM-Image weder die automatische Root-Partition noch die Anpassung der Dateisystemgröße unterstützt.

    1. Ändern Sie die Größe der Root-Partition mithilfe von parted. Mit dem folgenden parted-Befehl im interaktiven Modus wird beispielsweise die Partition 1 von /dev/sda auf die maximal mögliche Größe erweitert:

      sudo parted /dev/sda
      ...
      (parted) resizepart
      Partition number? 1
      Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
      Yes/No? y
      End?  [10.7GB]? 100%
      (parted) quit
      
    2. Verschieben Sie GPT-Datenstrukturen an das Ende des Laufwerks, um die GPT-Tabelle auszurichten.

      sudo sgdisk --move-second-header /dev/sda
      
    3. Lesen Sie die neue Partitionstabelle mit partprobe.

      sudo partprobe /dev/sda
      
    4. Wenn Sie ext4 verwenden, erweitern Sie das Dateisystem mit dem Befehl resize2fs:

      sudo resize2fs /dev/sda1
      
    5. Wenn Sie xfs verwenden, erweitern Sie das Dateisystem mit dem Befehl xfs_growfs:

      sudo xfs_growfs -d /
      
  5. Ändern Sie die Größe des Dateisystems auf dem Nicht-Bootlaufwerk.

    1. Wenn Sie ext4 verwenden, erweitern Sie das Dateisystem mit dem Befehl resize2fs:

      sudo resize2fs /dev/DEVICE_NAME
      

      Ersetzen Sie DEVICE_NAME durch den Gerätenamen des Laufwerks. In diesem Beispiel lautet der Gerätename /dev/sdb.

    2. Wenn Sie xfs verwenden, erweitern Sie das Dateisystem mit dem Befehl xfs_growfs:

      sudo xfs_growfs MOUNT_DIR
      

      Ersetzen Sie MOUNT_DIR durch den Bereitstellungspunkt des Geräts. Sie finden den Bereitstellungspunkt in der Spalte MOUNTPOINT in der Ausgabe des Befehls lsblk.

  6. Prüfen Sie mit dem Befehl df, ob das Dateisystem erweitert wurde. Beispiel:

    df -h /dev/sdb
    
    Filesystem        Size  Used Avail Use% Mounted on
    /dev/sdb  493G   70M  492G   1% /mnt/disks/disk-1
    

Windows-Instanzen

Verwenden Sie das Datenträgerverwaltungstool von Windows, um die Größe von Partitionen für eine Windows-Instanz anzupassen.

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu "VM-Instanzen"

  2. Klicken Sie neben der Instanz mit dem Laufwerk, dessen Größe angepasst wurde, auf RDP. Der Browser öffnet eine RDP-Verbindung zur Instanz.

  3. Klicken Sie mit der rechten Maustaste auf das Windows-Startmenü und wählen Sie Datenträgerverwaltung aus, um das Datenträgerverwaltungstool zu öffnen.

    Windows-Datenträgerverwaltungstool über das Kontextmenü der Windows-Schaltfläche "Start" auswählen.

  4. Aktualisieren Sie die Datenträgerverwaltung, damit der zusätzliche Speicherplatz auf dem zonalen nichtflüchtigen Speicher erkannt wird. Klicken Sie oben im Fenster der Datenträgerverwaltung auf Action und wählen Sie Refresh aus.

    Klicken auf das Menü "Action" und Auswählen von "Refresh", sodass die Informationen des zonalen nichtflüchtigen Speichers in der Datenträgerverwaltung aktualisiert werden.

  5. Klicken Sie bei dem Laufwerk, dessen Größe Sie angepasst haben, mit der rechten Maustaste auf die formatierte Partition und wählen Sie Extend Volume aus.

    Mit der rechten Maustaste auf den formatierten Teil des Laufwerks klicken und die Option "Volume erweitern" auswählen.

  6. Folgen Sie der Anleitung im Extend Volume Wizard (Assistent zum Erweitern von Volumes), um Ihre vorhandene Partition mit dem zusätzlichen Speicherplatz zu erweitern. Wenn die vorhandene Partition in NTFS formatiert ist, wird die maximale Partitionsgröße durch die Einstellungen für die Clustergröße begrenzt.

  7. Prüfen Sie nach Abschluss des Assistenten und der Formatierung des Volumes die Spalte Status in der Liste der angehängten Laufwerke. Hier muss der Status Healthy für das neue Laufwerk angezeigt werden.

    Liste der von Windows erkannten Laufwerke aufrufen und prüfen, ob die Instanz online ist und den Status "Healthy" hat.

Sie müssen die Instanz nicht neu starten, wenn Sie mit diesem manuellen Prozess fertig sind. Sie können jetzt den hinzugefügten Speicherplatz zum Speichern von Daten verwenden.

VMs oder vollständige Bootlaufwerke wiederherstellen

Wenn Ihre VM nicht zugänglich ist oder beschädigt ist, können Sie die VM oder das vollständige Bootlaufwerk wiederherstellen.

Eine nicht zugängliche VM oder ein vollständiges Bootlaufwerk wiederherstellen

Wenn Sie keine Verbindung zu Ihrer Instanz herstellen können oder Ihr Bootlaufwerk voll ist und Sie die Größe nicht ändern können, müssen Sie eine Instanz erstellen und das Bootlaufwerk aus einem Snapshot neu erstellen, um seine Größe anzupassen. Sie müssen die Größe des neu zu erstellenden Bootlaufwerks kennen.

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu „VM-Instanzen“

    1. Klicken Sie auf den Instanznamen, um die Seite VM-Instanzdetails zu öffnen.
    2. Klicken Sie auf Beenden.
    3. Notieren Sie im Abschnitt Bootlaufwerk die Größe und den Namen des Bootlaufwerks.
  2. Rufen Sie in der Google Cloud Console die Seite Laufwerk erstellen auf.

    Zur Seite "Snapshot erstellen"

    1. Geben Sie einen Namen für den Snapshot ein.
    2. Wählen Sie das Bootlaufwerk aus der Drop-down-Liste Quelllaufwerk aus.
    3. Klicken Sie auf Erstellen.
  3. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite "Instanz erstellen"

  4. Geben Sie die Instanzdetails ein.

  5. Erstellen Sie ein neues Bootlaufwerk aus dem Snapshot des alten Bootlaufwerks.

    1. Wählen Sie unter Bootlaufwerk die Option Ändern aus.
    2. Wählen Sie Snapshots aus.
    3. Wählen Sie in der Drop-down-Liste Snapshot den Snapshot des alten Bootlaufwerks aus.
    4. Wählen Sie den Bootlaufwerktyp aus.
    5. Geben Sie die neue Größe für das Laufwerk ein.
    6. Klicken Sie auf Auswählen, um Ihre Laufwerksoptionen zu bestätigen.
  6. Klicken Sie auf Erstellen.

Beschädigte VM oder vollständiges Bootlaufwerk wiederherstellen

Wenn das Betriebssystem einer VM beschädigt ist, können Sie die Daten des Bootlaufwerks abrufen, um die VM wiederherzustellen. Zum Wiederherstellen des Bootlaufwerks müssen Sie zuerst eine temporäre VM mit einem von Google bereitgestellten Image erstellen, da der Snapshot der Quell-VM möglicherweise beschädigt ist.

So rufen Sie Daten von der VM ab:

  1. Erstellen Sie einen Snapshot vom Bootlaufwerk der Quell-VM.
  2. Erstellen Sie eine temporäre VM mit einem öffentlichen Image
  3. Prüfen Sie, ob Sie eine Verbindung zur temporären VM über SSH herstellen können.
  4. Fügen Sie der temporären VM ein zusätzliches Laufwerk hinzu. Gehen Sie dazu so vor:

    1. Gehen Sie in der Cloud Console zur Seite VM-Instanzen.

      Zu „VM-Instanzen“

    2. Wählen Sie die temporäre VM aus, die Sie erstellt haben.

    3. Klicken Sie auf  Bearbeiten.

    4. Klicken Sie unter Zusätzliche Laufwerke auf Neues Laufwerk hinzufügen und gehen Sie dann so vor:

      1. Fügen Sie den Namen des Laufwerks hinzu.
      2. Wählen Sie als Quelltyp den Tab Snapshot aus.
      3. Wählen Sie im Drop-down-Menü Quell-Snapshot den Snapshot der Quell-VM aus, die Sie zuvor erstellt haben.
      4. Klicken Sie auf Fertig.
    5. Klicken Sie auf Speichern.

  5. Stellen Sie eine SSH-Verbindung zur VM her:

  6. Prüfen Sie das Laufwerk und die Partitionen in der VM und notieren Sie sich den Namen des Laufwerks. Beispiel: /dev/sdb1:

     lsblk
     

    Die Ausgabe sieht etwa so aus:

     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  100G  0 disk
     ├─sdb1   8:17   0   96G  0 part
     ├─sdb2   8:18   0    1K  0 part
     └─sdb5   8:21   0    4G  0 part
     

  7. Erstellen Sie einen Bereitstellungspunkt unter /mnt/newdisk:

     sudo mkdir /mnt/newdisk
     

  8. Stellen Sie die zusätzliche Laufwerkspartition für den Bereitstellungspunkt /mnt/newdisk bereit:

     sudo mount -o discard,defaults DISK_NAME /mnt/newdisk
     

    Ersetzen Sie DISK_NAME durch den Laufwerksnamen, den Sie zuvor notiert haben, z. B. /dev/sdb1.

    Das Dateisystem des Snapshots wird unter /mnt/newdisk bereitgestellt. Sie können in den Verzeichnissen suchen und Daten abrufen.

So erstellen Sie eine VM mit dem wiederhergestellten Bootlaufwerk:

  1. Erstellen Sie ein Image vom Laufwerk der temporären VM.
  2. Erstellen Sie eine VM mit dem Image der temporären VM.

Nachdem die VM erstellt wurde, können Sie die wiederhergestellten Daten auf die VM übertragen.

Automatischen Löschzustand eines zonalen nichtflüchtigen Speichers festlegen

Sie können festlegen, dass zonale nichtflüchtige Lese-/Schreibspeicher automatisch gelöscht werden, wenn die zugehörige VM-Instanz gelöscht wird. Dieses Verhalten wird durch das Attribut autoDelete auf der VM-Instanz für einen angehängten zonalen nichtflüchtigen Speicher gesteuert und kann jederzeit geändert werden. Ebenso können Sie verhindern, dass ein zonaler nichtflüchtiger Speicher gelöscht wird. Dazu setzen Sie den Wert autoDelete auf "false".

Console

  1. Öffnen Sie in der Google Cloud Console die Seite VM-Instanzen.

    Zu "VM-Instanzen"

  2. Wählen Sie die Instanz aus, der die Laufwerke zugeordnet sind.

  3. Klicken Sie auf den Instanznamen. Die Seite DVM-Instanzdetails wird angezeigt.

  4. Klicken Sie auf Bearbeiten.

  5. Scrollen Sie zu Zusätzliche Laufwerke.

  6. Klicken Sie auf das Stiftsymbol, um die Löschregel des Laufwerks zu bearbeiten.

  7. Klicken Sie auf Fertig, um die Änderungen zu speichern.

  8. Klicken Sie zum Aktualisieren Ihrer Instanz auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud compute instances set-disk-auto-delete, um den Status zum automatischen Löschen für einen zonalen nichtflüchtigen Speicher festzulegen:

gcloud compute instances set-disk-auto-delete example-instance \
  [--auto-delete|--no-auto-delete] \
  --disk DISK_NAME

Ersetzen Sie DISK_NAME durch den Namen der VM.

API

Wenn Sie die API verwenden, machen Sie eine POST-Anfrage an den folgenden URI:

https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setDiskAutoDelete?deviceName=DISK_NAME,autoDelete=true

Ersetzen Sie Folgendes:

  • PROJECT_ID: durch Ihre Projekt-ID
  • ZONE: durch die Zone, in der sich die Instanz und das Laufwerk befinden
  • VM_NAME: durch den Namen der Instanz
  • DISK_NAME: durch den Namen des Laufwerks

Typ des nichtflüchtigen Speichers ändern

Sie können den Typ des nichtflüchtigen Speichers jederzeit ändern. Nichtflüchtige Speichertypen unterscheiden sich in Bezug aufPreise und Leistung. Daher müssen Sie den Typ eines vorhandenen nichtflüchtigen Speichers möglicherweise ändern, um ihn an Ihre Arbeitslast anzupassen.

Sie können den Typ Ihres nichtflüchtigen Speichers mithilfe von Snapshots ändern. Zum Beispiel können Sie so Ihren nichtflüchtigen Standardspeicher in einen nichtflüchtigen SSD-Speicher ändern:

Console

  1. Erstellen Sie einen Snapshot Ihres nichtflüchtigen Standardspeichers.
  2. Erstellen Sie einen neuen nichtflüchtigen Speicher basierend auf dem Snapshot. Wählen Sie aus der Drop-down-Liste Typ "Nichtflüchtiger SSD-Speicher" aus.

gcloud

  1. Erstellen Sie einen Snapshot Ihres nichtflüchtigen Standardspeichers.
  2. Erstellen Sie einen neuen nichtflüchtigen Speicher basierend auf dem Snapshot. Fügen Sie das Flag --type ein und geben Sie pd-ssd an.

API

  1. Erstellen Sie einen Snapshot Ihres nichtflüchtigen Standardspeichers.
  2. Erstellen Sie einen neuen nichtflüchtigen Speicher basierend auf dem Snapshot. Geben Sie im Feld type "zones/ZONE/diskTypes/pd-ssd" an und ersetzen Sie ZONE durch die Zone, in der sich die Instanz und das neue Laufwerk befinden.

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