In diesem Dokument wird beschrieben, wie Sie auf Ihrer Linux-VM nichtflüchtige Gerätenamen verwenden.
Bei VMs mit einem Linux-Betriebssystem können sich Gerätenamen wie /dev/sda
nach den folgenden Verfahren ändern:
- VM starten und anhalten
- Laufwerke trennen und neu anhängen
- Maschinentypen ändern
Die Änderung des Gerätenamens tritt auf, weil Gerätenamen aus einem verfügbaren Bereich zugewiesen werden, sobald eine VM gestartet oder ein Gerät angehängt wird. Wenn Sie ein Gerät trennen oder die VM beenden, wird der Gerätename freigegeben. Wenn das Gerät wieder angehängt wird oder die VM neu gestartet wurde, wird aus dem verfügbaren Bereich ein neuer Gerätename zugewiesen. Der Linux-Kernel garantiert nicht die Gerätereihenfolge bei allen Startvorgängen.
Die Änderung eines Gerätenamens kann dazu führen, dass alle Anwendungen oder Skripts, die vom ursprünglichen Gerätenamen abhängig sind, nicht ordnungsgemäß funktionieren oder dass die VM nach einem Neustart nicht startet.
Sie sollten die Benennung von nichtflüchtigen Geräten verwenden, wenn Sie auf Laufwerke und Partitionen auf Ihren Linux-VMs verweisen. So lässt sich dieses Problem vermeiden. Sie können auch Symlinks verwenden.
Hinweise
- Prüfen Sie die Geräteverwaltung für Ihr Linux-Betriebssystem:
-
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 so bei Compute Engine authentifizieren.
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
-
Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:
gcloud init
- Set a default region and zone.
- Durch Verwendung eines Labels. Diese Option erfordert, dass das Dateisystem Labels unterstützt und Sie den Laufwerkpartitionen ein Label hinzufügen.
- Durch Verwendung einer Partitions- oder eines Laufwerk-UUID. Eine UUID wird generiert, wenn ein Laufwerk mit einer Partitionstabelle erstellt wird. Die UUID ist für jede Partition eindeutig.
- Durch Verwendung einer ID des nichtflüchtigen Speichers (
/dev/disk/by-id
) für Persistent Disk oder Google Cloud Hyperdisk oder eines symlinks, der auf dem Namen der Laufwerksressource basiert. - Mit VM verbinden.
Wenn Sie den Gerätenamen des Laufwerks nicht kennen, können Sie den Gerätenamen des Laufwerks über den Symlink finden.
ls -l /dev/disk/by-id/google-*
Die Ausgabe sieht in etwa so aus:
lrwxrwxrwx 1 root root 9 Oct 23 15:58 /dev/disk/by-id/google-my-vm -> ../../sda lrwxrwxrwx 1 root root 10 Oct 23 15:58 /dev/disk/by-id/google-my-vm-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Oct 23 15:58 /dev/disk/by-id/google-my-vm-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Oct 23 15:58 /dev/disk/by-id/google-my-vm-app-data -> ../../nvme0n1
Rufen Sie die UUID der Partition für das Laufwerk mit einem der folgenden Befehle ab:
blkid
sudo blkid -s UUID
Die Ausgabe sieht in etwa so aus:
/dev/sda1: UUID="4f570f2d-fffe-4c7d-8d8f-af347af7612a" /dev/sda15: UUID="E0B2-DFAF" /dev/nvme0n1: UUID="9e617251-6a92-45ff-ba40-700a9bdeb03e"
ls -l
sudo ls -l /dev/disk/by-uuid/
Die Ausgabe sieht in etwa so aus:
lrwxrwxrwx 1 root root 10 Sep 22 18:12 4f570f2d-fffe-4c7d-8d8f-af347af7612a -> ../../sda1 lrwxrwxrwx 1 root root 13 Sep 22 18:15 9e617251-6a92-45ff-ba40-700a9bdeb03e -> ../../nvme0n1 lrwxrwxrwx 1 root root 11 Sep 22 18:12 E0B2-DFAF -> ../../sda15
Fügen Sie in der Datei
/etc/fstab
einen Eintrag für die UUID für Ihr Gerät hinzu.UUID=9e617251-6a92-45ff-ba40-700a9bdeb03e /data ext4 defaults 0 0
In diesem Beispiel ist
/data
der Bereitstellungspunkt undext4
der Dateisystemtyp.Prüfen Sie, ob das Gerät ordnungsgemäß bereitgestellt wurde. Führen Sie dazu
mount -av
aus.sudo mount -av
Wenn das Gerät erfolgreich bereitgestellt wurde, sieht die Ausgabe in etwa so aus:
/ : ignored /boot/efi : already mounted mount: /data does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confine applications will generate AVC messages and not be allowed access to this filesystem. For more details see restorecon(8) and mount(8). /data : successfully mounted
- Mit VM verbinden.
Rufen Sie die ID auf dem Laufwerk ab, indem Sie den folgenden Befehl ausführen:
sudo ls -lh /dev/disk/by-id/google-*
Die Ausgabe sieht in etwa so aus:
lrwxrwxrwx. 1 root root 9 May 16 17:34 google-disk-2 -> ../../sdb lrwxrwxrwx. 1 root root 9 May 16 09:09 google-persistent-disk-0 -> ../../sda lrwxrwxrwx. 1 root root 10 May 16 09:09 google-persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 May 16 09:09 google-persistent-disk-0-part2 -> ../../sda2
Bei
NVME
-Laufwerken sieht die Ausgabe in etwa so aus:lrwxrwxrwx 1 root root 13 Jun 1 10:27 google-disk-3 -> ../../nvme0n2 lrwxrwxrwx 1 root root 13 Jun 1 10:25 google-t2a -> ../../nvme0n1 lrwxrwxrwx 1 root root 15 Jun 1 10:25 google-t2a-part1 -> ../../nvme0n1p1 lrwxrwxrwx 1 root root 16 Jun 1 10:25 google-t2a-part15 -> ../../nvme0n1p15
Fügen Sie der Datei
/etc/fstab
den Symlink hinzu./dev/disk/by-id/google-disk-2 /data ext4 defaults 0 0
Prüfen Sie, ob das Gerät ordnungsgemäß bereitgestellt wurde. Führen Sie dazu
mount -av
aus.sudo mount -av
Wenn das Gerät erfolgreich bereitgestellt wurde, sieht die Ausgabe in etwa so aus:
/ : ignored /boot/efi : already mounted mount: /data does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confine applications will generate AVC messages and not be allowed access to this file system. For more details see restorecon(8) and mount(8). /data : successfully mounted
Benennung nichtflüchtiger Geräte verwenden
Um einen nichtflüchtigen Gerätenamen zu konfigurieren, weisen Sie dem Laufwerkgerät einen Namen für den Bereitstellungspunkt in der Datei
fstab
zu. Es gibt drei Möglichkeiten, einen nichtflüchtigen Gerätenamen zu konfigurieren.Wir empfehlen die Verwendung der Partitions-UUID oder des Symlinks für Linux-VMs.
Partitions-UUID
Führen Sie die folgenden Schritte aus, um die UUID für ein Laufwerk zu ermitteln:
ID des nichtflüchtigen Speichers
Führen Sie die folgenden Schritte aus, um den Namen des Laufwerks mithilfe der ID des nichtflüchtigen Speichers oder des Symlinks zu ermitteln:
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-06-26 (UTC).
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problem mit der Übersetzung" },{ "type": "thumb-down", "id": "otherDown", "label":"Sonstiges" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Leicht verständlich" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Mein Problem wurde gelöst" },{ "type": "thumb-up", "id": "otherUp", "label":"Sonstiges" }] -