Recuperação de Dados ZFS: Um Guia para RAIDZ1, RAIDZ2, RAIDZ3 e Stripe

Neste artigo, revisamos procedimentos para recuperação de dados de arrays RAIDZ1, RAIDZ2, RAIDZ3 e ZFS Stripe criados no sistema operacional TrueNAS SCALE. Demonstramos a sequência de ações em caso de falha de hardware no servidor e a metodologia para restaurar o acesso ao pool de dados quando um ou mais discos falham ou os dados são excluídos acidentalmente do array.

Recuperação de Dados ZFS: Um Guia para RAIDZ1, RAIDZ2, RAIDZ3 e Stripe

Além de falhas de hardware, abordamos a recuperação após exclusão de um dataset inteiro, corrupção do pool, falha crítica do sistema operacional, dano ao sistema de arquivos ZFS, erros ao adicionar novos discos, comportamento incorreto do controlador e inicialização acidental de discos em outro sistema.

A recuperação de dados é demonstrada no Linux Ubuntu, mas também é possível em ambientes Windows e macOS.

Vá para ver
Data Recovery from ZFS RAIDZ1, RAIDZ2, RAIDZ3, and Stripe Arrays

Data Recovery from ZFS RAIDZ1, RAIDZ2, RAIDZ3, and Stripe Arrays

Capacidades do TrueNAS SCALE

TrueNAS é um sistema operacional aberto para construção de armazenamento em rede, baseado em Linux e utilizando o sistema de arquivos ZFS. Fornece proteção de dados, verificação de integridade, gerenciamento eficiente de discos e suporta execução de máquinas virtuais.

A plataforma suporta vários tipos de RAID, incluindo RAIDZ, que combina desempenho e tolerância a falhas. O TrueNAS SCALE permite escalabilidade horizontal ao combinar múltiplos nós em um cluster, preservando as principais funcionalidades do ZFS: autocorreção, snapshots, compressão, deduplicação e criptografia.

TrueNAS SCALE

O sistema é compatível com os protocolos SMB, NFS, iSCSI e S3 e também permite a execução de containers e Kubernetes, tornando-se uma solução versátil para armazenamento e processamento de dados em diversos ambientes.

RAIDZ é um array de discos redundante no ZFS com paridade distribuída. O uso de blocos de tamanho variável otimiza gravações e permite correção automática de erros durante leituras.

Ao recuperar um array degradado (resilvering), a carga nos discos remanescentes aumenta significativamente. Portanto, o RAIDZ é mais adequado para ambientes com requisitos moderados de tolerância a falhas ou para discos de menor capacidade onde o tempo de rebuild do array é reduzido.

Categoria Capacidades
Tipo de sistema NAS/servidor de código aberto baseado em Linux
Sistema de arquivos Suporte a ZFS
RAID RAIDZ1, RAIDZ2, RAIDZ3, Stripe, Mirror
Escalabilidade Horizontal (Scale-out)
Virtualização Suporte a KVM (máquinas virtuais)
Containers Kubernetes, Docker (via Apps)
Protocolos de rede SMB, NFS, FTP, iSCSI
Gerenciamento Interface web (GUI)
Segurança Criptografia de dados, controle de acesso, ACL
Backup Snapshots, Replicação, Rsync
Serviços em nuvem Integração com AWS, Google Cloud, Azure
Monitoramento Alertas, logs, estatísticas
Plugins / Apps Extensibilidade via catálogo de aplicações
Alta disponibilidade Suporte a cluster (HA)
Suporte a GPU Sim (para containers e VMs)

Método 1. Recuperação automática de arrays ZFS

Em caso de falha de componentes de hardware do servidor (fonte de alimentação, placa-mãe ou controlador de discos), o acesso direto aos dados a partir do sistema operacional torna-se impossível.

Essas situações também ocorrem quando o servidor não inicializa devido a um erro crítico durante uma atualização do TrueNAS SCALE ou quando a partição do sistema é danificada.

