Como converter LV ou MD RAID1 e 0 para RAID5 sem perda de dados

Neste tutorial explicarei como converter de RAID 0 ou 1 para RAID 5. Como converter um software Linux mdadm ou LVM RAID1 (0) para RAID5 enquanto preserva todos os dados armazenados.

Como converter LV ou MD RAID1 e 0  para RAID5 sem perda de dados

RAID O arrays são notados pela sua alta velocidade de acesso aos dados e são apenas utilizados para o aumento significativo da velocidade de leitura/escrita dos dados. Mas a sua fiabilidade e tolerância a falhas deixam muito a desejar. Porque, em caso de falha de pelo menos uma unidade, toda a informação armazenada não estará disponível. Restaurá-lo é um trabalho extremamente difícil, e os dados que podem ser obtidos são garantidamente danificados. Este tipo dificilmente pode ser considerado uma matriz, uma vez que não há redundância.

Vá para ver
🐧 Cómo convertir LV o MD RAID1 y 0 a RAID5 sin perder datos 🐧

🐧 Cómo convertir LV o MD RAID1 y 0 a RAID5 sin perder datos 🐧

O tipo RAID1 é notado pela sua fiabilidade e tolerância a falhas porque todos os dados são espelhados, criando um completo “espelho” na segunda unidade. Mas a velocidade de leitura/escrita sofre e não pode corresponder à velocidade de trabalho como no tipo “zero” tipo.

Se tiver uma unidade adicional, o tipo “primeiro” pode ser estendido até ao nível “quinto”. Isto, por sua vez, proporcionará bónus de fiabilidade adicionais em comparação com o nível “zero”, bem como aumentará significativamente a velocidade de leitura/escrita em comparação com o tipo “first”. O resultado é um conjunto RAID 5 razoavelmente fiável, tolerante a falhas e rápido.

Como transformar RAID1 (espelho) em RAID5 (paridade)

Então, temos um software md_RAID1 criado num sistema operativo Linux. Este conjunto é composto por dois discos.

Temos de o converter para RAID5 e adicionar mais um disco, ao mesmo tempo que precisamos da informação sobre ele para ficar onde está. Existem vários ficheiros na unidade: fotografias, vídeos, documentos, etc.

Arquivos, armazenados em RAID

É recomendado fazer uma cópia de segurança antes de iniciar a operação de conversão, uma vez que informações importantes podem ser perdidas no processo de execução incorrecta de comandos.

Abrir um terminal, para executar os comandos como raiz, executar o comando:

sudo -i

introduzir a palavra-passe.

Obtenção de direitos de raiz

Próximo, se a matriz estiver montada tem de a desmontar, introduzindo o seguinte comando:

umount /dev/md0

ou

umount /mnt

Desmontagem da unidade

Se o sistema disser que o alvo está ocupado, tente forçá-lo:

umount -f /dev/md0

Desmontagem forçada no Linux

Próximo, para parar o RAID1, executar o seguinte comando:

mdadm --stop /dev/md0

(md0 ou outro nome para ver o caminho)

where md0 - é o identificador do nosso RAID.

Parar a matriz

Se descarregar deste Raid, é claro que não poderá parar e será necessário usar algum LiveCD.

Próximo, é necessário substituir os metadados do antigo RAID1 criando um RAID5 sobre ele usando os mesmos discos que faziam parte do RAID1, sdb e sdc e introduzir o seguinte comando:

mdadm --create /dev/md0 -a sim -l 5 -n 2 /dev/sdb1 /dev/sdc1

onde l5 - definir o nível da matriz,

n2 - número de discos que o compõem e depois especificar esses discos.

Após executar o comando, o programa irá avisá-lo que estas unidades já estão em uso em RAID1, pressione Enter para continuar.

Para verificar se a conversão foi bem sucedida, introduza o comando:

cat /proc/mdstat

Processo de reconstrução

Agora temos de esperar que a reconstrução do RAID5 esteja concluída, as percentagens mostram o seu estado.

Em conclusão, o comando cat /proc/mdstat irá mostrar os seguintes dados.

Reconstruída com um novo nível

Pode então adicionar o novo disco ao array e torná-lo um array RAID5 completo. O novo disco será adicionado como um disco de reserva. Para o adicionar, introduza o seguinte comando:

mdadm --add /dev/md0 /dev/sdd1

Adicionar uma terceira unidade

Então, é necessário estender o Raid até três unidades activas usando a unidade de reserva com este comando:

mdadm --grow /dev/md0 --raid-disks=3

Vejamos o que temos com o comando:

cat /proc/mdstat

Extensão do Raid até três unidades

Agora no Raid estão envolvidos 3 discos sdb, sdc, sdd e iniciou-se o processo de mudança (reshap).

A percentagem mostra o seu progresso, à espera do fim.

Finalmente, verifique se existem erros na matriz de discos com o seguinte comando:

e2fsck -f /dev/md0

e expande-o com o seguinte comando:

resize2fs -p /dev/md0

Verificação de erros

Finalmente, actualize o ficheiro de configuração executando o seguinte comando:

mdadm --examine --scan >> /etc/mdadm.conf

Actualização do ficheiro de configuração

Se não houver falhas no processo de execução destes comandos, todos os dados que estavam no RAID 1 serão migrados para o novo conjunto RAID 5.

Monte o disco e verifique que todos os ficheiros permanecem intactos e que o nível da matriz foi alterado para o nível cinco.

Todos os ficheiros permanecem intactos

