Como recuperar dados do ZFS: ZVOLs, datasets, snapshots e discos virtuais
Leia sobre recuperação de dados do sistema de arquivos ZFS no TrueNAS 25.04.2.6. Vamos revisar como analisar a estrutura do pool e recuperar dados de ZVOL, Dataset, Snapshot, bem como de discos virtuais e máquinas virtuais. Cobriremos cenários comuns de perda de dados, incluindo falhas do array, atualizações do sistema mal-sucedidas, falhas de hardware e exclusão acidental. Todas as ações serão realizadas usando o Hetman RAID Recovery no Windows, enquanto capacidades semelhantes também estão disponíveis no Linux e macOS.

- Estrutura do ZFS
- Recuperação de dados ZFS
- Recuperação de disco virtual
- Acesso a Snapshots no ZFS
- Recuperação de dados excluídos
- Conclusão
- Perguntas e respostas
- Comentários
O sistema de arquivos ZFS há muito é considerado uma das soluções de armazenamento de dados mais confiáveis devido à sua alta tolerância a falhas, verificações de integridade embutidas e amplos recursos de gerenciamento de armazenamento. Além do armazenamento de arquivos comum, o ZFS suporta recursos importantes como ZVOL, Dataset, Snapshot e manipulação de discos virtuais, o que o torna popular em servidores, sistemas NAS e em ambientes de virtualização.
No entanto, mesmo um sistema tão robusto não está imune a falhas. Corrupção do pool, exclusão acidental de um Dataset, perda de um Snapshot, erros ao trabalhar com um ZVOL ou falha de um disco virtual podem levar à perda de acesso a informações importantes. Nesses casos é importante entender como agir corretamente para evitar agravar o estado do armazenamento e maximizar as chances de recuperação bem-sucedida.
Neste artigo examinaremos como recuperar dados do ZFS, incluindo ZVOL, Dataset, Snapshot e discos virtuais, quais métodos podem ser usados para recuperar informações e quais ferramentas ajudam a restaurar com segurança o acesso aos arquivos após uma falha.
How to recover data from BTRFS RAID 0, RAID 5 and RAID 6 created on Rockstor
Estrutura do ZFS
No sistema de arquivos ZFS existem três tipos principais de objetos de nível superior: Dataset, ZVOL e Snapshot. Cada um tem seu papel e opções de configuração.
Dataset é o contêiner de arquivos primário em um pool ZFS que funciona como um sistema de arquivos separado para armazenar arquivos e diretórios. Pode ser montado diretamente no sistema operacional e acessado via protocolos FTP, NFS, iSCSI, SSH ou SMB. A principal vantagem de um Dataset é que você pode configurar seus parâmetros independentemente sem afetar outras partes do pool. Ao criar um dataset, você define propriedades básicas como o algoritmo de compressão (LZ4, GZIP, ZSTD, LZJB, ZLE), modo de acesso, sensibilidade a maiúsculas/minúsculas e parâmetros de escrita síncrona. Após a criação, a maioria das configurações pode ser alterada a qualquer momento sem perda de dados, permitindo que cada Dataset seja adaptado às suas tarefas específicas.
ZVOL representa um dispositivo de bloco, isto é, um disco virtual que, ao contrário de um Dataset, não contém arquivos diretamente. Ele fornece armazenamento em bloco para criar sistemas de arquivos ou conectar-se como disco a máquinas virtuais. O ZVOL opera no nível de bloco e entrega desempenho mais consistente em comparação com imagens baseadas em arquivos.
Ao criar um ZVOL você especifica o tamanho lógico volsize e o tamanho de bloco volblocksize, que afetam significativamente o desempenho. Para otimizar o armazenamento, ative a compressão para reduzir o volume e a desduplicação para eliminar duplicatas. Também é importante ativar o modo sparse, que aloca espaço no pool apenas quando os dados são realmente gravados em vez de reservar toda a capacidade no momento da criação.
TrueNAS também permite criar discos virtuais como arquivos em vez de ZVOLs. Essas imagens de arquivo podem ser usadas via iSCSI, porém não suportam o modo sparse e ocupam a totalidade do espaço em disco imediatamente ao serem criadas.
Snapshot é uma cópia pontual de um Dataset ou ZVOL criada usando o mecanismo de copy-on-write, onde novas alterações são registradas em outros blocos enquanto os blocos anteriores permanecem inalterados. Graças a isso, um Snapshot consome praticamente nenhum espaço adicional e permite restaurar um estado anterior ou arquivos individuais sem afetar os dados atuais. Após a criação, um Snapshot é somente leitura; pode ser excluído ou utilizado para clonagem. O gerenciamento é realizado por meio das propriedades visible e hide para visibilidade, bem como por snapshot tasks para automatizar replication e retention em relação à transferência e ao período de retenção.
| Tipo de objeto | Objetivo | Principais características | Onde é utilizado |
|---|---|---|---|
| Dataset | Sistema de arquivos lógico dentro do pool ZFS | Suporta compressão, cotas, desduplicação e permissões de acesso separadas | Armazenamento de arquivos e diretórios |
| ZVOL | Dispositivo virtual de bloco | Funciona como um disco comum; pode ser formatado com outro sistema de arquivos | Máquinas virtuais, iSCSI, bancos de dados |
| Snapshot | Instantâneo do estado dos dados em um momento específico | Criado instantaneamente; ocupa espaço mínimo até que os dados sejam alterados | Backups, reversão de alterações, recuperação |
Recuperação de dados ZFS
Vamos revisar o processo de análise e recuperação dos seus dados usando o aplicativo Hetman RAID Recovery.
Hetman RAID Recovery pode auxiliar em situações críticas quando o hardware do servidor falhou, o sistema operacional TrueNAS está com mau funcionamento devido a atualizações ou erros do sistema, ou discos no servidor falharam. Independentemente da causa da inacessibilidade dos dados, o software permite extrair informações e recuperar para um dispositivo de armazenamento separado.
Conexão dos discos
Para iniciar o processo de recuperação é necessário remover os discos que faziam parte do pool e conectá‑los a um computador com o Hetman RAID Recovery instalado. Isso pode ser feito diretamente via portas SATA na placa-mãe ou usando estações de encaixe externas. Se a arquitetura de hardware da sua estação de trabalho não permitir conectar todos os discos simultaneamente, o aplicativo suporta uma abordagem combinada.
Em situações com portas livres limitadas, uma solução ótima é criar imagens virtuais de alguns discos. Você pode conectar alguns discos físicos diretamente e usar cópias bit a bit exatas montadas na interface da ferramenta para os demais.