Mesmo que arquivos e discos não estejam fisicamente danificados, o acesso a um array RAIDZ pode ser perdido e as ferramentas padrão do ZFS podem não detectar os discos ou permitir a importação do pool. Nesses casos, softwares especializados, como o Hetman RAID Recovery, permitem acesso seguro aos dados e recuperação das informações.

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

Neste exemplo demonstramos o processo de recuperação automatizada em um computador executando Ubuntu.

Primeiro, desligue o servidor e remova cuidadosamente todos os discos que faziam parte do array.

Desligue o servidor e remova cuidadosamente todos os discos

Conecte-os a uma estação de trabalho: a opção ideal é diretamente à placa-mãe via cabos SATA para máxima velocidade e estabilidade de transferência de dados. Se a placa-mãe não dispuser de portas livres, podem ser usadas docas USB externas ou adaptadores USB-para-disco.

Conecte os discos do servidor a uma estação de trabalho

Observe que, quando conectados por meio de docas externas, a velocidade de varredura pode ser menor; portanto, para grandes volumes de dados é preferível usar portas internas.

Após a conexão, verifique se os discos aparecem no Ubuntu no utilitário Discos, mas não os inicialize se o sistema solicitar essa ação.

Os discos aparecem no utilitário Discos do Ubuntu

Imediatamente após a verificação, inicie o Hetman RAID Recovery para executar a montagem automática do array.

A característica principal do Hetman RAID Recovery é a análise profunda dos metadados do ZFS. O software não requer um sistema operacional ou controlador funcional — ele lê as informações de serviço diretamente dos discos e reconstrói automaticamente a estrutura do pool.

Como o ZFS armazena todos os dados críticos de configuração do array dentro do próprio pool, a integridade lógica dos arquivos é preservada mesmo se o ambiente original do servidor estiver completamente indisponível. Como resultado, o usuário obtém acesso aos dados em uma forma familiar, sem dependência do sistema original.

Este artigo demonstra várias configurações de array:

  • RAIDZ1 em três discos,
  • RAIDZ2 em quatro,
  • RAIDZ3 em cinco,
  • e Stripe em dois discos.
Tabela: diversas configurações RAIDZ

Examinaremos o algoritmo de recuperação em detalhe para um array RAIDZ1 de três discos em uma situação de falha completa de hardware do servidor ou erro crítico após atualização do TrueNAS SCALE.

É importante notar que esta abordagem é universal e também pode ser aplicada a configurações RAIDZ2, RAIDZ3 e Stripe.

Após iniciar o Hetman RAID Recovery, ele escaneia automaticamente todos os dispositivos conectados. O programa lê os metadados de serviço do ZFS, analisa a configuração dos grupos de vdevs virtuais e, com base nos dados obtidos, reconstrói o modelo correto de RAIDZ1.

A janela de trabalho exibe os discos detectados e as estruturas lógicas montadas — você pode imediatamente continuar trabalhando com eles: executar análise detalhada, visualizar a estrutura de dados ou recuperar arquivos necessários.

Hetman RAID Recovery: discos detectados e estruturas lógicas montadas

Selecione o RAIDZ1 necessário na lista de arrays reconstruídos e inicie o modo de Análise rápida para determinar rapidamente a estrutura dos dados.

Hetman RAID Recovery: selecione o RAIDZ1 reconstruído na lista

Após a conclusão da análise, o sistema de arquivos recuperado com a hierarquia completa de diretórios e arquivos será exibido na janela principal. Selecione os objetos desejados e clique em Recuperar.

Hetman RAID Recovery: sistema de arquivos recuperado com hierarquia completa

No passo seguinte, especifique uma pasta para salvar os dados — preferencialmente em uma mídia separada com espaço livre suficiente.

Hetman RAID Recovery: opções disponíveis para salvar dados recuperados

Confirme o início do processo, especifique o caminho de destino final e clique em Recuperar novamente para iniciar a cópia. Após a conclusão da operação, clique em Concluir.

