Como recuperar dados de arrays RAID 0, RAID 5 e RAID 6 gerenciados pelo mdadm e criados no OpenMediaVault

Neste artigo examinaremos o processo de recuperação de dados de arrays mdadm RAID 0, 5 e 6 criados no sistema operativo OpenMediaVault 8.2.8. Analisaremos os cenários de perda de dados mais comuns: eliminação acidental de ficheiros através dos protocolos de rede SMB, NFS ou FTP, corrupção de dados devido à falha de uma ou mais unidades, falha de hardware do servidor ou do NAS, bem como falhas de software do sistema operativo OpenMediaVault causadas por atualizações ou bugs críticos.

Como recuperar dados de arrays RAID 0, RAID 5 e RAID 6 gerenciados pelo mdadm e criados no OpenMediaVault

OpenMediaVault é um sistema operativo popular para construir servidores NAS domésticos e empresariais baseados em Linux. Para fornecer tolerância a falhas e melhorar o desempenho, utiliza RAID por software implementado através da utilidade mdadm. Na maioria dos casos os utilizadores criam arrays RAID 0, RAID 5 e RAID 6, que permitem combinar várias unidades num único pool de armazenamento e proteger dados contra falhas de disco.

No entanto, mesmo arrays RAID fiáveis não estão imunes à perda de dados. A falha de uma ou mais unidades, avaria do controlador, corrupção do sistema de ficheiros, erros durante a reconfiguração do array ou eliminação acidental de informação podem levar à perda de acesso a ficheiros importantes.

Neste artigo descreveremos como recuperar dados de arrays de software mdadm RAID 0, RAID 5 e RAID 6 criados no OpenMediaVault. Irá conhecer as causas típicas de perda de dados, como ligar corretamente as unidades a um computador e utilizar software especializado para restaurar a estrutura do array e recuperar a informação perdida.

Vá para ver
Data Recovery from RAID 0, 5, and 6 Created on Infortrend ESDS 1012 RC

Data Recovery from RAID 0, 5, and 6 Created on Infortrend ESDS 1012 RC

Capacidades do OpenMediaVault

OpenMediaVault é um sistema operativo de código aberto concebido especificamente para construir armazenamento ligado à rede (NAS). Baseia-se no Debian Linux e destina-se a utilizadores domésticos e pequenas empresas que necessitam de uma solução de armazenamento de ficheiros em rede simples, fiável e flexível. O sistema é gerido através de uma interface web conveniente, pelo que não é necessário um conhecimento profundo de Linux ou experiência em linha de comandos para a configuração.

OpenMediaVault: interface web

A principal vantagem deste sistema operativo é a gestão de espaço em disco potente e flexível. O OpenMediaVault inclui suporte integrado para gestão de RAID por software através da utilidade mdadm, que permite criar configurações tolerantes a falhas ou de alto desempenho, tais como RAID 0, 1, 5 e 6. Mecanismos integrados de monitorização S.M.A.R.T. fornecem vigilância contínua da integridade física das unidades, alertando antecipadamente para potenciais problemas de hardware.

A característica principal dos arrays por software baseados em mdadm é a sua elevada portabilidade e completa independência do hardware. Uma vez que a arquitectura RAID — em particular os níveis 0, 5 ou 6 — é implementada inteiramente pelo software do sistema operativo, tais arrays não estão rigidamente ligados a um controlador RAID específico ou à placa-mãe do seu dispositivo NAS.

