Wenn Sie ein Laufwerk an eine virtuelle Maschine (VM) anhängen, die ein Linux-Betriebssystem verwendet, erstellt Google 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 über Neustarts hinweg konsistent.
Google Cloud erstellt Symlinks für alle Laufwerke, die in /dev/disk/by-id
an eine VM angehängt sind.
In diesem Dokument wird erläutert, wie Sie die richtigen Symlinks für die mit einer VM verbundenen 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 Cloud verwenden:
- SLES 15 SP4 und SP5
- SLES 12 SP4
Diese zusätzlichen Schritte gelten nur für lokale SSD-Laufwerke. Für Persistent Disk-Volumes sind keine Schritte erforderlich.
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
.
Nur Symlinks, die die Geräteinformationen verwenden, z. B. nvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001
, sind auf diesen Images vorhanden.
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 für die Unterstützung von Symlinks für lokale SSD-Laufwerke in C3 und C3D finden Sie unter Fehlerbehebung bei NVMe-Laufwerken.
Als Alternative zur Verwendung von Symlinks können Sie auf die lokalen SSD-Laufwerke auf den VMs zugreifen, indem Sie deren Gerätenamen verwenden, z. B. /dev/nvme0n1
.
Format der symbolischen Links
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 Symlink-Namen werden so erstellt:
Persistent Disk und Google Cloud Hyperdisk
Die Symlinks werden mit den 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
- Bootlaufwerk:
Nachdem Sie das Laufwerk formatiert haben, wird der Symlink mit -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: Die Symlinks haben den Namen
google-local-ssd-N
, wobei N die lokale SSD-Laufwerksnummer ist, beginnend mit 0. - NVMe: Die Symlinks haben den Namen
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
angehängt, wobei N die Partitionsnummer ist, z. B. google-local-nvme-ssd-0-part1
.
Geräte-Symlinks
Compute Engine erstellt basierend auf dem Laufwerkstyp und der Schnittstelle zusätzliche Symlinks im Verzeichnis, z. B. scsi-0Google_PersistentDisk_DEVICE_NAME
.
Diese Links haben die gleiche Funktion wie die zuvor genannten 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
- Typ der Laufwerkschnittstelle: NVMe für Persistent Disk und lokale SSD
- Zusätzliche Laufwerke: keine
- Angehängte lokale SSD-Laufwerke: 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 des Persistent Disk-Bootlaufwerks google-instance-1
, der auf dem VM-Namen basiert. Das Bootlaufwerk ist formatiert und das Betriebssystem ist 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 einzelner 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 Persistent Disk und NVMe für lokale SSD
- Zusätzliche Laufwerke: 1 nichtflüchtiger Speicher mit dem Namen
extra-scsi-disk
- Angehängte lokale SSD-Laufwerke: 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 des Persistent Disk-Bootlaufwerks google-instance-2
, der auf dem VM-Namen basiert. Das Bootlaufwerk ist formatiert und das Betriebssystem-Image ist darauf installiert. Das Bootlaufwerk hat drei Partitionen: part1, part14 und part 15.
Das erste lokale SSD-Laufwerk ist ebenfalls mit einer einzelnen Partition partitioniert. Daher wird ein zusätzlicher Symlink für diese Laufwerkpartition 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
- Nichtflüchtige Gerätenamen verwenden
- Formatieren Sie Ihre neuen Laufwerke und stellen Sie sie auf Linux- oder Windows-VMs bereit.
- Benchmarking der Leistung von Persistent Disks.