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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

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 den symlink, der für das angeschlossene Laufwerk erstellt wurde, um zu ermitteln, 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 ist 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. Mit dem folgenden Befehl wird das gesamte Laufwerk ohne Partitionstabelle formatiert.

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

    Ersetzen Sie Folgendes:

    • FILE_SYSTEM_TYPE: der Dateisystemtyp. Beispiel: ext2, ext3, ext4 oder xfs.
    • DEVICE_NAME: der Gerätename des Laufwerks, das Sie formatieren. Wenn Sie beispielsweise die Beispielausgabe aus dem ersten Schritt verwenden, würden Sie sdb als Gerätenamen verwenden.

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 FILE_SYSTEM_TYPE 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
    • FILE_SYSTEM_TYPE: der Dateisystemtyp. Beispiel: ext2, ext3, ext4 oder xfs.
    • 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 FILE_SYSTEM_TYPE 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