Característica OpenMediaVault
Tipo de sistema Sistema operativo de código aberto para NAS
Plataforma de base Debian Linux
Licença Código aberto (GPLv3)
Arquiteturas de CPU x86, x86-64, ARM
Administração Interface Web
Sistemas de ficheiros suportados EXT2, EXT3, EXT4, XFS, JFS, Btrfs, ZFS (através de plugin)
Suporte RAID JBOD, RAID 0, RAID 1, RAID 5, RAID 6, RAID 10
Tipo de RAID RAID por software baseado em mdadm
Protocolos de rede SMB/CIFS, NFS, FTP, SFTP, SSH, Rsync, WebDAV
Suporte para Docker Sim
Virtualização Através de plugins e contentores Docker
Gestão de utilizadores e grupos Suportada
Controlo de acesso ACL e permissões POSIX
Monitorização dos discos Testes S.M.A.R.T.
Notificações Notificações por e-mail
Suporte para UPS Sim
Funcionalidades de cópia de segurança Rsync, Time Machine e plugins de backup
Suporte para plugins Sim, através do OMV-Extras
Encriptação de discos LUKS
Suporte TRIM para SSD Sim
Administração remota Através da interface Web e SSH
Requisitos mínimos de RAM Mínimo de 1 GB (recomendam-se 2 GB ou mais)
Dispositivos de armazenamento suportados HDD, SSD, NVMe e unidades USB

PASSO 1. Número de discos necessários para a recuperação

Antes de iniciar a recuperação, é importante compreender quantas unidades do array devem estar presentes e em funcionamento.

  • RAID 0 requer pelo menos duas unidades e é o único nível discutido que não fornece redundância. Os dados são escritos em blocos sequenciais por todas as unidades do array, proporcionando alto desempenho de leitura e escrita. No entanto, a desvantagem desta arquitetura é a completa ausência de proteção: a falha de qualquer unidade torna imediatamente o array ilegível e todos os dados inacessíveis.
  • RAID 5 é uma solução mais protegida e requer pelo menos três unidades. Além dos próprios dados, o sistema escreve blocos de paridade que são distribuídos uniformemente por todas as unidades do array. Em caso de falha de uma única unidade, estas verificações de paridade são usadas para reconstruir matematicamente a informação perdida com base nos dados das restantes unidades em bom estado. Assim, o array permanece totalmente operativo até que a unidade avariada seja substituída.
  • RAID 6 é o nível mais resiliente discutido e requer pelo menos quatro unidades. Ao contrário do RAID 5, aqui são calculados e armazenados dois conjuntos independentes de somas de verificação, permitindo ao array tolerar a falha simultânea de duas unidades sem perder o acesso aos dados. Esta característica torna o RAID 6 uma escolha ótima para ambientes onde a fiabilidade do armazenamento é uma prioridade.
Comparação entre RAID 0, RAID 5 e RAID 6

PASSO 2. Ligação dos discos ao computador

As unidades podem ser ligadas a um computador de várias formas, dependendo do hardware disponível.

A opção mais simples e fiável é ligar via SATA diretamente à placa-mãe. Isto proporciona a máxima velocidade de transferência de dados e latência mínima durante operações de leitura.

Se não houver portas SATA suficientes na placa-mãe, pode ser utilizado um adaptador PCIe-SATA para ligar quatro ou mais unidades simultaneamente.

Para ligação rápida sem abrir a caixa, estações de encaixe externas USB ou adaptadores SATA-USB são convenientes. No entanto, esta opção tem velocidades de transferência de dados mais baixas, o que pode ser notório ao trabalhar com volumes grandes de dados.

Discos removidos do servidor

PASSO 3. Trabalhar com imagens de disco

Deve ser dada atenção especial ao trabalho com imagens de disco. Esta abordagem é particularmente relevante quando as unidades estão fisicamente danificadas ou existe risco de degradação adicional.

Em situações em que tecnicamente não é possível ligar todas as unidades necessárias para a recuperação a um computador ao mesmo tempo, por exemplo devido à falta de portas livres, pode ser utilizada a metodologia de criação das suas imagens.

Pode ligar as unidades ao sistema uma a uma, criar imagens a partir delas e depois carregar todos os ficheiros resultantes na aplicação Hetman RAID Recovery. A utilidade trabalhará com as imagens montadas exatamente como com discos físicos reais, permitindo reconstruir totalmente um array virtual e extrair os dados necessários.

Recuperação de dados de matrizes RAID corrompidas inacessíveis para um computador.

Para criar uma imagem, inicie a aplicação, selecione o disco desejado na lista e clique em Salvar disco. Na caixa de diálogo que surge, especifique o destino do ficheiro.

Hetman RAID Recovery: criação de imagem de disco

