RAID de software do Linux: --auto-detect localiza a unidade inteira, não a última partição

1

Meu laptop, executando o Ubuntu Natty, é particionado da seguinte forma:

  • / dev / sda1: 500MB, / boot
  • / dev / sda2: 148 GB, /

sda2 é um software RAID1 com 1 dispositivo. Isso é intencional - periodicamente, reformulo a matriz com unidades externas.

Ao operar normalmente, o array se parece com:

  • / dev / md0, [sda2]

Isso tudo funciona muito bem, exceto que, quando eu inicializo, a matriz é detectada como:

  • / dev / md127, [sda]

i.e. a unidade inteira, não a partição. Eu suponho que isso é porque o formato de metadados 0.90 é armazenado no final, mas ... certamente ele armazena o endereço start ou o dispositivo em algum lugar?

mdadm --examine fornece resultados idênticos para / dev / sda e / dev / sda2; Eu esperaria que ele falhasse em / dev / sda, mas (novamente) eu assumo que isso acontece porque os metadados para sda2 também estão no lugar correto para sda.

Por que o dispositivo de invasão errado é detectado automaticamente? Curto de reparticionar a unidade, existe alguma maneira de impedir que o sda seja detectado como uma matriz RAID?

    
por Ian Howson 22.05.2011 / 23:09

1 resposta

1

Você deve conseguir impedir que /dev/sda seja detectado como um dispositivo de matriz criando apropriadamente DEVICE entradas em /etc/mdadm/mdadm.conf . Especificamente, você pode garantir que uma partição (como /dev/sda2 ) seja usada --- e um dispositivo de unidade inteira (como /dev/sda ) seja ignorado --- especificando um padrão DEVICE como o seguinte:

DEVICE /dev/sd[a-z][1-9]

Você também pode fornecer vários padrões (estilo glob), separados por espaços ou em DEVICE linhas adicionais.

Por fim, certifique-se de comentar / remover qualquer linha em mdadm.conf contendo DEVICE partitions , para que o mdadm não considere o conteúdo de /proc/partitions .

    
por 23.05.2011 / 01:03