Qual é o benefício real de usar UUIDs?

3

Sempre vi pessoas discutirem o uso de UUIDs em discos rígidos em vez de /dev/sdN .

Qual é o benefício real de usar um UUID? É mais rápido, mais confiável, mais fácil de lembrar (ha lol não), o que?

E não é possível alterar um UUID? Existe uma maneira de identificar uma unidade (especialmente no GRUB) que nunca pode mudar?

    
por Kaz Wolfe 23.01.2014 / 06:41

3 respostas

6

Qual é o benefício real de usar um UUID?

Geralmente, o UUID é constante para o mesmo drive / partição, não importando em qual sistema ele esteja conectado.

O esquema de nomenclatura /dev/sdN incrementa a letra final ( N ) para cada dispositivo conectado (a, b, c, d, etc.). Isso significa que o identificador /dev/sd atribuído ao dispositivo muda se estiver anexado em uma ordem diferente.

E não é possível alterar um UUID?

Sim, veja aqui .

Existe uma maneira de identificar uma unidade (especialmente no GRUB) que nunca pode mudar?

É para isso que são os UUIDs. Eles são provavelmente a solução mais estável que você pode obter.

Usando UUIDs em scripts e afins

Se você for instruído a executar um comando como este:

dd if=/dev/sda of=/dev/null 

... você pode substituir /dev/sda por um arquivo em /dev/disk/by-uuid/ para fazer referência ao disco por UUID em vez de sdN .

Execute estes comandos para obter os UUIDs (e sdN notation) das unidades em seu sistema:

for disk in /dev/disk/by-uuid/*; do
    readlink -e "$disk"
    echo "${disk#/dev/disk/by-uuid/}"
    echo
done
    
por kiri 23.01.2014 / 06:46
1

Torna-se importante porque os números podem e às vezes mudam. Isso acontece normalmente se você alterar a tabela de partições de alguma forma. Por exemplo, você pode ter duas partições: sda1 e sda2, depois você exclui sda1 e faz duas separadas. Normalmente, fdisk não irá alterar o número de sda2, mas algumas outras ferramentas ( gparted i acreditam) irão, então agora seu sda2 se torna sda3, mas ele ainda terá o mesmo UUID.

O UUID é impossível de mudar sem alterar a partição real, e se você fizer isso, não fica claro se você ainda quer montar o recém-criado.

    
por v010dya 23.01.2014 / 06:46
1

Qual é o benefício real de usar um UUID? É mais rápido, mais confiável, mais fácil de lembrar (ha lol não), o que?

Aqui está um exemplo da vida real do porquê você deve usar UUIDs em vez de /dev/XXX ao montar em fstab . (Então, sim, é mais confiável, pois o UUID não mudará quando uma unidade da cadeia estiver fora.)

A outra situação bem conhecida da vida real em que os UUIDs são úteis está na inicialização para identificar o dispositivo que você deseja inicializar no GRUB. Porque sem o UUID, o esquema de numeração do inversor depende da ordem de inicialização do BIOS e a alteração da ordem de inicialização no BIOS pode causar problemas. (Digamos que você estivesse inicializando de uma unidade SATA, depois conectou uma unidade ATA e alterou a ordem de inicialização para inicializar primeiro o ATA. Depois disso, você avança para a unidade ATA (que agora não é inicializável), mas não reverte a unidade. Seu BIOS inicializará a unidade SATA, já que a unidade ATA não é inicializável, mas é totalmente possível que o GRUB não encontre sua unidade se você não estiver usando UUIDs.) Isso está escrito no O manual do GRUB também aqui .

E não é possível alterar um UUID?

Sim, você pode alterar os UUIDs, mas isso não desmente o objetivo do UUID. A finalidade do UUID é ser constante entre as reinicializações e entre as máquinas, independentemente da configuração da máquina ou da conexão da unidade. O objetivo não é dar ao seu disco um nome imutável durante sua vida útil.

Existe uma maneira de identificar uma unidade (especialmente no GRUB) que nunca pode mudar?

Tecnicamente, para algumas das unidades, é possível identificá-las de uma forma que nunca pode ser alterada, pois as unidades têm um nome mundial e / ou um número de série . Normalmente, esses valores não são alteráveis e são exclusivos do inversor. (Tecnicamente, pode ser possível alterar esses valores também.) Você pode ver essas informações sobre sua unidade com, por exemplo, sudo hdparm -I /dev/sda . (Provavelmente, a massa fabricada ou pendrives USB / cartões de memória baratos nem sempre tem essa identificação.)

Mas esses identificadores exclusivos são para o drive e para o SO e, para você, o mais importante é um identificador exclusivo para a partição , para isso é o UUID. E como as partições são mutáveis em uma unidade, é claro que os UUIDs também são mutáveis.

    
por falconer 24.01.2014 / 09:36

Tags