Note que o tamanho da imagem será igual à capacidade total do disco de origem, independentemente da quantidade de dados que contenha. Portanto, assegure antecipadamente que o armazenamento de destino tem espaço livre suficiente.

Uma vez que a imagem esteja guardada, vá ao menu principal e selecione Montar disco. Na lista de tipos escolha Imagens de disco brutas e carregue o ficheiro.

Hetman RAID Recovery: montagem de uma imagem de disco na aplicação

Irá aparecer na lista de dispositivos em paralelo com as unidades fisicamente ligadas.

Se existirem várias unidades problemáticas, repita este procedimento para cada uma delas.

Depois de todos os componentes do array estarem presentes no sistema, seja fisicamente ou como imagens, o programa irá detetar automaticamente a configuração RAID e exibirá a sua estrutura pronta para análise e recuperação.

Hetman RAID Recovery: imagem de disco montada exibida na aplicação

PASSO 4. Detecção automática de RAID

Consideremos um algoritmo de ação para os cenários de perda de dados mais comuns. Começaremos pelas falhas de hardware — paragem completa do hardware do servidor, falha de componentes internos ou danos em unidades individuais do array. Estas situações são as que com maior frequência fazem com que o sistema operativo deixe de ver o array e resultam na perda total do acesso aos dados.

Esta categoria inclui também falhas críticas do próprio OpenMediaVault — situações em que o sistema não arranca ou funciona incorretamente após uma atualização ou erro de sistema. Nestas circunstâncias, a única forma de aceder às unidades é ligá-las a outro computador, contornando o ambiente danificado.

Um grupo separado é o dos erros do utilizador. O mais típico é a eliminação acidental de ficheiros com Shift + Delete, que remove os dados permanentemente sem os enviar para a Lixeira. Embora tal perda pareça irreversível, na maioria dos casos a informação pode ser recuperada com software especializado porque os dados permanecem fisicamente no disco até serem sobrescritos por novos ficheiros.

Para abordar estes problemas utilizaremos o Hetman RAID Recovery — software especializado concebido para reconstrução automática e manual de arrays danificados e extração segura de ficheiros.

Recuperação de dados de matrizes RAID corrompidas inacessíveis para um computador.

A principal vantagem desta ferramenta é que permite a recuperação bem-sucedida mesmo na ausência completa do servidor NAS original ou da placa-mãe onde o array foi criado.

A utilidade é multiplataforma e totalmente funcional em ambientes Linux e macOS. Neste vídeo iremos realizar a operação de recuperação utilizando o sistema operativo Windows 11.

Passaremos a uma demonstração prática de recuperação após falha de hardware do servidor, usando como exemplo um array RAID 5 composto por três discos. Para RAID 0 e RAID 6 o procedimento é totalmente idêntico, por isso os passos descritos são universais para todas as configurações suportadas.

Após ligar fisicamente as unidades removidas a um computador com Windows 11, abra primeiro a utilidade do sistema Gestão de Discos. Verifique se todas as unidades são detetadas pelo sistema a nível de hardware.

Criticamente importante: se o Windows oferecer inicializar ou formatar estas unidades — recuse esta ação. Qualquer inicialização irá sobrescrever metadados e causar danos irreversíveis à estrutura do seu array.

O Windows solicita inicializar o disco

Após a reconstrução automática ser concluída, o programa irá exibir o array no ecrã principal indicando o tipo, o tamanho total e o sistema de ficheiros.

Hetman RAID Recovery: array exibindo tipo, tamanho total e sistema de ficheiros

Para iniciar a procura de dados, selecione qualquer disco deste array e execute o modo Verificação rápida. O programa irá analisar metadados e diretórios do sistema de ficheiros, detetar itens apagados e avaliar o seu estado.

Hetman RAID Recovery: seleção do tipo de verificação do disco

Após a conclusão, o ecrã irá mostrar todo o conteúdo do array disponível para recuperação, e a função de pré-visualização permitirá verificar a integridade dos ficheiros encontrados. Para concluir o processo, selecione os ficheiros necessários e clique em Recuperar no menu principal.

Hetman RAID Recovery: iniciar salvamento dos ficheiros recuperados

