Como montar uma matriz RAID específica sem usar /etc/mdadm.conf

9

É possível montar uma matriz RAID específica usando mdadm e sua funcionalidade de varredura, mas sem a necessidade de um arquivo de configuração?

Antecedentes:
Estou usando um initramfs customizado para configurar meu sistema (dm-crypt e outras coisas). Tudo é feito e configurado dentro do script de inicialização e é assim que eu gostaria de mantê-lo, ou seja, sem nenhum arquivo de configuração adicional.

Meu objetivo:
Dentro do script de inicialização, gostaria de montar um array RAID específico usando apenas a linha de comando. A matriz é identificada por meio de seu UUID, o nome do dispositivo md é fornecido e os membros da matriz devem ser verificados (uma vez que, por exemplo, um dispositivo USB conectado ou um dispositivo com falha pode atrapalhar nomes / dev / sdX). Todos os outros dispositivos e matrizes RAID em potencial devem ser ignorados, pois durante a inicialização apenas esse array é de interesse (carrega o sistema de arquivos raiz).


Completamente lendo a página man do mdadm e realizando vários testes eu descobri isso:

mdadm --assemble --uuid <uuid> /dev/md0


Isso parece estar funcionando, mas esse é o jeito certo de fazer isso?


Da página man:
Se precisamente um dispositivo é listado, mas --scan não é dado, então o mdadm age como se - o scan fosse dado e as informações de identidade fossem extraídas do arquivo de configuração.

    
por maxxim 26.02.2015 / 09:56

1 resposta

11

Se você conhece o array UUID, então mdadm --assemble /dev/md0 --uuid <uuid> (observe a pequena diferença na ordem dos parâmetros) fará o que você deseja: verificar todos os volumes não usados para aqueles que possuem md metadados para o determinado UUID. Outras opções:

  • mdadm --assemble /dev/md0 --name <name> (faz a mesma coisa que --uuid , mas com um nome de matriz em vez de um UUID.)
  • mdadm --assemble /dev/md0 --super-minor <minor id #> (faz o mesmo que --uuid , mas com números de dispositivos menores nos metadados. Recomendado apenas para metadados da versão 0.90.)
  • mdadm --assemble /dev/md0 /dev/disk/by-id/<disk>... (se udev tiver configurado /dev/disk/by-id aliases, o que deve ser estático nas alterações de hardware.)
  • mdadm --assemble --scan sem matrizes listadas no arquivo de configuração (varre todos os volumes não usados para md metadata e monta matrizes RAID com base no que é encontrado. Observe que, se você tiver vários arrays e quiser configurar apenas um deles, ou se sua matriz foi dividida, isso não fará o que você quer.)
por 13.05.2015 / 03:24