Btrfs

Comment utiliser Btrfs Scrub?

Comment utiliser Btrfs Scrub?
Le système de fichiers Btrfs est un système de fichiers multi-périphériques qui prend en charge le RAID. Dans un système de fichiers Btrfs ou RAID multi-périphériques, les blocs de données/métadonnées peuvent être stockés dans un ou plusieurs périphériques de stockage. L'outil de nettoyage Btrfs lira tous les blocs de données/métadonnées de tous les périphériques de stockage ajoutés à un système de fichiers Btrfs ou RAID et trouvera tous les blocs de données/métadonnées corrompus. Une fois les blocs de données/métadonnées corrompus trouvés, l'outil de nettoyage Btrfs réparera automatiquement ces blocs de données/métadonnées corrompus si possible.

Dans un système de fichiers Btrfs multi-périphériques ou RAID Btrfs, selon la configuration du système de fichiers, il peut y avoir plusieurs copies des blocs de données/métadonnées stockées dans différents emplacements des périphériques de stockage ajoutés au système de fichiers Btrfs. Lorsque l'outil de nettoyage Btrfs trouve un bloc de données/métadonnées corrompu, il recherche tous les périphériques de stockage ajoutés au système de fichiers Btrfs pour des copies en double de ce bloc de données/métadonnées. Une fois qu'une copie en double de ce bloc de données/métadonnées est trouvée, le bloc de données/métadonnées corrompu est écrasé par le bloc de données/métadonnées correct. C'est ainsi que l'outil de nettoyage Btrfs répare les blocs de données/métadonnées corrompus dans un système de fichiers Btrfs multi-périphériques ou Btrfs RAID.

Dans cet article, je vais vous montrer comment utiliser l'outil de nettoyage Btrfs pour rechercher et réparer les blocs de données/métadonnées corrompus dans un système de fichiers Btrfs multi-périphériques ou Btrfs RAID. Alors, commençons.

Abréviations

RAID - Matrice redondante de disques peu coûteux/indépendants
FR - Gigaoctet

Conditions préalables

Pour suivre cet article, vous devez disposer d'un système de fichiers Btrfs multi-périphériques fonctionnel ou d'un RAID Btrfs.

J'ai créé un RAID Btrfs dans RAID-1 configuration (monté sur le /Les données répertoire) à l'aide de 4 périphériques de stockage sdb, sdc, sdd, et sde, comme vous pouvez le voir dans la capture d'écran ci-dessous. J'utiliserai ce RAID Btrfs pour la démonstration de gommage Btrfs dans cet article.

$ sudo btrfs utilisation du système de fichiers / données

Si vous avez besoin d'aide pour installer le système de fichiers Btrfs sur Ubuntu, consultez mon article Installer et utiliser Btrfs sur Ubuntu 20.04 LTS.

Si vous avez besoin d'aide pour installer le système de fichiers Btrfs sur Fedora, consultez mon article Installer et utiliser Btrfs sur Fedora 33.

Si vous avez besoin d'aide pour créer un RAID Btrfs, consultez mon article Comment configurer Btrfs RAID.

Génération de fichiers factices sur le système de fichiers Btrfs

Pour vous montrer comment fonctionne l'outil de nettoyage Btrfs, nous devons générer des fichiers aléatoires pour remplir le système de fichiers Btrfs. Créons un script shell qui fait exactement cela.

Créer un nouveau script shell fichiers gen.sh dans le /usr/local/bin/ répertoire comme suit :

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

Tapez les lignes de codes suivantes dans le fichiers gen.sh script shell.

#!/bin/bash
bien que vrai
fais
FILENAME=$(uuidgen)
echo "[Création] $FILENAME"
dd if=/dev/random of=$FILENAME bs=1M count=256 status=progress
echo "[Créé] $FILENAME"
Fini

Une fois que vous avez terminé, appuyez sur + X suivie par Oui et pour sauver le fichiers gen.sh script shell.

le fichiers gen.sh le script shell exécute un infini tandis que boucle.

bien que vrai
fais
# autres codes
Fini

La ligne suivante génère un UUID en utilisant le uuidgen commande et stocke l'UUID dans le NOM DE FICHIER variable.

La ligne suivante imprime un message sur la console avant le fichier NOM DE FICHIER est généré.

La ligne suivante génère un nouveau fichier aléatoire NOM DE FICHIER en utilisant le jj commander. Le fichier sera 256 Mo en taille.

La ligne suivante imprime un message sur la console après le fichier NOM DE FICHIER est généré.

Ajouter l'autorisation d'exécution au fichiers gen.sh script shell comme suit :

s