Especifique o destino num outro disco saudável e confirme a ação. O programa preservará a estrutura de pastas original e os atributos dos ficheiros. Após a cópia ser concluída clique em Concluir — os dados recuperados estarão disponíveis para uso posterior.

Hetman RAID Recovery: definir caminho para salvar ficheiros recuperados

Se o programa não conseguir reconhecer automaticamente o array ou o resultado da Verificação rápida for insuficiente, utilize a Verificação completa, que executa uma análise mais profunda com a possibilidade de especificar manualmente os sistemas de ficheiros usados no array.

PASSO 5. Construção manual do RAID

Falhas durante a expansão do array, eliminação da configuração ou inicialização acidental das unidades ao instalar um novo sistema operativo geralmente resultam em danos críticos nos superblocos. Uma vez que os metadados de serviço são apagados, a deteção automática da estrutura de armazenamento torna-se impossível. Em tais casos complexos é necessário utilizar o módulo RAID Constructor integrado no Hetman RAID Recovery.

Recuperação de dados de matrizes RAID corrompidas inacessíveis para um computador.

Esta ferramenta permite recriar manualmente a geometria exata do array. Pode especificar independentemente parâmetros chave: ordem correta dos discos, tamanho do stripe, offset de início dos dados e tipo de algoritmo de paridade. Ao construir o array manualmente, o programa ignora informação de serviço danificada e monta virtualmente o volume lógico diretamente a partir dos remanescentes do sistema de ficheiros, permitindo a extração bem-sucedida de dados mesmo após sobregravação parcial.

Consideremos um exemplo prático de recuperação de um array RAID 6 de quatro discos onde duas unidades falharam simultaneamente ou o array foi formatado acidentalmente. O RAID 6 foi especificamente concebido para tais situações — a dupla paridade permite a recuperação mesmo quando duas unidades se perdem simultaneamente. Contudo, o êxito da recuperação depende diretamente da precisão na reprodução da configuração original do array, porque nestes casos o programa pode não conseguir detetar automaticamente a estrutura.

Diagrama de funcionamento do RAID6

Para a reconstrução nesta situação, utilize o RAID Constructor em modo manual, onde deverá especificar a ordem dos discos, o tamanho do stripe e os parâmetros de paridade.

Hetman RAID Recovery: RAID Constructor

Para RAID 5 a sequência de trabalho com o RAID Constructor é semelhante, mas tolera a perda de apenas um disco. No caso de RAID 0, a recuperação após a perda de qualquer disco por métodos de software é impossível porque este nível não contém redundância.

Para operar em modo manual, o RAID Constructor exige conhecimento prévio dos parâmetros básicos do array. No nosso exemplo são usados os seguintes valores:

  • tipo de layout de stripe – Left Synchronous P+Q,
  • tamanho do stripe – 512 KB,
  • tamanho do sector – 512 bytes.
Hetman RAID Recovery: configuração dos parâmetros do array no RAID Constructor

Estes parâmetros são específicos de cada configuração e podem diferir dependendo das definições usadas quando o array foi criado no OpenMediaVault. Se os valores exatos forem desconhecidos, podem ser determinados por tentativa diretamente dentro do programa; o RAID Constructor permite iterar opções e avaliar resultados antes de lançar uma verificação completa.

Na janela do constructor mova os discos necessários do painel Discos disponíveis para a lista Discos selecionados. É essencial preservar estritamente a sua ordem física original, caso contrário o array lógico será montado incorretamente e a recuperação de ficheiros será impossível.

Hetman RAID Recovery: definição das unidades do array no RAID Constructor

Se um disco específico estiver fisicamente ausente ou ilegível, utilize a função Adicionar disco vazio. O disco vazio virtual criado deve ser colocado exatamente no local onde a unidade em falta estava localizada. Isto permite que os algoritmos do programa calculem corretamente os fragmentos de dados em falta a partir dos meios restantes em funcionamento.

Em algumas configurações de array, os dados reais do sistema de ficheiros não começam no início do disco, mas com um offset — um número determinado de bytes ocupado por uma área de serviço. Se esta informação estiver danificada ou ausente, o programa não consegue determinar automaticamente onde o sistema de ficheiros começa e exige a introdução manual deste valor.

