Como recuperar dados de discos virtuais QCOW2 e snapshots do KVM (QEMU) no RHEL 7.9
Neste artigo, explicaremos como recuperar discos virtuais e snapshots KVM no Red Hat Enterprise Linux 7.9, identificar a causa da perda de dados e restaurar o acesso às informações usando as ferramentas apropriadas.

- Arquitetura KVM e LVM no RHEL 7.9
- Conectando os Discos ao Computador
- Como Recuperar Máquinas Virtuais e Snapshots KVM (QEMU) do RHEL 7.9
- Conclusão
- Perguntas frequentes
- Comentários
A virtualização baseada em KVM (Kernel-based Virtual Machine) e QEMU é amplamente utilizada no Red Hat Enterprise Linux 7.9 para criar e gerenciar máquinas virtuais. Seus sistemas operacionais, aplicativos e arquivos de usuário são armazenados em discos virtuais, por exemplo, nos formatos QCOW2 ou RAW. Os snapshots podem ser usados para preservar um estado anterior das máquinas virtuais, permitindo retornar a um ponto específico no tempo. No entanto, a exclusão acidental de arquivos, a corrupção da imagem de disco, a falha de uma unidade física ou uma cadeia de snapshots quebrada podem levar à perda de acesso a dados críticos.
How to Recover KVM (QEMU) Virtual Machines & Snapshots from RHEL 7.9
Arquitetura KVM e LVM no RHEL 7.9
Vamos analisar mais de perto a arquitetura do nosso sistema de servidor.
O próprio sistema operacional Red Hat Enterprise Linux 7.9 está instalado em um disco de sistema separado com o sistema de arquivos XFS. O armazenamento do ambiente de virtualização KVM, no entanto, utiliza um subsistema de disco complexo e multicamada.

