Comprender la asignación de UUID

Comprender la asignación de UUID

Un UUID (identificador único universal) es un código de 128 bits que se utiliza para identificar dispositivos de bloque (almacenamiento). En primer lugar, ¿para esto se utilizan todos los UUID?

¿Cómo obtiene un dispositivo su UUID?

¿Alguna vez cambia? Por ejemplo, ¿en cada startup? ¿Cuándo se instala un nuevo sistema operativo?

¿Cómo se genera un UUID? ¿Es aleatorio?

La mayoría de las computadoras no tienen más de 10 dispositivos de almacenamiento. ¿Por qué la necesidad de tantos nombres diferentes?

Respuesta1

El concepto se describe enRFC 4122que define los diversos algoritmos para generarUUIDs. La variante 4 utiliza números aleatorios y es la más común.

Los UUID se utilizan en muchos escenarios, algunos ejemplos son:

  • Etiquetar particiones y sistemas de archivos es el uso más común en Linux
  • Network Manager los utiliza para identificar dispositivos y conexiones de red.
  • Los hipervisores, como Virtual Box y Qemu-KVM, los utilizan para identificar máquinas virtuales.
  • Se utilizan dentro de Microsoft Windows donde se les conoce comoGUIDs
  • Se utilizan para la unicidad dentrobases de datos
  • Se utilizan endesarrollo de software

Dentro de Linux, todas las distribuciones vienen con el util-linuxpaquete, que entre otras cosas tiene el uuidgencomando para generar UUID. Se trata de una interfaz libuuidque genera UUID aleatorios de forma predeterminada o basados ​​en el tiempo si no hay suficiente entropía disponible.

La utilidad que utilice para crear una partición o sistema de archivos generará el UUID, que permanecerá con esa partición/sistema de archivos hasta que los vuelva a crear o cambie explícitamente el UUID (por ejemplo, con tune2fs)

Los UUID se utilizan con sistemas de archivos y particiones para darles un nombre coherente (aunque muy largo). Esto evita el escenario en el que el BIOS del firmware UEFI en un sistema de dos HDD enumera el disco duro de modo que el disco de su sistema se asigna /dev/sdaen un inicio y /deb/sdben el siguiente (tal vez el primer disco tardó más en iniciarse en el segundo inicio).

Usando el método de nomenclatura tradicional, esto causaría estragos en su /etc/fstabarchivo ya que su sistema buscaría particiones en el disco equivocado para montar. Por ejemplo, aquí está mi entrada de intercambio:

/dev/sda4               none            swap            defaults        0 0

Si los discos se hubieran asignado de manera diferente en el arranque, mi sistema no encontraría una cuarta partición de tipo swapen el disco que no es del sistema (OK, estoy en una computadora portátil, por lo que no tiene un segundo disco, pero obtienes el punto) y mi intercambio fallaría.

Al etiquetarlos con UUID y utilizarlos, /etc/fstabse garantiza que se montará el sistema de archivos correcto en todo momento. Por ejemplo:

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

siempre montará la partición con ese UUID /media/filesindependientemente del orden en que la BIOS (o el firmware UEFI) las etiquete en el arranque.

información relacionada