le fichiers gen.sh le script shell devrait maintenant être accessible comme toutes les autres commandes.

$ quels genfiles.sh

Générons des fichiers aléatoires dans le Btrfs RAID monté dans le /Les données annuaire.

Naviguez vers le /Les données répertoire où le Btrfs RAID est monté comme suit :

$ cd /données

Comme vous pouvez le voir, il n'y a aucun fichier disponible dans mon Btrfs RAID pour le moment.

$ ls -lh

Pour générer des fichiers aléatoires dans le répertoire de travail courant (/Les données dans ce cas), exécutez le fichiers gen.sh script shell comme suit :

$ sudo genfiles.sh

le fichiers gen.sh le script shell devrait commencer à générer des fichiers aléatoires dans le /Les données annuaire.

le fichiers gen.sh le script génère des fichiers aléatoires. Laissez le script s'exécuter pendant quelques minutes pour qu'il remplisse environ 2-3 Go d'espace disque du RAID Btrfs.

Lorsque vous voulez arrêter le fichiers gen.sh script shell, appuyez sur + C.

Comme vous pouvez le voir, certains fichiers aléatoires sont générés dans le RAID Btrfs.

$ ls -lh

J'ai généré environ 13 Go de fichiers aléatoires dans le RAID Btrfs monté dans le /Les données répertoire, comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ sudo du -sh /données

Utilisation de l'outil de nettoyage Btrfs

Dans cette section, je vais vous montrer comment utiliser l'outil de gommage Btrfs. Commençons.

Vous pouvez démarrer le processus de nettoyage sur le système de fichiers Btrfs monté sur le /Les données répertoire avec la commande suivante :

$ sudo btrfs scrub start /data

Un processus de nettoyage Btrfs doit être lancé sur le système de fichiers Btrfs monté sur le /Les données annuaire.

Vous pouvez voir l'état du processus de nettoyage Btrfs en cours d'exécution sur le système de fichiers Btrfs monté sur le /Les données répertoire comme suit :

$ sudo btrfs scrub status /data

Comme vous pouvez le voir, le processus de nettoyage Btrfs est toujours fonctionnement.

Le nettoyage d'un système de fichiers Btrfs ou d'un RAID Btrfs contenant beaucoup de fichiers prendra beaucoup de temps.

Une fois le processus de nettoyage Btrfs terminé, le statut doit être modifié en fini, comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ sudo btrfs scrub status /data

Vous pouvez également voir l'état de nettoyage Btrfs pour chacun des périphériques de stockage ajoutés au système de fichiers Btrfs (monté dans le /Les données répertoire) séparément comme suit :

$ sudo btrfs scrub status -d /data

Je vous ai dit que le processus de nettoyage Btrfs prend beaucoup de temps sur un gros système de fichiers Btrfs. Un grand avantage de l'outil de nettoyage Btrfs est que son processus peut être interrompu et repris à tout moment.

Voyons comment mettre en pause et reprendre un processus de nettoyage Btrfs.

Tout d'abord, démarrez un nouveau processus de nettoyage Btrfs sur le système de fichiers Btrfs monté dans le répertoire /data comme suit :

$ sudo btrfs scrub start /data

Pour annuler ou suspendre le processus de nettoyage Btrfs en cours d'exécution sur le système de fichiers Btrfs monté sur le /Les données répertoire, exécutez la commande suivante :

$ sudo btrfs scrub annuler /données

Le processus de nettoyage Btrfs en cours doit être annulé ou suspendu.

Comme vous pouvez le voir, le statut de scrub de Btrfs est avorté. Ainsi, le processus de nettoyage Btrfs ne s'exécute plus.

$ sudo btrfs scrub status /data

Pour reprendre le processus de nettoyage Btrfs que vous avez annulé ou suspendu, exécutez la commande suivante :

$ sudo btrfs scrub CV/data

Le processus de nettoyage Btrfs doit être repris.

Comme vous pouvez le voir, le statut de scrub de Btrfs est maintenant fonctionnement. Ainsi, le processus de nettoyage Btrfs est repris.

$ sudo btrfs scrub status /data

Une fois le processus de nettoyage Btrfs terminé, l'état de nettoyage Btrfs doit être modifié en fini.

$ sudo btrfs scrub status /data

Conclusion

Dans cet article, je vous ai montré comment utiliser l'outil de nettoyage Btrfs pour rechercher et réparer les blocs de données/métadonnées corrompus d'un système de fichiers multi-périphériques Btrfs ou RAID. Je vous ai montré comment annuler/mettre en pause et reprendre un processus de nettoyage Btrfs une fois qu'il a également démarré.

Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...
Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...