Como recuperar dados de um disco BtrFS ou de uma matriz RAID

No nosso artigo, aprenderá como recuperar dados de uma btrfs Raid no Linux. Como criar um, substituir um disco defeituoso e recuperar dados perdidos de um array corrompido.

Como recuperar dados de um disco BtrFS ou de uma matriz RAID

Frequentemente para a criação de uma matriz RAID no sistema operativo Linux mdadm e lvm são utilizados, pode aprender mais sobre estes sistemas num dos nossos tutoriais em vídeo.

Vá para ver
🐧 Sistema de archivos BtrFS. Cómo recuperar datos con BtrFS RAID 🐧

🐧 Sistema de archivos BtrFS. Cómo recuperar datos con BtrFS RAID 🐧

Além destas ferramentas explicadas no vídeo, o sistema de ficheiros Btrfs tem suporte integrado para RAID. Isto tem as suas próprias ferramentas para a construção e manipulação de matrizes de discos, por isso vamos ver mais de perto o que este sistema pode fazer.

BTRFS filesystem

Btrfs – é um novo sistema de ficheiros com Copy-on-Write suporte com suporte RAID incorporado. A essência desta grande característica é não sobrescrever dados antigos ao copiar. Esta é uma grande vantagem e torna muito mais fácil recuperar ficheiros apagados após falhas. Uma vez que qualquer falha ou erro durante o processo de cópia não afectará o estado anterior dos ficheiros.

Característica Descrição
Tipo de sistema de arquivos Copy-on-Write (COW)
Suporte a snapshots Capacidade de criar snapshots para recuperação rápida de dados
Suporte a RAID Suporte integrado para configurações RAID (RAID 0, 1, 5, 6, 10)
Compressão de dados Suporta compressão de dados transparente para economia de espaço
Integridade dos dados Verificação da integridade dos dados por meio de hashing e recuperação automática
Desfragmentação Desfragmentação automática e manual de dados
Expansibilidade Expansão dinâmica do tamanho do sistema de arquivos sem desmontar
Clonagem de arquivos Capacidade de clonar arquivos rapidamente sem duplicar dados

O sistema de arquivo armazena metadados separadamente dos dados do sistema de arquivo, e pode usar diferentes camadas de RAID para esta informação simultaneamente, esta é a sua principal vantagem. Além disso, o objectivo deste sistema é proporcionar uma melhor gestão de armazenamento e uma maior segurança para a integridade dos dados Linux.

Antes de começarmos a utilizar btrfs, teremos de instalar as ferramentas de gestão SA necessárias, executando o seguinte comando:

sudo apt install btrfs-tools

Instale os ficheiros necessários para trabalhar com o sistema de ficheiros

Criar um ponto de montagem

E antes de construir RAID tem de criar o directório de pontos de montagem.

Criar um directório:

Sudo mkdir -v /data

Onde "data" - эis o seu nome.

Crear un directorio de punto de montaje

Ahora vamos a empezar a crear el array.

Cómo crear RAID5

Al crear un array no es necesario particionar la unidad, el sistema de archivos no lo requiere. Puedes combinar las unidades en un array como un todo o como particiones separadas, incluso fusionar unidades con particiones existentes. En mi ejemplo mostraré cómo crear RAID 5 de cinco discos.

Para evitar tener que teclear tu contraseña de root todos los comandos se ejecutarán como administrador.

Todos los comandos se ejecutarán como administrador de Linux

Para construir una matriz, escriba el siguiente comando en el terminal:

sudo mkfs.btrfs -L data -m raid5 -d raid5 -f /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf

Donde:

  • l - es una etiqueta o nombre del sistema de archivos

Parámetro:

  • d - establecemos el tipo RAID5 para los datos.

  • m - establecemos el tip RAID5 para metadatos.

  • f - usado para forçar a criação de btrfs mesmo que algumas das unidades estejam formatadas num sistema de ficheiros diferente.

Criar um novo conjunto btrfs RAID5

Agora, pode ser montado utilizando qualquer uma das unidades que estão incluídas.

Como montar uma drive RAID

Utilizei 5 drives para criar RAID: sdb, sdc, sdd, sde e sdf. Assim, posso montar os dados do sistema de ficheiros no directório data com a ajuda do disco sdb. Abrimos a gestão do disco e montamos a nossa unidade que estará disponível depois de tudo isso.

Mounting in Linux

Alternativamente, pode montar a unidade no terminal.

sudo mount /dev/sdb1 /data

Para verificar isto, introduzir sudo df -h.

sudo df -h

Como pode ver, a nossa matriz é montada num directório /dados.

Mounting in Linux сon ajuda de um terminal

E para ver a informação sobre o espaço ocupado e livre da matriz, entre:

sudo btrfs filesystem usage /data

View occupied and free space information

E para desmontar uma matriz, basta entrar:

sudo umount /data

Desmanchar a matriz

Como substituir ou acrescentar uma unidade

Para substituir uma unidade, digite btrfs substituir no terminal. É executado de forma assíncrona, ou seja, é executado gradualmente:

  • start - para arrancar,
  • cancel - para parar,
  • status - para ver o estado.

A primeira coisa a fazer é determinar o número da unidade danificada:

sudo btrfs filesystem show

