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.

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.

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.

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

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.

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.

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.

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.

Alternativamente, pode montar a unidade no terminal.

sudo mount /dev/sdb1 /data

Para verificar isto, introduzir sudo df -h.

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

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

sudo btrfs filesystem usage /data

E para desmontar uma matriz, basta entrar:

sudo umount /data

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

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.

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

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.

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.

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".

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.

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.

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.

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.

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.

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.

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

Para criar subvolumes, use o comando:

btrfs subvolume create /mnt/btrfs/my-subvolume

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

btrfs subvolume list /mnt/btrfs

Para montar um subvolume:

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

onde sdb1 - é o código do disco.

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.

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.

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ê