O parâmetro chama-se Offset e indica a posição exata de início dos dados no disco. Se for introduzido incorretamente ou deixado em branco, o programa ou não detetará o sistema de ficheiros de todo, ou exibirá uma estrutura de diretórios incorreta com ficheiros em falta.

No nosso exemplo, o valor do Offset é 135 266 304 bytes — este número deve ser introduzido manualmente para cada disco físico durante a reconstrução do array no RAID Constructor.

Hetman RAID Recovery: definir o offset do array no RAID Constructor

Se alguns parâmetros do array forem desconhecidos, podem ser determinados por tentativa diretamente no programa. A janela de pré-visualização é o guia: valores selecionados corretamente resultarão numa partição com um sistema de ficheiros detetado e numa estrutura de diretórios legível. Esta é a principal indicação de que a lógica do array foi reproduzida corretamente.

Para simplificar este processo o programa fornece a função Detectar automaticamente. Esta itera automaticamente combinações possíveis de parâmetros — ordem dos discos, tamanho do stripe e offset — e determina a configuração mais provável.

Hetman RAID Recovery: apresentação do conteúdo do array no RAID Constructor

Este modo é imprescindível quando toda a informação técnica sobre o array se perdeu completamente. A varredura e verificação de milhões de combinações normalmente demora significativamente mais do que a introdução manual simples dos parâmetros.

A duração total desta operação depende diretamente das capacidades dos discos e do desempenho do seu PC. No entanto, a espera é completamente justificada pela maior probabilidade de sucesso no resgate de dados nos cenários de destruição de armazenamento mais complexos.

Após introduzir todos os parâmetros clique em Adicionar — o array aparecerá no ecrã principal do programa e ficará pronto para varredura e recuperação de ficheiros.

Hetman RAID Recovery: array RAID6 montado manualmente

Uma vez que o array reconstruído apareça na lista de dispositivos, pode avançar para a verificação. Dependendo da causa da perda de dados — falha de configuração, falha de disco ou sobregravação acidental dos metadados do array — comece com a Verificação rápida. O programa irá analisar rapidamente os metadados do sistema de ficheiros e exibir a estrutura de pastas e ficheiros existentes.

Hetman RAID Recovery: iniciar verificação do array RAID6 montado manualmente

Antes de iniciar a recuperação use a função Pré-visualizar para garantir a legibilidade e integridade dos ficheiros desejados.

Se o resultado da Verificação rápida for insatisfatório ou o sistema de ficheiros estiver severamente danificado, execute a Verificação completa. Este modo realiza uma análise aprofundada de todo o espaço do array e pode encontrar ficheiros mesmo em casos complexos.

Após a conclusão da verificação assinale os diretórios e ficheiros que necessita de restaurar e clique em Recuperar.

Hetman RAID Recovery: salvar dados recuperados do array RAID

Na caixa de diálogo especifique o caminho de salvamento num disco separado e confirme a ação clicando novamente em Recuperar. Após a conclusão da operação o programa reportará a recuperação de dados bem-sucedida.

Conclusão

Apesar da elevada fiabilidade dos arrays RAID por software baseados em mdadm usados no OpenMediaVault, estes não garantem proteção absoluta contra a perda de dados. Falha de uma ou mais unidades, danos nos metadados do array, erros durante a reconstrução do RAID ou eliminação acidental de ficheiros podem tornar a informação inacessível.

Na maioria dos casos os dados de arrays RAID 0, RAID 5 e RAID 6 criados no OpenMediaVault podem ser recuperados com sucesso. Os pontos chave são: não gravar novos dados nas unidades, ligar corretamente todas as unidades a um computador e utilizar ferramentas especializadas capazes de detetar automaticamente os parâmetros de arrays mdadm e restaurar a sua estrutura.

Ações atempadas e corretas aumentam significativamente as hipóteses de recuperação de dados bem-sucedida. Backups regulares dos dados importantes continuam a ser a forma mais eficaz de proteção contra as consequências de qualquer falha ou avaria de hardware.

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ê