Como os md
dispositivos são montados na inicialização no Ubuntu? É /etc/mdadm/mdadm.conf
realmente o fator relevante aqui?
Meu mdadm.conf
som está correto e eu verifiquei isso enquanto estava no ambiente do CD de resgate. Ao executá- mdadm -A --scan
lo, localiza e atribui os nomes dos dispositivos conforme desejado. O mdadm.conf
contém AUTO -all
para remover todo o automatismo da montagem das matrizes.
O que eu preciso fazer é ser capaz de montar automaticamente os md
dispositivos, conforme descrito no mdadm.conf
momento da inicialização ou que, ao montá-lo, honre o super-minor
valor da matriz 0,9 e name
(aparentemente <hostname>:<super-minor>
) para as matrizes 1,2 e faça a coisa certa sem isso mdadm.conf
. Que peça do quebra-cabeça estou perdendo?
Eu tenho o seguinte problema. Existem dois md
dispositivos com RAID1 ( md0
e md1
) e um com RAID6 ( md2
). Estou me referindo a eles pelos nomes de dispositivos desejados . md0
possui meta-dados versão 0.9, os outros dois têm versão 1.2. md0
mapas para /
e os outros dois não são relevantes para a inicialização .
A unidade de inicialização é particionada por GPT. Há uma cola "Partição de inicialização do BIOS" ( sda1
) nela. grub-install --no-floppy /dev/sda
relata sucesso.
md0 == sda3 + sdb3
md1 == sda2 + sdb2
md2 == sdc + sdd + sde + sdf + sdg + sdh
sda1
esdb1
são "partição de inicialização do BIOS" cada
GRUB2 está feliz com o /boot/grub/devicemap
que eu dei e eu adicionei part_gpt
, raid
, mdraid09
e ext2
para os módulos pré-carga em GRUB2.
Como ainda tinha meu volume raiz no ambiente de resgate, simplesmente montei tudo e depois chroot
editei:
mkdir /target
mount /dev/md0 /target
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts
mount -o bind /sys /target/sys
mount -o bind /proc /target/proc
chroot /target /bin/bash
A partir daí, redefino o super-minor
on md0
(com meta-dados 0.9) e name
on md1
e md2
. Eu também verifiquei que funcionava usando mdadm --detail ...
. Fora isso eu ajustei /etc/default/grub
, corro update-grub
e também grub-install --no-floppy /dev/sda
e grub-install --no-floppy /dev/sdb
.
Depois disso, ao inicializar, sempre sou colocado no initramfs
shell de resgate, porque o sistema de arquivos raiz não pode ser montado. O motivo, após a verificação, /proc/mdstat
parece ser que o respectivo md
dispositivo nem mesmo é montado e executado. Sem mencionar que as outras duas unidades (meta-data versão 1.2) recebem um número de dispositivo em algum lugar na faixa 125..127.
Nota: O GRUB2 sai do disco de inicialização. Portanto, pelo menos, foi incorporado corretamente. O problema é a transição do rootfs
sistema de arquivos raiz inicial para o adequado.
/etc/fstab
. A instalação não depende dos nomes, eu ainda gostaria que eles fossem assim;) #
Not to mention that the other two (meta-data version 1.2) drives receive a device number somewhere in the 125..127 range
. Eu não sei o suficiente sobre como o ubuntu monta volumes raid para responder a um problema maior.
/dev/mdX
exatamente por esse motivo. Use em/dev/md/NAME
vez disso. Isso nunca vai mudar.