Como mudar RAID 0 para RAID5 (parity)

Não há forma de converter de RAID0 para RAID5 sem formatação e sem perda de dados. Mas em vez disso há uma forma rápida de conversão usando um único comando.

Migrar de RAID0 para RAID5 só é possível quando se utilizam dois discos onde o RAID0 se sobrepõe convenientemente ao RAID5. Isto irá simplesmente alterar o nível RAID sem afectar a informação nos discos.

Este comando converte RAID 0 com duas unidades para RAID 5 com três unidades.

mdadm --grow /dev/md0 --level=5 --raid-devices=3 --add /dev/sdd --backup-file=/tmp/grow_md0.bak

Você deve desmontar a unidade antes de fazer isto.

Verifiquemos com o comando:

cat /proc/mdstat

À espera que termine reshap-а

Convertido para RAID-5 pode adicionar mais discos à matriz como mencionei acima:

mdadm --add /dev/md0 /dev/sdc1

Adicionando unidades a um Raid

Após reiniciar em Gestão de Disco, o seu nome mudará para RAID5.

Se existem mais de duas unidades em RAID 0, é necessário primeiro reduzir o número de unidades antes de convertê-lo para RAID5.

Convertendo LVRAID1 a LVRAID5

Se tiver usado a funcionalidade LVM para criar uma matriz RAID, neste caso pode converter um tipo para outro usando o comando:

lvconvert

Deixe correr um comando

pvdisplay

para ver informação sobre um grupo de discos.

View information about the drives included in the RAID

Para mais detalhes sobre como criar um RAID MD e LV, por favor veja um dos vídeos acima.

Vá para ver
🐧 Cómo recuperar datos borrados de partición de disco LVM en Linux 🐧

🐧 Cómo recuperar datos borrados de partición de disco LVM en Linux 🐧

Então, para iniciar a conversão, precisamos de desmontar o volume lógico. Introduza o comando:

umount /dev/vg1/lv1

Para converter o nível RAID, introduza o seguinte comando:

lvconvert --type raid5 /dev/vg1/lv1

Agora resta adicionar uma terceira unidade ao grupo de unidades existente, com o comando:

vgextend vg1 /dev/sdd1

Na execução, o programa avisá-lo-á de que a unidade já foi particionada, digite yes para confirmar e prima enter.

Para ver se a unidade foi adicionada ao grupo, execute o comando:

pvdisplay

Como pode ver, há 3 discos envolvidos no grupo.

Acrescentar uma nova unidade ao grupo

Remontamos a nossa unidade e abrimo-la no gestor de ficheiros, pois pode ver todos os dados que restam onde deveriam estar beе.

Toda a informação foi guardada

Como converter LVRAID0 em LVRAID5

O mesmo comando é usado para converter RAID 0 para RAID 5. A única coisa é adicionar um terceiro disco ao grupo antes de realizar a conversão, caso contrário o sistema informará que não tem espaço suficiente para realizar este comando.

Adicionamos um terceiro disco:

vgextend vg1 /dev/sdd1

E para converter o nível RAID, introduza o seguinte comando:

lvconvert --type raid5 /dev/vg1/lv1

Montamos a nossa matriz e vemos o que resta nela. Como se pode ver, todos os ficheiros estão no seu lugar.

Toda a informação permanece inalterada

Como recuperar dados de arrays RAID danificados

Se ocorrer uma falha durante a conversão de um nível RAID para outro, ou se a informação for acidentalmente sobrescrita, utilizar software de recuperação de dados - Hetman RAID Recovery. O utilitário lê toda a informação do sistema sobre o controlador, a placa mãe ou o software em que a matriz de discos foi criada.

Recuperação de dados de matrizes RAID corrompidas inacessíveis para um computador.
O programa detectou a matriz sem problemas

Reconstruirá o RAID danificado e permitirá a cópia da informação perdida a partir dele.

O programa encontrou todos os dados apagados e pode ser restaurado

Pode ler mais detalhes sobre a recuperação RAID MD LV num dos vídeos acima, deixo a ligação na descrição.

Vá para ver
🐧 Cómo restaurar el software RAID 0, 1, 5 la matriz en Linux (mdadm) 🐧

🐧 Cómo restaurar el software RAID 0, 1, 5 la matriz en Linux (mdadm) 🐧

Conclusão

A comutação de um tipo RAID para outro é feita em poucas etapas. Primeiro converta a matriz para um tipo RAID intermédio e depois volte ao tipo que pretende. Por exemplo, para converter de "primeiro" digite para "sexto" primeiro convertê-lo-ia para "quinto" nível e só depois disso pode convertê-lo para sexto" nível.

Raidel Becerra

Autor: , Escritor técnico

Raidel Arbelay Becerra é um escritor técnico para a Hetman Software e a voz e rosto do Hetman Software: Canal YouTube de recuperação de dados. Escreve artigos aprofundados, tutoriais e resenhas sobre como funciona o software da empresa com todos os tipos de dispositivos de armazenamento.

Mykhailo Miroshnichenko

Editor: , Escritor técnico

Mykhailo Miroshnychenko é um dos principais programadores da Hetman Software. Com base em quinze anos de experiência em desenvolvimento de software, partilha os seus conhecimentos com os leitores do nosso blogue. Para além da programação, Mikhail é um especialista em recuperação de dados, sistemas de ficheiros, dispositivos de armazenamento e matrizes RAID.

Recomendado para você

Bem-vindo ao assistente com tecnologia de IA da Hetman Software.
Iniciar bate-papo