Como resultado, os dados do pool ZFS RAIDZ1 serão recuperados e estarão disponíveis para uso normal.

Hetman RAID Recovery: dados recuperados do pool ZFS RAIDZ1

Método 2. Recuperando RAIDZ com discos ausentes

Agora considere o caso de falha de um ou mais discos em um array RAIDZ.

A arquitetura RAIDZ fornece tolerância a falhas dependendo do tipo de array:

  • RAIDZ1 tolera a perda de um disco.
  • RAIDZ2 tolera a perda de dois discos.
  • RAIDZ3 tolera a perda de três discos.

No caso de Stripe não há redundância, portanto a falha de qualquer disco leva à perda completa de dados.

Tabela: arquitetura RAIDZ

Se não for possível conectar todos os discos, você pode criar uma imagem do disco ausente e usá-la juntamente com os demais discos para a recuperação.

Graças aos mecanismos de paridade distribuída e verificações de integridade de dados, softwares especializados como o Hetman RAID Recovery podem reconstruir blocos perdidos e restaurar o acesso às informações se o número de discos falhos não exceder o nível permitido para o tipo específico de RAIDZ.

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

Se esse limite for excedido, a estrutura lógica do array fica comprometida e métodos de software padrão tornam-se ineficazes. Nesses casos, a recuperação só é possível com equipamentos profissionais em laboratórios especializados.

Garanta que a mídia de destino possua espaço livre suficiente para armazenar os dados recuperados e remova cuidadosamente os discos do servidor, conectando-os a um computador via portas SATA ou uma dock station externa. É importante evitar qualquer gravação nesses discos, pois isso pode causar perda irreversível de dados.

Conectando discos do servidor a um computador via dock externo

Antes de começar, feche todos os aplicativos que possam usar esses discos e desative temporariamente backups automáticos ou sincronizações. Se o sistema não montar o array, não inicialize os discos, não crie partições e não os formate.

Deixe-os no estado atual e prossiga diretamente para o procedimento de recuperação. Seguir essas recomendações aumenta significativamente as chances de recuperação bem-sucedida e segura dos dados, independentemente do tipo RAIDZ ou da configuração Stripe.

Se a arquitetura da sua estação de trabalho não permitir conectar todos os discos simultaneamente, a solução ideal é usar imagens de disco virtuais. Esse método envolve criar cópias bit a bit de cada disco para análise posterior.

Após montar a imagem do disco ausente, o Hetman RAID Recovery irá tratá-la como um dispositivo físico completo e, combinado com os discos disponíveis, reconstruirá automaticamente a estrutura do array. Essa abordagem permite iniciar a recuperação de dados mesmo quando as portas de conexão são insuficientes — preservando a segurança e integridade dos dados em todas as etapas.

Analisaremos o processo de recuperação usando como exemplo um RAIDZ3 em que três discos falharam simultaneamente.

Essa configuração de array oferece a possibilidade de recuperação dos dados mesmo em uma falha tão severa — realizamos esse procedimento com o Hetman RAID Recovery.

Imediatamente após a abertura, o software escaneia automaticamente todos os discos conectados, lê as informações de serviço e, com base nisso, reconstrói a estrutura original do array. A janela de trabalho exibe todos os discos físicos detectados e as configurações virtuais formadas, que podem ser usadas imediatamente. Selecione o RAIDZ3 encontrado e ative a Análise rápida.

Hetman RAID Recovery: pool ZFS

Assim que a verificação for concluída, a janela de trabalho exibirá a estrutura completa do array reconstruído com todos os diretórios e arquivos.

Hetman RAID Recovery: pool ZFS após análise

Marque os itens necessários e clique em Recuperar. Em seguida, especifique a pasta para salvar e confirme a operação clicando em Recuperar novamente.

Hetman RAID Recovery: análise do pool ZFS

Quando a cópia for concluída — clique em Concluir.

Após completar todos os passos, os arquivos recuperados do array RAIDZ3 estarão plenamente utilizáveis em operação normal.

