Nicht-Bootlaufwerk auf einer Linux-VM formatieren und bereitstellen


Wenn Sie an Ihre VM ein neues, leeres Laufwerk angehängt haben, müssen Sie das Laufwerk formatieren und bereitstellen, bevor Sie es verwenden können. Wenn Sie ein Laufwerk angehängt haben, das bereits Daten enthält, müssen Sie es bereitstellen, bevor Sie es verwenden können.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich wie folgt bei Compute Engine authentifizieren.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Verbindung zur VM herstellen

  1. Rufen Sie die Seite VM-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf die Schaltfläche SSH neben der Instanz mit dem neu hinzugefügten Laufwerk. Im Browser wird eine Terminalverbindung zur Instanz hergestellt.

Nicht-Bootlaufwerk auf einer Linux-VM formatieren

  1. Verwenden Sie im Terminal symlink, das für das angehängte Laufwerk erstellt wurde, um zu bestimmen, welches Gerät formatiert werden soll.

     ls -l /dev/disk/by-id/google-*
    

    Nicht formatierte Laufwerke haben keine zusätzlichen Symlinks mit -partN im Namen.

     google-extra-scsi-disk -> ../../sdb
     google-instance-2 -> ../../sda
     google-instance-2-part1 -> ../../sda1
     google-instance-2-part14 -> ../../sda14
     google-instance-2-part15 -> ../../sda15
     google-local-nvme-ssd-0 -> ../../nvme0n1
     google-local-nvme-ssd-1 -> ../../nvme0n2
    

    In diesem Beispiel wurde der neue nichtflüchtige Speicher mit dem Namen extra-scsi-disk erstellt. Der Gerätename für das neue Laufwerk lautet sdb.

  2. Formatieren Sie das Laufwerk mit dem mkfs-Tool. Dieser Befehl löscht alle Daten vom angegebenen Laufwerk. Achten Sie daher darauf, dass Sie das Laufwerksgerät richtig angeben.

    Sie können jedes beliebige Dateiformat verwenden, wir empfehlen jedoch ein einzelnes ext4-Dateisystem ohne Partitionstabelle. Sie können die Größe des Laufwerks später erhöhen, ohne Laufwerkspartitionen ändern zu müssen.

    Verwenden Sie die empfohlenen Formatierungsoptionen mit dem Flag -E zur Optimierung der Laufwerkleistung. Es ist nicht erforderlich, Platz für das Root-Volume auf diesem Sekundärlaufwerk zu reservieren. Geben Sie daher -m 0 an, um den gesamten verfügbaren Speicherplatz zu verwenden.

     $ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_NAME
     

    Ersetzen Sie DEVICE_NAME durch den Gerätenamen des Laufwerks, das Sie gerade formatieren. Wenn Sie beispielsweise die Beispielausgabe aus dem ersten Schritt verwenden, verwenden Sie sdb für den Gerätenamen.

    Der Befehl formatiert das gesamte Laufwerk ohne Partitionstabelle.

Laufwerk bereitstellen

  1. Erstellen Sie ein Verzeichnis, das als Bereitstellungspunkt für das neue Laufwerk auf der VM dient. Sie können ein beliebiges Verzeichnis verwenden. Im folgenden Beispiel wird ein Verzeichnis unter /mnt/disks/ erstellt.

    $ sudo mkdir -p /mnt/disks/MOUNT_DIR
    

    Ersetzen Sie MOUNT_DIR durch das Verzeichnis, in dem Sie das Laufwerk bereitstellen möchten.

  2. 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 /mnt/disks/MOUNT_DIR
    

    Ersetzen Sie Folgendes:

    • DEVICE_NAME: durch den Gerätenamen des Laufwerks, das bereitgestellt werden soll.
    • MOUNT_DIR: durch das Verzeichnis, in dem das Laufwerk bereitgestellt wird.
  3. 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 /mnt/disks/MOUNT_DIR
    

    Ersetzen Sie MOUNT_DIR durch das Verzeichnis, in dem Sie das Laufwerk bereitgestellt haben.

Automatische Bereitstellung beim Neustart der VM konfigurieren

Fügen Sie das Laufwerk Ihrer /etc/fstab-Datei hinzu, damit das Laufwerk automatisch bereitgestellt wird, wenn die VM neu gestartet wird. Unter Linux-Betriebssystemen kann der Gerätename bei jedem Neustart geändert werden. Die Geräte-UUID verweist jedoch immer auf dasselbe Volume, auch wenn Sie Laufwerke zwischen Systemen verschieben. Daher empfehlen wir die Verwendung der Geräte-UUID statt des Gerätenamens, um die automatische Bereitstellung beim Neustart der VM zu konfigurieren.

  1. Erstellen Sie eine Sicherungskopie Ihrer aktuellen /etc/fstab-Datei.

    $ sudo cp /etc/fstab /etc/fstab.backup
    
  2. Verwenden Sie den Befehl blkid, um die UUID für das Laufwerk aufzulisten.

    $ sudo blkid /dev/DEVICE_NAME
    
    /dev/DEVICE_NAME: UUID="a9e1c14b-f06a-47eb-adb7-622226fee060" BLOCK_SIZE="4096"
    TYPE="ext4" PARTUUID="593b3b75-108f-bd41-823d-b7e87d2a04d1"
    

    Ersetzen Sie Folgendes:

    • DEVICE_NAME ist der Gerätename des Laufwerks, das automatisch bereitgestellt werden soll. Wenn Sie eine Partitionstabelle auf dem Laufwerk erstellt haben, geben Sie die Partition an, die Sie bereitstellen möchten. Fügen Sie dazu das Suffix an den Gerätenamen an: Wenn zum Beispiel sdb der Gerätename des Laufwerks ist, könnte sdb1 der Name der Partition sein.
  3. Öffnen Sie die Datei /etc/fstab in einem Texteditor und erstellen Sie einen Eintrag mit der UUID. Beispiel:

    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
    

    Dabei gilt:

    • UUID_VALUE: die UUID des Laufwerks, die in der Ausgabe des vorherigen Schritts aufgeführt ist
    • MOUNT_DIR: das Verzeichnis, in dem Sie das Laufwerk bereitgestellt haben
    • MOUNT_OPTION gibt an, welche Aktionen das Betriebssystem ausführt, wenn es den zonalen nichtflüchtigen Speicher beim Booten nicht bereitstellen kann. Informationen zu gültigen Werten finden Sie unter Das vierte Feld in der Linux fstab-Dokumentation. Mit der Option nofail können Sie das System auch dann starten, wenn das Laufwerk nicht verfügbar ist.
  4. Prüfen Sie mit dem Befehl cat, ob Ihre /etc/fstab-Einträge korrekt sind:

    $ cat /etc/fstab
    
    UUID=6B33-A686 /boot/efi vfat defaults 0 0
    UUID=UUID_VALUE /mnt/disks/MOUNT_DIR ext4 discard,defaults,MOUNT_OPTION 0 2
    
    

Synchronisieren Sie die Datei /etc/fstab immer mit den Geräten, die an eine VM angehängt sind. Wenn Sie ein Laufwerk trennen oder einen Snapshot von dem Bootlaufwerk für eine VM erstellen möchten, bearbeiten Sie die Datei /etc/fstab und entfernen Sie den Eintrag für das Laufwerk. Selbst wenn Sie MOUNT_OPTION auf nofail oder nobootwait festlegen, entfernen Sie den Eintrag, bevor Sie den Snapshot des Bootlaufwerks erstellen oder das Laufwerk trennen.

Nächste Schritte