Grundlegendes zur UUID-Zuweisung

Grundlegendes zur UUID-Zuweisung

Eine UUID (universelle eindeutige Kennung) ist ein 128-Bit-Code, der zur Identifizierung von Block-(Speicher-)Geräten verwendet wird. Erstens: Ist das alles, wofür UUIDs verwendet werden?

Wie erhält ein Gerät seine UUID?

Ändert es sich jemals? Zum Beispiel bei jedem Start? Wenn ein neues Betriebssystem installiert wird?

Wie wird eine UUID generiert? Ist das zufällig?

Die meisten Computer haben nicht mehr als 10 Speichergeräte. Warum sind so viele verschiedene Namen nötig?

Antwort1

Das Konzept ist beschrieben inRFC 4122welche die verschiedenen Algorithmen zur Generierung definiertUUIDs. Variante 4 verwendet Zufallszahlen und ist die gebräuchlichste.

UUIDs werden in vielen Szenarien verwendet, einige Beispiele sind:

  • Das Beschriften von Partitionen und Dateisystemen ist die häufigste Verwendung unter Linux
  • Network Manager verwendet sie, um Netzwerkgeräte und -verbindungen zu identifizieren
  • Hypervisoren wie Virtual Box und Qemu-KVM verwenden sie zur Identifizierung von VMs
  • Sie werden in Microsoft Windows verwendet und sind dort bekannt alsGUIDS
  • Sie dienen der Einzigartigkeit innerhalbDatenbanken
  • Sie werden verwendet inSoftware-Entwicklung

Unter Linux wird das Paket in allen Distributionen mitgeliefert util-linux, das unter anderem den uuidgenBefehl zum Generieren von UUIDs enthält. Dabei handelt es sich um ein Frontend, libuuiddas standardmäßig zufällige UUIDs generiert oder zeitbasiert, wenn nicht genügend Entropie verfügbar ist.

Das Dienstprogramm, das Sie zum Erstellen einer Partition oder eines Dateisystems verwenden, generiert die UUID, die bei dieser Partition/diesem Dateisystem verbleibt, bis Sie sie entweder neu erstellen oder die UUID explizit ändern (z. B. mit tune2fs).

UUIDs werden bei Dateisystemen und Partitionen verwendet, um ihnen einen einheitlichen (wenn auch sehr langen) Namen zu geben. Dadurch wird das Szenario vermieden, dass das BIOS der UEFI-Firmware in einem System mit zwei Festplatten Festplatten auflistet, sodass Ihre Systemfestplatte /dev/sdabei einem Start zugewiesen und /deb/sdbbeim nächsten zugewiesen wird (möglicherweise war der Start der ersten Festplatte beim zweiten Start langsamer).

Bei Verwendung der herkömmlichen Benennungsmethode würde dies Chaos in Ihrer /etc/fstabDatei verursachen, da Ihr System auf der falschen Festplatte nach Partitionen zum Mounten suchen würde. Hier ist beispielsweise mein Swap-Eintrag:

/dev/sda4               none            swap            defaults        0 0

Wenn die Festplatten beim Booten anders zugewiesen worden wären, würde mein System keine vierte Partition dieses Typs swapauf der Nicht-Systemfestplatte finden (OK, ich nutze einen Laptop, also hat dieser keine zweite Festplatte, aber Sie verstehen, was ich meine) und mein Swap würde fehlschlagen.

Indem Sie sie mit UUIDs kennzeichnen und diese darin verwenden, /etc/fstabstellen Sie sicher, dass immer das richtige Dateisystem gemountet wird. Beispiel:

UUID=d8ab8967-f2de-4c76-902f-d8d9707c399e /media/files  ext4    defaults 0 0

mountet immer die Partition mit dieser UUID, /media/filesunabhängig von der Reihenfolge, in der das BIOS (oder die UEFI-Firmware) sie beim Booten benennt.

verwandte Informationen