Dados recuperados do pool ZFS

Método 3. Recuperação de arquivos excluídos

Por fim, consideramos um dos cenários mais comuns — exclusão acidental de arquivos de um array RAID.

Neste exemplo, recuperamos dados de um Stripe criado a partir de dois discos sob o sistema de arquivos ZFS.

A característica do Stripe é que os dados são distribuídos por todos os discos sem qualquer redundância. Isso significa que nenhum disco individual contém arquivos completos. Para uma recuperação bem-sucedida, todos os discos devem estar conectados simultaneamente e tratados como uma única estrutura lógica. Se um dos discos estiver ausente ou não conectado, o software não conseguirá ler os dados.

Estrutura do pool ZFS

Antes de começar, assegure-se de que todos os discos estejam fisicamente conectados ao computador — diretamente via SATA à placa-mãe ou usando uma dock station externa.

É importante não gravar novos dados nesses discos nem inicializá-los no sistema para evitar sobrescrever os arquivos perdidos.

Ubuntu: utilitário Discos

No Ubuntu, inicie o Hetman RAID Recovery.

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

O software irá escanear automaticamente todos os discos conectados, ler os metadados do ZFS e reconstruir a estrutura lógica do Stripe em conformidade. Na janela principal você verá os discos físicos e o array montado pronto para uso.

Hetman RAID Recovery: pool ZFS

Em seguida, selecione o Stripe na lista de arrays detectados e inicie uma Análise completa. Uma análise completa é necessária porque, após a exclusão de arquivos no ZFS, somente uma análise profunda permite montar dados fragmentados e restaurar a estrutura de pastas correta.

Hetman RAID Recovery: análise completa do pool ZFS

Geralmente não são necessárias configurações adicionais; basta clicar em Avançar e aguardar o término do processo. Após a conclusão da análise, a janela principal exibirá a estrutura do array recuperada com todas as pastas e arquivos. Se necessário, utilize a visualização para verificar o conteúdo de documentos, imagens ou outros arquivos.

Selecione os arquivos e pastas desejados e clique em Recuperar.

Hetman RAID Recovery: recuperando dados do pool ZFS

Especifique o destino para os dados recuperados em uma mídia separada com espaço livre suficiente e confirme o início do processo clicando em Recuperar novamente.

Após a cópia ser concluída, clique em Concluir.

Hetman RAID Recovery: recuperação de dados do pool ZFS concluída

Como resultado, todos os arquivos serão recuperados e estarão disponíveis para uso normal.

Esse processo garante a segurança dos dados, permite a restauração de arquivos mesmo após exclusão acidental e preserva a estrutura do sistema de arquivos ZFS sem risco de danificar outros dados nos discos.

Conclusão

A recuperação de dados do sistema de arquivos ZFS e de arrays RAIDZ1, RAIDZ2, RAIDZ3 e Stripe é complexa, mas perfeitamente viável com a abordagem correta e compreensão da arquitetura dessas soluções. Graças aos mecanismos incorporados de integridade e verificação de erros, o ZFS fornece um alto nível de proteção, especialmente em configurações RAIDZ2 e RAIDZ3.

Mesmo assim, sistemas tão confiáveis não estão imunes à perda de dados por falhas de hardware, erros de usuário ou corrupção crítica do pool. A configuração menos protegida continua sendo o Stripe, onde a ausência de redundância implica perda total de dados se qualquer disco falhar.

O sucesso da recuperação depende de muitos fatores: tipo de RAID, número de discos falhos, condição do sistema de arquivos e rapidez das ações. Recomendações-chave são interromper imediatamente gravações no array afetado, realizar diagnóstico correto e usar software especializado ou serviços profissionais.

Portanto, para minimizar o risco de perda de dados, é importante não apenas saber como recuperar os dados, mas também implementar estratégias de backup antecipadamente e escolher o nível de RAID adequado conforme a criticidade das informações.

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ê