O aplicativo trata essas imagens como dispositivos físicos completos e as utiliza automaticamente para reconstruir a estrutura do array. Essa abordagem assegura a integridade dos dados, uma vez que a análise adicional é realizada sobre cópias virtuais.
Depois que todos os componentes do pool estiverem fisicamente conectados ou montados como imagens, o Hetman RAID Recovery lerá automaticamente os metadados do ZFS e exibirá o array montado na janela principal, permitindo a varredura e a gravação de arquivos.

Ao detectar os discos, o programa analisa metadados e determina a configuração do seu array RAID. O número de discos necessário para recuperação completa dos dados depende do tipo de configuração que você utilizou:
- Em uma configuração ZFS Stripe não há redundância, portanto todos os discos são necessários. A ausência ou dano de mesmo um disco torna impossível a recuperação completa da estrutura, e nesses casos apenas extração parcial de dados dos discos disponíveis é possível.
- RAIDZ1 tolera a falha de um único disco. Portanto, a recuperação é possível se todos os discos, exceto um defeituoso, estiverem conectados. Se dois ou mais discos estiverem ausentes, a recuperação completa da estrutura torna-se impossível.
- RAIDZ2 permite a perda de até dois discos. Para a reconstrução correta do pool, os discos saudáveis restantes são suficientes, possibilitando a recuperação de dados mesmo em cenários de dupla falha.
- RAIDZ3 tem a maior tolerância a falhas e permite a perda de até três discos. Com os discos saudáveis restantes presentes, a recuperação completa de dados é possível mesmo em cenários complexos de falhas múltiplas.
| Tipo ZFS | Número mínimo de discos | Falha de discos permitida | Desempenho | Nível de proteção de dados | Equivalente RAID |
|---|---|---|---|---|---|
| Stripe | 2 | 0 | Muito alto | Nenhum | RAID 0 |
| RAIDZ1 | 3 | 1 | Alto | Médio | RAID 5 |
| RAIDZ2 | 4 | 2 | Médio | Alto | RAID 6 |
| RAIDZ3 | 5 | 3 | Mais baixo | Muito alto | – |
Reconstrução automática do pool
Inicie o Hetman RAID Recovery e o programa começará automaticamente a escanear todos os dispositivos conectados. A ferramenta lê os metadados de serviço do ZFS, analisa a configuração dos grupos virtuais (vdev) e, com base nos dados obtidos, reconstrói um modelo correto do seu pool.

