Como mover um RAID de software Linux para uma nova máquina?

20

Eu tenho uma máquina recém-construída com uma nova instalação do Gentoo Linux e uma matriz de software RAID 5 de outra máquina (4 discos IDE conectados a controladores PCI externos). Mudei com sucesso os controladores para a nova máquina; as unidades são detectadas pelo kernel; e usei mdadm --examine e verifiquei que a única partição RAID é detectada, limpa e até na ordem "correta" (hde1 == unidade 0, hdg1 == unidade 1, etc.).

Não tenho acesso aos arquivos de configuração originais da máquina antiga. Como devo proceder para reativar essa matriz sem perder os dados?

romandas
fonte

Respostas:

20

Você realmente precisa do arquivo mdadm.conf original. Mas, como você não o tem, terá que recriá-lo. Primeiro, antes de fazer qualquer coisa, leia o mdadm através de sua página de manual . Por que perder seus dados para uma situação ou comando que você não sabia?

Dito isto, este conselho é por sua conta e risco. Você pode facilmente perder todos os seus dados com os comandos errados. Antes de executar qualquer coisa, verifique duas vezes as ramificações do comando . Não posso ser responsabilizado pela perda de dados ou outros problemas relacionados a qualquer ação que você execute - verifique tudo de uma vez .

Você pode tentar isso:

mdadm --assemble --scan --verbose /dev/md{number} /dev/{disk1} /dev/{disk2} /dev/{disk3} /dev/{disk4}

Isso deve fornecer algumas informações para você começar a trabalhar, juntamente com o ID. Ele também criará um novo dispositivo de matriz / dev / md {number}, a partir daí você poderá encontrar quaisquer montagens. Não use a --autoopção, a palavreada da página de manual implica que, sob certas circunstâncias, isso pode causar uma substituição das configurações da matriz nas unidades. Provavelmente não é esse o caso, e a página provavelmente precisa ser reescrita para maior clareza, mas por que arriscar?

Se a matriz for montada corretamente e tudo estiver "normal", certifique-se de que seu mdadm.conf seja gravado e armazenado /etc, para que você o tenha no momento da inicialização. Inclua o novo ID da matriz no arquivo para ajudá-lo.

Avery Payne
fonte
+1 - Pronto! Mudei vários conjuntos RAID-1 e RAID-5 entre máquinas Linux. Uma coisa sobre a qual não tenho certeza é onde você está vendo as informações sobre "--auto". Na página de manual em uma máquina CentOS 5.1, estou vendo apenas que "--auto" cria uma entrada (ou entradas) / dev / mdX para a matriz. Não estou vendo nada que possa indicar que ele gravaria nas unidades. (De fato, "--auto = yes" é o padrão no mdadm no CentoS 5.1 se "--auto" não for especificado.) "--Update" pode ser seu amigo se você precisar mover uma matriz para uma diferente Número mdX do original especificado no superbloco.
Evan Anderson
Excelente, posso montar a matriz com sucesso. O único problema persistente é que o RAID não aparece após uma reinicialização; Eu tenho que executar novamente o mdadm -Av / dev / md0. Alguma idéia do porquê?
Romandas
Você recriou o arquivo /etc/mdadm.conf? O sistema procurará neste arquivo no momento da inicialização para encontrar matrizes.
Avery Payne
Eu fiz. O que fez a diferença foi recompilar o kernel com o CONFIG_MD_AUTO. Eu não tinha inicialmente porque pensei que havia uma maneira de o mdadm fazer isso. Eu li em algum lugar que o código do kernel não é tão robusto quanto usar o mdadm para montar automaticamente, mas não consigo encontrar mais nada para fazer backup disso.
romandas 27/06/09
2

Só queria adicionar minha resposta completa para o Debian, pelo menos.

  • Instale o gerenciador de raid via -> sudo apt-get install mdadm
  • Procure os discos antigos de ataque através de -> sudo mdadm --assemble --scan

  • Neste ponto, eu gosto de verificar BLKIDe montar o ataque manualmente para confirmar.

    blkid mount /dev/md0 /mnt

  • Anexe Informações ao mdadm.conf via -> mdadm --detail --scan >> /etc/mdadm/mdadm.conf
  • Atualize initramfs via -> update-initramfs -u

  • Solução de problemas:

Verifique se a saída mdadm --detail --scancorresponde ao seu/etc/mdadm/mdadm.conf

    nano /etc/mdadm/mdadm.conf

    ARRAY /dev/md/0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
  • Exemplo FSTAB

    /dev/md0    /mnt/mdadm   ext4    defaults,nobootwait,nofail     0    2
    

/unix/23879/using-mdadm-examine-to-write-mdadm-conf/52935#52935

/ubuntu/729370/can-i-transfer-my-mdadm-software-raid-to-a-new-system-in-case-of-hardware-failur

Como mover um RAID de software Linux para uma nova máquina?

FreeSoftwareServers
fonte
1
mdadm -Ac partitions -m 0 /dev/md0

Examine todas as partições e dispositivos listados em / proc / partitions e monte / dev / md0 de todos esses dispositivos com um superbloqueio RAID com um número menor de 0.

se o conf foi bem sucedido, você pode adicionar --detail --scan >> /etc/mdadm/mdadm.conf para que ele seja capturado na inicialização

elprup
fonte