O initrd cria apenas o array RAID necessário para root e swap. Execute isso a partir do sistema principal (após o initrd mudar para a raiz real)
$ sudo mdadm --assemble --scan
Estou tentando criar 4 matrizes de disco RAID 0 no meu sistema executando o Centos 7.5 e ter os RAIDs automontados após uma reinicialização. Por algum motivo, apenas um dos RAIDs / dev / md0 é persistente entre as inicializações. Os três RAIDs restantes ( md1, md2, md3 ) desaparecem após a reinicialização.
Eu construo os RAIDs usando:
$ sudo mdadm --create --chunk 4096 --verbose /dev/md0 --level=stripe \
--raid-devices=2 /dev/nvme0n1 /dev/nvme1n1
$ sudo mdadm --create --chunk 4096 --verbose /dev/md1 --level=stripe \
--raid-devices=2 /dev/nvme2n1 /dev/nvme3n1
$ sudo mdadm --create --chunk 4096 --verbose /dev/md2 --level=stripe \
--raid-devices=2 /dev/nvme4n1 /dev/nvme5n1
$ sudo mdadm --create --chunk 4096 --verbose /dev/md3 --level=stripe \
--raid-devices=2 /dev/nvme6n1 /dev/nvme7n1
Depois, atualizo o arquivo /etc/mdadm.conf
usando:
$ mdadm --detail --scan >> /etc/mdadm.conf
Finalmente, depois de montar as unidades em seu diretório apropriado e adicioná-las ao /etc/fstab
I, reconstrua a imagem do initramfs usando dracut
:
$ sudo dracut --force --mdadmconf
Após rodar dracut
, eu reinicio o sistema e /dev/md0
está lá, mas os outros RAIDs não estão, então eu fiz algumas investigações e parece que /etc/mdadm.conf
não está sendo incluído no initramfs, então eu repeti tudo das etapas anteriores, exceto pelo comando dracut
, adicionei manualmente o que parecia estar faltando usando:
$ sudo dracut --force --include /etc/mdadm.conf /etc/mdadm.conf \
--add="mdraid" --mdadmconf'
Depois de executar o comando, vejo que /etc/mdadm.conf
e /usr/sbin/mdadm
estão incluídos no initramfs usando:
$ sudo lsinitrd /boot/initramfs-$(uname -r).img
O que estou perdendo?
Editar 1 Eu adicionei o mdadm --assemble --scan ao /etc/rc.local e tentei executá-lo a partir da linha de comando depois que o sistema foi inicializado, mas os md1, md2 e md3 ainda não foram encontrados. Como antes, o md0 é encontrado na inicialização.
Eu tenho um disco do sistema operacional separado, então não estou inicializando a partir do md0
O initrd cria apenas o array RAID necessário para root e swap. Execute isso a partir do sistema principal (após o initrd mudar para a raiz real)
$ sudo mdadm --assemble --scan
Tags raid mdadm dracut centos software-raid