Na janela de trabalho você verá todos os discos detectados e seus parâmetros. Selecione o pool desejado na lista de arrays reconstruídos e inicie o modo Fast Scan para determinar rapidamente a estrutura dos dados.

Após a conclusão da varredura, o sistema de arquivos recuperado com toda a hierarquia de diretórios e arquivos será exibido na janela principal. Você poderá visualizar todos os Datasets, pastas, arquivos, ZVOL, arquivos de disco virtual (LUN) e Snapshots. Expanda as pastas para inspecionar o conteúdo e identificar os objetos a recuperar.

Marque os objetos que deseja recuperar e clique em Recovery.

Na etapa seguinte, especifique uma pasta para salvar os dados escolhendo um dispositivo separado com espaço livre suficiente. Isso é crítico para evitar sobrescrever os dados originais no disco danificado. O programa exibirá o espaço disponível no dispositivo de destino e o tamanho dos arquivos selecionados para controle.

Confirme o início do processo de salvamento e especifique o caminho final dentro da pasta selecionada. Pressione Recovery novamente para começar a copiar seus dados para o armazenamento escolhido.

O aplicativo realiza cópia byte a byte com verificação de integridade e mostra o progresso da operação em tempo real. Após a conclusão da cópia, pressione Finish.
Todos os seus dados recuperados agora estão disponíveis no dispositivo escolhido em sua forma habitual e prontos para uso sem operações adicionais.

Recuperação de disco virtual
Em situações onde a recuperação é necessária devido à exclusão acidental de arquivos, formatação de partição ou exclusão da configuração de uma máquina virtual enquanto o ZVOL permanece preservado, o Hetman RAID Recovery fornece ferramentas para análise profunda e recuperação de dados.
O programa permite tratar objetos ZFS como dispositivos de armazenamento completos, independentemente de serem arquivos de imagem de disco ou um dispositivo de bloco ZVOL. Graças ao suporte a uma ampla gama de sistemas de arquivos, incluindo NTFS, ReFS, VMFS, Ext, XFS, BTRFS, FAT, ExFAT, APFS, HFS e HikvisionFS, você pode recuperar com sucesso dados de ambientes virtuais de qualquer complexidade.
O processo de recuperação começa executando uma varredura rápida do pool para localizar o ZVOL ou disco virtual desejado.

O objeto encontrado pode ser montado diretamente na interface do aplicativo ou previamente salvo no computador como um arquivo de imagem para análise posterior. A montagem direta economiza espaço em disco, pois não requer a criação de cópias adicionais.

Após a montagem, o objeto aparece na lista de dispositivos como um disco comum pronto para inspeção detalhada de seu conteúdo interno.

A escolha do modo de varredura para o disco montado depende da natureza da perda de dados. Se arquivos foram simplesmente excluídos, use o Fast Scan para exibir rapidamente a hierarquia de diretórios. Em casos mais complexos, como formatação ou alterações no layout de partições, recomenda‑se utilizar o Full Scan para uma busca exaustiva baseada em assinaturas.
Após a conclusão da análise, você poderá visualizar arquivos existentes e excluídos, verificar sua integridade através da janela de visualização e salvar os dados necessários em um dispositivo de armazenamento saudável e seguro.

Acesso a Snapshots no ZFS
Hetman RAID Recovery permite a recuperação eficaz de dados excluídos ou modificados de objetos ZVOL e discos virtuais usando Snapshots previamente criados. Essa abordagem é crítica quando um rollback completo do sistema é impraticável devido ao risco de perder alterações atuais feitas após a criação do snapshot, permitindo preservar o estado atual do sistema enquanto restaura seletivamente os dados necessários.
Para começar, execute o modo Fast Scan, após o qual uma pasta especial de Snapshot aparecerá na hierarquia do pool.

Os snapshots internos são ordenados por nome e data de criação, permitindo identificar rapidamente o ponto de recuperação desejado. Selecionando o Snapshot apropriado, você tem acesso a todos os objetos que foram capturados naquele momento, incluindo datasets e discos virtuais. Isso permite simplesmente copiar os itens necessários sem alterar a estrutura de trabalho atual do pool.


Se salvar grandes imagens de ZVOL no disco local do computador não for possível devido à falta de tempo ou espaço livre, é aconselhável usar o recurso de montar objetos diretamente na interface do aplicativo. Isso permite trabalhar com discos virtuais e imagens LUN como dispositivos de armazenamento regulares sem exportá‑los previamente para um meio físico. Embora a velocidade de processamento nesse modo possa ser um pouco menor, ele conserva significativamente recursos e permite busca profunda imediata dentro de sistemas de arquivos convidados como NTFS, ext4 ou XFS.

