Symbolische Links verwenden, um auf Laufwerke zuzugreifen, die an eine Linux-VM angehängt sind


Wenn Sie ein Laufwerk an eine virtuelle Maschine (VM) anhängen, die ein Linux-Betriebssystem verwendet, erstelltGoogle Cloud automatisch einen symbolischen Link (Symlink) für das Laufwerk. Verwenden Sie für den Zugriff auf Persistent Disk-Volumes oder lokale SSD-Festplatten in Ihrer Linux-VM die Symlinks. Diese Symlinks sind vorhersehbar und bleiben nach einem Neustart unverändert. Google Cloud erstellt Symlinks für alle Laufwerke, die an eine VM in/dev/disk/by-idangehängt sind.

In diesem Dokument wird beschrieben, wie Sie die richtigen Symlinks für die an eine VM angeschlossenen Laufwerke ermitteln.

Beschränkungen

Wenn Sie lokale SSD-Laufwerke an eine C3- oder C3D-VM anhängen, müssen Sie möglicherweise zusätzliche Schritte ausführen, um die Symlinks für die lokalen SSD-Laufwerke zu erstellen. Diese Schritte sind nur erforderlich, wenn Sie eines der folgenden öffentlichen Images von Google Cloudverwenden:

  • SLES 15 SP4 und SP5
  • SLES 12 SP4

Diese zusätzlichen Schritte gelten nur für lokale SSD-Laufwerke. Für Persistent Disk-Volumes müssen Sie nichts tun.

Die öffentlichen Images in der vorherigen Liste haben nicht die lokalen SSD-Symlinks in der Form /dev/disk/by-id/google-local-nvme-ssd-N. Auf diesen Images sind nur Symlinks mit Geräteinformationen vorhanden, z. B. nvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001.

Um die nutzerfreundlichen Symlinks für diese Linux-Images zu erhalten, müssen Sie die udev-Regeln aktualisieren und der Instanz ein Script hinzufügen.

Eine Anleitung zum Aktualisieren der udev-Regeln zur Unterstützung von Symlinks für lokale SSD-Laufwerke auf C3- und C3D-VMs finden Sie unter Fehlerbehebung bei NVMe-Laufwerken.

Als Alternative zur Verwendung von Symlinks können Sie auf die lokalen SSD-Laufwerke auf den VMs über ihre Gerätenamen zugreifen, z. B. /dev/nvme0n1.

Symlinks werden in /dev/disk/by-id erstellt, wenn ein Laufwerk an die VM angehängt wird, entweder während oder nach der VM-Erstellung. Die Symlinknamen werden so erstellt:

Persistent Disk und Google Cloud Hyperdisk

Die Symlinks werden anhand der folgenden Regeln erstellt:

  • Wenn Sie beim Erstellen des Laufwerks einen benutzerdefinierten Gerätenamen angegeben haben: google-DEVICE_NAME
  • Wenn Sie beim Erstellen des Laufwerks keinen benutzerdefinierten Gerätenamen angegeben haben:
    • Bootlaufwerk: google-VM_NAME
    • Nicht-Bootlaufwerk: google-DISK_NAME

Nachdem Sie die Festplatte formatiert haben, wird an den symbolischen Link -partN angehängt, wobei N die Partitionsnummer ist, z. B. google-data-disk-part1.

Lokale SSDs

Lokale SSD-Symlinks haben je nach Laufwerksschnittstelle unterschiedliche Formate.

  • SCSI:
    • Wenn Sie beim Erstellen des Laufwerks einen benutzerdefinierten Gerätenamen angegeben haben: google-DEVICE_NAME
    • Wenn Sie beim Erstellen des Laufwerks keinen benutzerdefinierten Gerätenamen angegeben haben: google-local-ssd-N, wobei N die Laufwerksnummer des lokalen SSD ist, beginnend mit 0.
  • NVMe: Die Symlinks heißen google-local-nvme-ssd-N, wobei N die SSD-Nummer ist, beginnend mit 0.