O sistema é construído sobre matrizes de discos RAID 5 e RAID 0. Sobre elas são implementados volumes lógicos LVM. Para garantir a segurança dos dados, esses volumes são adicionalmente criptografados usando o padrão LUKS, e somente dentro desse contêiner criptográfico é criado o sistema de arquivos ext4, onde os arquivos das máquinas virtuais são armazenados diretamente.
Todo esse ambiente é gerenciado pelo daemon Libvirt, que abstrai convenientemente a hierarquia física de discos em pools de armazenamento e os associa às configurações de cada máquina virtual. No entanto, no momento de uma falha, essa conveniência trabalha contra nós, pois, quando a camada inferior de armazenamento falha, o Libvirt perde imediatamente a conexão com os pools. Como resultado, todas as máquinas virtuais simplesmente desaparecem do console de gerenciamento ou ficam imediatamente indisponíveis.
O principal problema é que essa arquitetura complexa complica significativamente o processo de recuperação de dados. Toda essa estrutura (RAID, LVM, LUKS e ext4) está estreitamente interconectada. Uma falha em qualquer um desses níveis rompe imediatamente toda a cadeia e bloqueia completamente o acesso às máquinas virtuais.
Vamos diretamente às máquinas virtuais. Elas usam discos virtuais no popular formato qcow2. Esse formato oferece suporte a snapshots, ou seja, capturas do estado do sistema em um ponto específico no tempo. Armazenar todos os snapshots e as alterações atuais em um único arquivo de disco virtual é extremamente conveniente para administração e gerenciamento de recursos.
No entanto, do ponto de vista de confiabilidade, isso torna o sistema altamente vulnerável. Se esse único arquivo qcow2 for corrompido logicamente devido a uma falha no sistema hospedeiro, você corre o risco de perder não apenas a versão atual de trabalho da máquina virtual, mas também todos os seus estados salvos de uma vez.
Felizmente, isso não significa perda permanente das informações, pois com o Hetman RAID Recovery você pode analisar a estrutura danificada e recuperar com sucesso tanto os próprios discos virtuais quanto os dados armazenados neles.
| Componente | Finalidade e características |
|---|---|
| KVM (Kernel-based Virtual Machine) | Um módulo do kernel Linux que fornece virtualização de hardware e permite a execução de máquinas virtuais no RHEL 7.9. |
| QEMU | Emula hardware virtual e fornece a operação de máquinas virtuais, incluindo acesso aos seus discos virtuais. |
| libvirt | Ferramentas de gerenciamento de virtualização usadas para criar, iniciar, parar e configurar máquinas virtuais por meio do virsh e de outras ferramentas. |
| Máquina virtual (VM) | Um ambiente isolado no qual um sistema operacional convidado é executado com seus aplicativos, configurações e arquivos. |
| Disco virtual QCOW2 | Um formato de imagem de disco do QEMU que oferece suporte a alocação dinâmica, metadados e snapshots internos. Também pode ser usado como parte de uma cadeia de snapshots externos. |
| Disco virtual RAW | Uma imagem de disco sem a estrutura adicional de contêiner do QCOW2. Pode ser armazenada em um arquivo ou em um dispositivo de bloco LVM. |
| Snapshot | Um estado salvo de um disco ou de uma máquina virtual. Os snapshots podem ser internos, armazenados em um único arquivo QCOW2, ou externos, quando as alterações são gravadas em um arquivo separado. |
| Cadeia de snapshots externos | Uma sequência de uma imagem base e discos filhos que armazenam as alterações. Para acessar o estado atual dos dados, os vínculos corretos entre os arquivos devem ser preservados. |
| LVM (Logical Volume Manager) | Um sistema de gerenciamento de volumes lógicos do Linux que permite combinar dispositivos físicos em grupos de volumes e criar volumes lógicos para discos virtuais. |
| PV (Physical Volume) | Um dispositivo físico ou partição preparado para uso no LVM. É o nível base da estrutura LVM. |
| VG (Volume Group) | Um grupo de volumes que combina um ou mais PVs e fornece espaço para a criação de volumes lógicos. |
| LV (Logical Volume) | Um volume lógico que pode ser usado como um dispositivo de bloco para armazenar um disco virtual RAW ou um sistema de arquivos com imagens QCOW2. |
| Sistema de arquivos do host | O sistema de arquivos do RHEL, como XFS ou ext4, no qual arquivos de discos virtuais e configurações de máquinas virtuais podem ser armazenados. |
| Configuração XML do libvirt | Contém parâmetros da máquina virtual, incluindo o caminho do disco, o tipo de controlador e outras configurações. Ajuda a determinar qual imagem foi usada pela máquina virtual. |
| Metadados do LVM | Contém informações sobre volumes físicos, grupos de volumes e volumes lógicos. A corrupção desses metadados pode tornar inacessíveis os volumes lógicos e os dados armazenados neles. |
Conectando os Discos ao Computador
Para iniciar o processo de recuperação, é necessário remover fisicamente os discos do servidor problemático e conectá-los a um computador. A melhor e mais rápida opção é uma conexão direta à placa-mãe do computador por meio de portas SATA ou SAS.
Também é possível usar estações de encaixe USB externas ou adaptadores, mas observe que isso pode reduzir a velocidade da varredura.
Uma regra importante ao montar matrizes: para recuperar com sucesso dados de uma matriz RAID 5, basta conectar todos os discos, exceto um disco com falha. Para uma matriz RAID 0, porém, é obrigatório conectar absolutamente todas as unidades que faziam parte da matriz; caso contrário, a recuperação será impossível.
Se não houver portas livres suficientes para conectar todas as unidades, ou se os discos apresentarem sinais de falha de hardware, a melhor solução é criar imagens setor por setor. Essa função integrada do Hetman RAID Recovery permite salvar uma cópia exata, byte a byte, de cada disco como um arquivo comum. Trabalhar com imagens é uma prática padrão de segurança, pois a varredura ocorre sem qualquer carga física sobre as unidades originais do servidor.
Para criar uma imagem, selecione o disco conectado na janela principal e clique no botão Salvar disco no painel superior, especificando o caminho de salvamento.

Depois de criar todas as imagens, monte-as no programa: abra o menu principal e selecione Montar disco.

Selecione o tipo Imagens de disco RAW e abra os arquivos salvos.

Elas aparecerão imediatamente na lista de dispositivos disponíveis, prontas para a montagem automática da matriz e para a análise posterior.

Como Recuperar Máquinas Virtuais e Snapshots KVM (QEMU) do RHEL 7.9
MÉTODO 1. Recuperação de Arquivos da Máquina Virtual
Vamos passar à prática e considerar a recuperação do acesso a um arquivo de disco virtual qcow2.
No nosso caso, o arquivo não foi excluído, mas o acesso a ele foi completamente bloqueado devido a uma falha repentina de hardware do servidor e à subsequente destruição da estrutura lógica da matriz.

No entanto, os algoritmos do Hetman RAID Recovery tornam fácil contornar esse problema. Na janela principal do programa, vemos uma matriz RAID 5 já montada automaticamente, mas, para acessar os dados, seu volume lógico deve primeiro ser desbloqueado com a inserção da senha LUKS.

Somente após a remoção bem-sucedida da proteção criptográfica é que selecionamos esse volume e iniciamos o algoritmo de Varredura rápida, que analisará imediatamente a estrutura do nosso sistema de arquivos, neste caso ext4.

Navegue até a pasta onde a máquina virtual estava armazenada. O programa reconstruiu com sucesso a árvore de diretórios e encontrou nosso arquivo qcow2 intacto.