Depois que o objeto necessário estiver montado ou selecionado dentro do Snapshot, você pode executar ações padrão de busca e recuperação. O programa exibirá o conteúdo do ambiente virtual, permitindo marcar arquivos e pastas específicos para salvar.

Em seguida, simplesmente clique em Recovery e especifique o caminho para um dispositivo de armazenamento seguro.

Essa abordagem torna o processo de recuperação transparente e conveniente, proporcionando flexibilidade ao trabalhar com dados em ambientes de produção onde a continuidade do serviço é prioridade máxima.
Recuperação de dados excluídos
Nos casos em que os dados foram excluídos diretamente do pool e os Snapshots estão ausentes ou foram sobrescritos, a análise de metadados padrão torna‑se ineficaz. As especificidades do sistema de arquivos ZFS e do mecanismo copy-on-write significam que, após a exclusão, a árvore de diretórios muitas vezes não é preservada. No entanto, os próprios dados permanecem nos blocos do pool, o que permite ao Hetman RAID Recovery localizar e restaurar com sucesso mesmo na ausência de registros da tabela de posicionamento.
As causas dessa perda podem incluir exclusão acidental de datasets, ZVOL ou máquinas virtuais juntamente com discos anexados.
Um cenário crítico é inicializar discos em sistemas operacionais estrangeiros como Windows ou macOS, o que pode sobrescrever as informações de serviço iniciais do ZFS. Nesses cenários, o programa realiza uma análise de baixo nível de toda a superfície do disco, identificando arquivos e estruturas lógicas por suas assinaturas.
Para recuperar, selecione o array reconstruído e execute o Full scan. Esse processo requer mais tempo porque o programa trabalha diretamente com blocos de dados, montando fragmentos dispersos em objetos coerentes. Se a exclusão ocorreu dentro de uma máquina virtual, aplica‑se uma análise em duas etapas: primeiro o ZVOL é recuperado como dispositivo de bloco e depois seu sistema de arquivos interno é escaneado para localizar os dados do SO convidado.

Após a conclusão da análise, os objetos descobertos normalmente aparecem como uma lista única na raiz do pool. Para encontrar o ZVOL ou arquivo necessário entre milhares de itens encontrados, use a função de busca incorporada. Você pode filtrar os resultados por nome, data ou tamanho do arquivo. Se o nome do objeto não foi preservado nos metadados, seu volume é o indicador principal para identificar um disco virtual.

Os arquivos encontrados podem ser recuperados diretamente ou montados como discos virtuais para exame adicional de seu conteúdo. Antes da gravação final, recomenda‑se usar a função de visualização para verificar a integridade dos dados.

Depois de selecionar os itens necessários clique em Recovery e especifique o caminho para um dispositivo de armazenamento seguro e separado com espaço livre suficiente. O programa notificará ao concluir a cópia, após o que todos os dados estarão prontos para uso.
Conclusão
A recuperação de dados do sistema de arquivos ZFS, incluindo ZVOL, Dataset, Snapshot e discos virtuais, é possível mesmo após falhas graves se as ações forem tomadas de forma cuidadosa e sequencial. Graças aos mecanismos de integridade embutidos, snapshots e à estrutura de armazenamento flexível, o ZFS aumenta significativamente as chances de recuperar informações com sucesso em comparação com muitos outros sistemas de arquivos.
Os Snapshots desempenham um papel particularmente importante na recuperação, permitindo restaurar um estado anterior dos dados sem reconstruções complexas de todo o pool. Para ZVOLs e discos virtuais, uma vantagem adicional é a capacidade de trabalhar com dispositivos de bloco individuais, o que simplifica a análise e a cópia das informações. Ao mesmo tempo, a corrupção de metadados ou erros na estrutura do pool podem complicar bastante o processo e exigir ferramentas especializadas.
Para aumentar as chances de recuperação bem-sucedida, é importante não gravar no pool problemático, não criar novos datasets e, se possível, trabalhar apenas com cópias dos discos. Em casos complexos, a melhor solução pode ser consultar especialistas em recuperação de dados.
Assim, mesmo a complexa arquitetura do ZFS não impede a recuperação quando suas capacidades são utilizadas corretamente e é adotada uma abordagem segura ao trabalhar com um dispositivo de armazenamento danificado.







