Usando UUID com mdadm

8

Estou usando o GPT como meu esquema de particionamento. Eu verifico o UUID das minhas partições:

# ls -l /dev/disk/by-partuuid/
total 0
lrwxrwxrwx 1 root root 10 Oct 18 22:39 0793009a-d460-4f3d-83f6-8103f8ba24e2 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 13f83c47-ad62-4932-8d52-e93626166e7f -> ../../sdc3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 1b247b1f-0b7b-419e-bc3b-0f90cbadb87c -> ../../sdc2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 224d5933-7a23-4833-b785-79a67c9b9306 -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 18 22:39 2ff625b2-b96b-4ce5-b752-57cdf7092258 -> ../../sda3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 449956f9-7289-49ed-9a37-ed6be9264d1c -> ../../sdb1
lrwxrwxrwx 1 root root 10 Oct 18 22:39 a2a95e45-7e4c-4b20-a2bd-66d96e737590 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 a8c07f74-9d6d-4f45-9453-dd2e6998f100 -> ../../sda2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 c2c9e94c-9c73-4d6e-a4ec-2229f56152e8 -> ../../sdc1

Adicione /dev/sdc2 usando seu UUID:

# mdadm /dev/md0 --add /dev/disk/by-partuuid/1b247b1f-0b7b-419e-bc3b-0f90cbadb87c
mdadm: added /dev/disk/by-partuuid/1b247b1f-0b7b-419e-bc3b-0f90cbadb87c

Mas quando eu olho para os detalhes do array RAID, ele reporta /dev/sdc2 ao invés do UUID.

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Thu Oct 18 21:52:43 2012
     Raid Level : raid1
     Array Size : 1048564 (1024.16 MiB 1073.73 MB)
  Used Dev Size : 1048564 (1024.16 MiB 1073.73 MB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Oct 19 15:57:19 2012
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : cow:0  (local to host cow)
           UUID : 9e691db1:f8fcc7d8:f56d9c11:1c202693
         Events : 47

    Number   Major   Minor   RaidDevice State
       2       8       34        0      active sync   /dev/sdc2
       1       8       18        1      active sync   /dev/sdb2
  1. É impossível construir um array RAID usando o UUID?
  2. Ou ele está usando o UUID, mas informa o nome normal para aumentar a legibilidade? Nesse caso, como posso saber?
  3. Eu gostaria de usar o UUID para que eu possa mover os discos livremente na máquina sem quebrar nada. Não parece uma boa ideia?
por Deleted 19.10.2012 / 16:08

1 resposta

10

O mdraid sempre permite mover discos livremente pela máquina, independentemente de como você adiciona o disco à matriz. Ele rastreia os discos pelos metadados RAID (superblocos) armazenados no disco.

Observe que isso pressupõe que o mdadm possa localizar os discos quando estiver montando as matrizes. O padrão (especificado em /etc/mdadm/mdadm.conf ) é normalmente DEVICE partitions , o que significa ver todas as partições (em todos os discos) verificando superblocos RAID. Ele verifica a correspondência entre o nome da matriz ou o UUID (dependendo do que você diz para fazer nesse arquivo de configuração), observe como ambos estão na sua saída --detail .

Exemplo:

DEVICE partitions
:
ARRAY /dev/md0 metadata=1.2 UUID=9e691db1:f8fcc7d8:f56d9c11:1c202693

Quando solicitado a montar /dev/md0 , o mdadm fará a varredura de todas as partições no sistema procurando 1.2 superblocos com o UUID 9e691db1: f8fcc7d8: f56d9c11: 1c202693. Ele vai ler o número do dispositivo, etc. de cada um, e usar essa informação para montar o array.

Você só alteraria a linha DEVICE se a verificação de todas as partições fosse cara. Por exemplo, se você tiver centenas deles, pela rede. Então você poderia listar os dispositivos relevantes lá, no entanto você gostaria (por UUID deve funcionar bem).

    
por 19.10.2012 / 18:17

Tags