Selecione a imagem encontrada e clique no botão Recuperar no painel superior; em seguida, escolha necessariamente um local seguro no disco local do computador ou em outro dispositivo de armazenamento para evitar a sobrescrita dos dados.

MÉTODO 2. Recuperação de Arquivos dos Sistemas Operacionais Convidados
Agora vamos considerar outro cenário comum: a perda de dados ocorreu diretamente dentro da própria máquina virtual. No nosso exemplo, o sistema operacional convidado é o Windows 10.
Normalmente, para acessar esses arquivos é necessário iniciar o hipervisor e inicializar completamente a máquina virtual, o que nem sempre é possível ou seguro após falhas no sistema. No entanto, o Hetman RAID Recovery permite trabalhar diretamente com o formato qcow2. Você pode abrir o disco virtual diretamente na interface do programa sem usar um hipervisor.

Para isso, abra o menu Montar disco, selecione a opção apropriada para máquinas virtuais, especifique o caminho da pasta que contém seu arquivo qcow2 salvo,

e clique em Montar pasta.

Depois disso, o disco virtual aparecerá imediatamente na lista geral de dispositivos. Como nosso sistema convidado é o Windows 10, vemos imediatamente sua partição com o sistema de arquivos NTFS.

Selecione essa partição e inicie a análise de Varredura rápida. O programa analisará profundamente a estrutura interna do disco virtual e localizará dados excluídos ou perdidos. No nosso caso, trata-se de um conjunto de arquivos de teste. Graças à função de visualização, é possível avaliar visualmente a integridade de documentos e fotos diretamente antes da recuperação.
Após verificar a correção das informações encontradas, selecione os arquivos necessários, clique no botão Recuperar e salve-os no disco local do seu computador.

MÉTODO 3. Recuperação de Dados Usando Snapshots
Outro recurso poderoso do Hetman RAID Recovery é o trabalho com snapshots, ou seja, capturas do estado do sistema.
Como mencionamos no início do vídeo, o formato qcow2 armazena todos os snapshots em um único arquivo. Quando esse disco virtual é montado, o programa localiza automaticamente todos os snapshots contidos nele e os exibe como unidades conectadas separadas na lista geral.

Isso facilita a recuperação de dados de estados anteriores do sistema. Por exemplo, se um arquivo importante foi modificado ou completamente excluído e já não existe na versão atual de trabalho da máquina virtual, você pode simplesmente retornar a um snapshot mais antigo. Selecione o snapshot necessário na lista e inicie o algoritmo de Varredura rápida.

O programa analisará sua estrutura e localizará versões anteriores dos arquivos. Depois disso, basta verificar visualmente os dados encontrados, selecionar os arquivos necessários e salvá-los em um disco local seguro usando o botão Recuperar.

Conclusão
A recuperação de discos virtuais e snapshots KVM no Red Hat Enterprise Linux 7.9 exige compreensão da arquitetura de virtualização, da estrutura de armazenamento e da forma como os dados são armazenados. Dependendo da configuração da máquina virtual, seu disco pode ser representado por um arquivo QCOW2 ou RAW localizado em um sistema de arquivos, ou por um volume lógico LVM. Isso determina a escolha das ferramentas e a sequência de ações durante a recuperação.
Se a máquina virtual não iniciar mais, o disco foi excluído acidentalmente ou um snapshot está corrompido, o primeiro passo é determinar a causa do problema e verificar a disponibilidade dos dados originais. Atenção especial deve ser dada aos snapshots QCOW2 externos, pois vínculos quebrados entre a imagem base e as imagens filhas podem resultar na perda de acesso ao estado atual do disco virtual. Ao usar LVM, é necessário verificar o estado dos volumes físicos, grupos de volumes e volumes lógicos sem alterar desnecessariamente sua estrutura.
Para aumentar as chances de recuperação bem-sucedida, recomenda-se interromper a gravação no dispositivo de armazenamento danificado, evitar a exclusão dos arquivos residuais de snapshots e, se possível, criar uma cópia setor por setor da unidade ou uma cópia de backup das imagens. Softwares especializados de recuperação de dados podem ser usados para localizar arquivos perdidos, incluindo soluções da Hetman Software. Ao mesmo tempo, o resultado depende do tipo de dano, do estado da unidade e de saber se os dados perdidos foram sobrescritos.
Para minimizar o risco de nova perda de dados, você deve criar backups regularmente dos discos virtuais e das configurações das máquinas virtuais, verificar a integridade dos backups e monitorar a saúde do armazenamento. Os snapshots devem ser usados como uma forma de retornar a um estado anterior, e não como substituto completo de backups.







