Com o linux softraid, você pode criar um array RAID 10 com apenas dois discos.
Nomes dos dispositivos usados abaixo:
-
md0
é a matriz antiga do tipo / nível RAID1. -
md1
é a nova matriz do tipo / nível RAID10. -
sda1
esdb2
são novo , partições vazias (sem dados). -
sda2
esdc1
são partições antigas (com dados cruciais).
Substitua os nomes para caber no seu caso de uso. Use, e. lsblk
para ver seu layout atual.
0) Backup, backup, backup, backup e backup
1) Crie o novo array (4 dispositivos: 2 existentes, 2 ausentes):
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Observe que, neste exemplo, o layout sda1
tem uma contraparte ausente e sdb2
tem outra contraparte ausente. Seus dados em md1
não são seguros neste momento (efetivamente, é RAID0 até você adicionar membros ausentes).
Para visualizar o layout e outros detalhes do uso da matriz criada:
mdadm -D /dev/md1
Nota! Você deve salvar o layout da matriz:
# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u
2) Formatar e montar. O /dev/md1
deve ser imediatamente utilizável, mas precisa ser formatado e montado.
3) Copie os arquivos. Use, e. rsync para copiar dados do antigo RAID 1 para o novo RAID 10. (este é apenas um exemplo de comando, leia as man pages do rsync)
rsync -arHx / /where/ever/you/mounted/the/RAID10
4) Falha na primeira parte do antigo RAID1 (md0) e adicioná-lo ao novo RAID10 (md1)
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
Nota! Isso eliminará os dados de sda2
. O md0
ainda deve ser utilizável, mas apenas se o outro membro do raide estiver totalmente operacional.
Observe também que isso iniciará os processos de sincronização / recuperação em md1
. Para verificar o status, use um dos comandos abaixo:
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
Aguarde até a recuperação terminar.
5) Instale o GRUB no novo Array (Supondo que você esteja inicializando nele). Algum CD de boot / boot do Linux funciona melhor.
6) Inicialize em uma nova matriz. SE FUNCIONAR CORRECTAMENTE Destrua o array antigo e adicione o disco restante ao novo array.
PONTO DE NÃO RETORNO
Neste ponto, você destruirá os dados no último membro da matriz md0 antiga. Esteja absolutamente certo de que tudo está funcionando.
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
E novamente - aguarde até que a recuperação em md1
seja concluída.
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
7) Atualizar configuração do mdadm
Lembre-se de atualizar /etc/mdadm/mdadm.conf
(remover md0).
E salve a configuração no initramfs (para estar disponível após a reinicialização)
update-initramfs -u