Btrfs

Como usar o Btrfs Scrub?

Como usar o Btrfs Scrub?
O sistema de arquivos Btrfs é um sistema de arquivos multi-dispositivos que possui suporte embutido para RAID. Em um sistema de arquivos Btrfs de vários dispositivos ou RAID, os blocos de dados / metadados podem ser armazenados em um ou mais dispositivos de armazenamento. A ferramenta de limpeza Btrfs lerá todos os blocos de dados / metadados de todos os dispositivos de armazenamento adicionados a um sistema de arquivos Btrfs ou RAID e encontrará todos os blocos de dados / metadados corrompidos. Uma vez que os blocos de dados / metadados corrompidos são encontrados, a ferramenta de limpeza Btrfs irá reparar automaticamente os blocos de dados / metadados corrompidos, se possível.

Em um sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs, dependendo da configuração do sistema de arquivos, pode haver várias cópias dos blocos de dados / metadados armazenados em diferentes locais dos dispositivos de armazenamento adicionados ao sistema de arquivos Btrfs. Quando a ferramenta de limpeza Btrfs encontra um bloco de dados / metadados corrompido, ela procura em todos os dispositivos de armazenamento adicionados ao sistema de arquivos Btrfs por cópias duplicadas desse bloco de dados / metadados. Uma vez que uma cópia duplicada desse bloco de dados / metadados é encontrada, o bloco de dados / metadados corrompido é sobrescrito com o bloco de dados / metadados correto. É assim que a ferramenta de limpeza Btrfs repara blocos de dados / metadados corrompidos em um sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs.

Neste artigo, vou mostrar como usar a ferramenta de limpeza Btrfs para localizar e reparar blocos de dados / metadados corrompidos em um sistema de arquivos Btrfs de vários dispositivos ou RAID Btrfs. Então vamos começar.

Abreviações

ATAQUE - Matriz redundante de discos baratos / independentes
GB - Gigabyte

Pré-requisitos

Para seguir este artigo, você precisa ter um sistema de arquivos Btrfs para vários dispositivos ou um RAID Btrfs.

Eu criei um RAID Btrfs em RAID-1 configuração (montada no /dados diretório) usando 4 dispositivos de armazenamento sdb, sdc, sdd, e sde, como você pode ver na imagem abaixo. Usarei este RAID Btrfs para a demonstração de scrub do Btrfs neste artigo.

Uso / dados do sistema de arquivos $ sudo btrfs

Se você precisar de ajuda para instalar o sistema de arquivos Btrfs no Ubuntu, consulte meu artigo Instalar e usar o Btrfs no Ubuntu 20.04 LTS.

Se você precisar de ajuda para instalar o sistema de arquivos Btrfs no Fedora, verifique meu artigo Instalar e usar Btrfs no Fedora 33.

Se você precisar de ajuda na criação de um RAID Btrfs, verifique meu artigo Como configurar RAID Btrfs.

Gerando arquivos fictícios no sistema de arquivos Btrfs

Para mostrar como a ferramenta de limpeza Btrfs funciona, precisamos gerar alguns arquivos aleatórios para preencher o sistema de arquivos Btrfs. Vamos criar um script de shell que faz exatamente isso.

Crie um novo script de shell genfiles.sh no / usr / local / bin / diretório da seguinte forma:

$ sudo nano / usr / local / bin / genfiles.sh

Digite as seguintes linhas de códigos no genfiles.sh script de shell.

#!/ bin / bash
enquanto verdadeiro
Faz
FILENAME = $ (uuidgen)
echo "[Criando] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M contagem = 256 status = progresso
echo "[Criado] $ FILENAME"
feito

Assim que terminar, pressione + X seguido pela Y e para salvar o genfiles.sh script de shell.

O genfiles.sh script de shell executa um infinito enquanto ciclo.

enquanto verdadeiro
Faz
# outros códigos
feito

A linha a seguir gera um UUID usando o uuidgen comando e armazena o UUID no NOME DO ARQUIVO variável.

A linha a seguir imprime uma mensagem no console antes do arquivo NOME DO ARQUIVO é gerado.

A linha a seguir gera um novo arquivo aleatório NOME DO ARQUIVO usando o dd comando. O arquivo será 256 MB no tamanho.

A linha a seguir imprime uma mensagem no console após o arquivo NOME DO ARQUIVO é gerado.

Adicione permissão de execução ao genfiles.sh script de shell da seguinte maneira:

s

O genfiles.sh o script de shell agora deve estar acessível como qualquer outro comando.

$ which genfiles.sh

Vamos gerar alguns arquivos aleatórios no RAID Btrfs montado no /dados diretório.

Navegue até o /dados diretório onde o Btrfs RAID é montado da seguinte maneira:

$ cd / data

Como você pode ver, não há arquivos disponíveis no meu RAID Btrfs no momento.

$ ls -lh

Para gerar alguns arquivos aleatórios no diretório de trabalho atual (/dados neste caso), execute o genfiles.sh script de shell da seguinte maneira:

$ sudo genfiles.sh

O genfiles.sh o script de shell deve começar a gerar arquivos aleatórios no /dados diretório.

O genfiles.sh script está gerando arquivos aleatórios. Deixe o script ser executado por alguns minutos, de modo que ele preencha cerca de 2-3 GB de espaço em disco do RAID Btrfs.

Quando você quiser parar o genfiles.sh script de shell, pressione + C.

Como você pode ver, alguns arquivos aleatórios são gerados no Btrfs RAID.

$ ls -lh

Eu gerei cerca de 13 GB de arquivos aleatórios no RAID Btrfs montado no /dados diretório, como você pode ver na imagem abaixo.

$ sudo du -sh / data

Trabalhando com a ferramenta Btrfs Scrub

Nesta seção, vou mostrar como usar a ferramenta scrub Btrfs. Vamos começar.

Você pode iniciar o processo de depuração no sistema de arquivos Btrfs montado no /dados diretório com o seguinte comando:

$ sudo btrfs scrub start / data

Um processo de limpeza Btrfs deve ser iniciado no sistema de arquivos Btrfs montado no /dados diretório.

Você pode ver o status do processo de limpeza do Btrfs em execução no sistema de arquivos Btrfs montado no /dados diretório da seguinte forma:

$ sudo btrfs scrub status / data

Como você pode ver, o processo de limpeza do Btrfs ainda está corrida.

Limpar um sistema de arquivos Btrfs ou RAID Btrfs que tem muitos arquivos levará muito tempo para ser concluído.

Assim que o processo de limpeza do Btrfs for concluído, o status deve ser alterado para finalizado, como você pode ver na imagem abaixo.

$ sudo btrfs scrub status / data

Você também pode ver o status de limpeza do Btrfs para cada um dos dispositivos de armazenamento adicionados ao sistema de arquivos Btrfs (montado no /dados diretório) separadamente da seguinte forma:

$ sudo btrfs scrub status -d / data

Eu disse a você que o processo de limpeza do Btrfs leva muito tempo para ser concluído em um grande sistema de arquivos Btrfs. Uma grande vantagem da ferramenta de limpeza Btrfs é que seu processo pode ser pausado e retomado a qualquer momento.

Vamos ver como pausar e retomar um processo de limpeza do Btrfs.

Primeiro, inicie um novo processo de limpeza Btrfs no sistema de arquivos Btrfs montado no diretório / data da seguinte maneira:

$ sudo btrfs scrub start / data

Para cancelar ou pausar o processo de limpeza do Btrfs que está em execução no sistema de arquivos Btrfs montado no /dados diretório, execute o seguinte comando:

$ sudo btrfs scrub cancel / data

O processo de limpeza do Btrfs em execução deve ser cancelado ou pausado.

Como você pode ver, o status de limpeza do Btrfs é abortado. Portanto, o processo de limpeza do Btrfs não está mais em execução.

$ sudo btrfs scrub status / data

Para retomar o processo de limpeza do Btrfs que você cancelou ou pausou, execute o seguinte comando:

$ sudo btrfs scrub currículo / dados

O processo de limpeza do Btrfs deve ser retomado.

Como você pode ver, o status de limpeza do Btrfs é agora corrida. Portanto, o processo de limpeza do Btrfs é retomado.

$ sudo btrfs scrub status / data

Após a conclusão do processo de limpeza do Btrfs, o status de limpeza do Btrfs deve ser alterado para finalizado.

$ sudo btrfs scrub status / data

Conclusão

Neste artigo, mostrei como trabalhar com a ferramenta scrub Btrfs para encontrar e corrigir blocos de dados / metadados corrompidos de um sistema de arquivos multi-dispositivo Btrfs ou RAID. Eu mostrei como cancelar / pausar e retomar um processo de limpeza do Btrfs assim que ele for iniciado.

Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...