É preciso determinar o número da unidade corrompida

Então deve ser trocado por um novo:

btrfs replace start <dispositivo a remover ou o seu ID> < dispositivo a adicionar> <o caminho onde o dispositivo é montado btrfs>

No meu caso, inserimos:

btrfs replace start 3 /dev/sdg

where: 3 - é o número da unidade em falta, e sdg é o código da nova unidade.

Substituição de unidades danificadas numa matriz

Como reparar um volume danificado

Para restaurar uma matriz Btrfs, devemos usar a opção de montagem integrada - recovery.

sudo mount -o recovery /dev/sdb /mnt

Nós restauramos RAID

Então iniciamos o processo de recuperação.

Recuperação de dados com btrfs RAID5

Even o sistema mais robusto e tolerante a falhas pode falhar. Falha do sistema, falha da unidade, falha de hardware, corrupção de metadados, eliminação acidental e máconfiguração podem resultar em RAID falha e perda de dados importantes. Se encontrar isto, utilize Hetman RAID Recovery. É capaz de recuperar qualquer informação de matrizes ou suportes não funcionais que fizessem parte da matriz. A utilidade reconstruirá o destruído RAID lendo passo a passo toda a informação conhecida, depois é possível copiar todos os dados encontrados.

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

Conectar a unidade a um PC com Windows instalado, utilizar uma máquina virtual ou instalá-la como um segundo sistema.

O programa fará automaticamente o scan do espaço do disco, e exibirá o máximo de informação possível sobre a matriz.

O programa encontrou informações sobre o RAID

Como pode ver, no nosso caso com btrfs RAID, o programa não monta as unidades numa matriz, isto deve-se à natureza da sua construção, e toda a informação é armazenada de acordo com o tipo RAID.

Para iniciar o processo de recuperação, abra o gestor do disco, clique com o botão direito do rato em qualquer dos discos que compõem a matriz, e execute "Pesquisa rápida".

Pesquisa rápida de ficheiros

Ao digitalizar qualquer um dos discos, o resultado será idêntico pois todos eles fazem parte do mesmo conjunto.

Após a verificação estar completa, o programa exibirá os ficheiros encontrados, com uma pré-visualização dos ficheiros, o que torna mais fácil encontrar as imagens ou vídeos que procura.

Pesquisa e pré-visualização dos resultados

Seleccionar os ficheiros que deseja restaurar e clicar "Restaurar", especificar o caminho para os guardar e clicar "Restaurar" novamente. Quando terminado, todos os ficheiros serão colocados na pasta especificada.

Guardar ficheiros recuperados

Se a verificação rápida não encontrar os ficheiros de que precisamos, execute a "Verificação completa". Este tipo de scan demorará mais tempo, mas encontrará toda a informação deixada no disco, mesmo a informação que foi apagada do disco há muito tempo.

Fizemos um scan completo das unidades

Como este é o quinto RAID todos os dados permanecem intactos na ausência de uma unidade, mas se duas unidades falharem, alguns dados serão corrompidos.

Informação corrompida quando 2 ou mais unidades falham

Características do sistema de ficheiros btrfs

Btrfs suporta compressão de dados. Ou seja, toda a informação disponível sobre os meios de comunicação será automaticamente comprimida. E quando os dados são acedidos, cada ficheiro específico é automaticamente descomprimido.

Esta característica poupa muito espaço de armazenamento, bem como tempo de procura de software de compressão de dados de terceiros. O sistema de ficheiros suporta 3 métodos principais de compressão de ficheiros - estes são zlib, lzo e zstd. A sua principal diferença é o grau, bem como a taxa de compressão.

O nosso programa permite-lhe recuperar ficheiros comprimidos por qualquer um destes três métodos. Na interface do programa, os volumes e ficheiros comprimidos são mostrados da seguinte forma, como se pode ver, são destacados numa cor diferente.

Highlight compressed data with a different color

Uma outra grande vantagem é a criação de subvolumes. Simplificando, 3 discos diferentes (subvolumes) podem ser criados numa só unidade. Estes subvolumes são capazes de se auto-expandir para o espaço livre de outro volume. Esta função permite expandir uma unidade à custa de outra sem comprimir e transferir dados, se necessário. Estes subvolumes são mostrados no programa como se segue, são os discos dentro da unidade primária.

Exibindo subvolumes

Pastas com snap-shots são exibidas da mesma forma.

Para criar subvolumes, use o comando:

btrfs subvolume create /mnt/btrfs/my-subvolume

Criação de subvolume via terminal

E para ver uma lista de subvolumes nesta unidade, execute:

btrfs subvolume list /mnt/btrfs

Ver a lista de subvolumes através do terminal

Para montar um subvolume:

mount -o subvol=my-subvolume /dev/sdd2 /mnt/btrfs2

onde sdb1 - é o código do disco.

Montagem de subvolumes via terminal

Conclusão

Existe um pequeno número de ferramentas de recuperação de dados que podem ler btrfs RAID. Ao escolher um, deve estar ciente de que os dados podem ser perdidos no processo, por isso certifique-se de que tem a opção de criar uma imagem da matriz e digitalizar a partir da imagem. Ainda assim, a melhor solução para se proteger da perda de dados importantes é fazer backups regulares.

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