Nachdem Sie ein lokales SSD-Laufwerk formatiert haben, wird der Symlink mit -partN ergänzt, wobei N die Partitionsnummer ist, z. B. google-local-nvme-ssd-0-part1.

Gerätesymlinks

Die Compute Engine erstellt zusätzliche Symlinks im Verzeichnis, die auf dem Laufwerktyp und der Schnittstelle basieren, z. B. scsi-0Google_PersistentDisk_DEVICE_NAME. Diese Links haben dieselbe Funktion wie die zuvor erwähnten Symlinks.

Beispiel 1: C3-VM mit angehängter lokaler SSD

Angenommen, Sie haben eine VM mit den folgenden Attributen erstellt:

  • VM-Name: instance-1
  • Maschinenserie: C3
  • Laufwerkschnittstellentyp: NVMe für nichtflüchtige Speicher und lokale SSD
  • Zusätzliche Laufwerke: keine
  • Verbundene lokale SSDs: 2
  • Verwendete benutzerdefinierte Gerätenamen: keine

Compute Engine erstellt die folgenden Symlinks für diese VM:

ls -l /dev/disk/by-id/google-*
google-instance-1 -> ../../nvme2n1
google-instance-1-part1 -> ../../nvme2n1p1
google-instance-1-part14 -> ../../nvme2n1p14
google-instance-1-part15 -> ../../nvme2n1p15
google-local-nvme-ssd-0 -> ../../nvme0n1
google-local-nvme-ssd-1 -> ../../nvme1n1

In diesem Beispiel ist der Symlink für das Bootlaufwerk des nichtflüchtigen Speichers google-instance-1, der auf dem Namen der VM basiert. Das Bootlaufwerk ist formatiert und das Betriebssystem ist darauf installiert. Das Bootlaufwerk hat drei Partitionen: part1, part14 und part 15. Die angehängten lokalen SSD-Laufwerke sind nicht formatiert, sodass für jedes lokale SSD-Laufwerk nur ein einziger Symlink erstellt wurde.

Beispiel 2: N2-VM mit angehängter lokaler NVMe-SSD und zusätzlicher Persistent Disk

Angenommen, Sie haben eine VM mit den folgenden Attributen erstellt:

  • VM-Name: instance-2
  • Maschinenserie: N2
  • Typ der Laufwerkschnittstelle: SCSI für nichtflüchtige Speicher und NVMe für lokale SSDs
  • Zusätzliche Laufwerke: 1 Persistent Disk mit dem Namen extra-scsi-disk
  • Verbundene lokale SSDs: 2
  • Verwendete benutzerdefinierte Gerätenamen: keine

Für diese VM werden die folgenden Symlinks erstellt:

ls -l /dev/disk/by-id/google-*
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-0-part1 -> ../../nvme0n1p1
google-local-nvme-ssd-1 -> ../../nvme0n2

In diesem Beispiel ist der Symlink für das Bootlaufwerk des nichtflüchtigen Speichers google-instance-2, der auf dem Namen der VM basiert. Das Bootlaufwerk wird formatiert und das Betriebssystem-Image wird darauf installiert. Das Bootlaufwerk hat drei Partitionen: part1, part14 und part 15. Das erste lokale SSD-Laufwerk ist ebenfalls partitioniert, mit einer einzelnen Partition. Daher wird ein zusätzlicher Symlink für diese Laufwerkspartition erstellt. Die zusätzliche Persistent Disk, die der VM hinzugefügt wird, hat den Symlink google-extra-scsi-disk, der auf dem Namen des Laufwerks basiert. Die zusätzliche Persistent Disk und das zweite lokale SSD-Laufwerk sind nicht formatiert, sodass für diese Laufwerke nur ein einziger Symlink aufgeführt ist.

Nächste Schritte