Comment utiliser le gommage btrfs?

Comment utiliser le gommage btrfs?
Le Système de fichiers BTRFS est un système de fichiers multi-appareils qui a une prise en charge intégrée pour RAID. Dans un système de fichiers ou un raid BTRFS multi-appareils, les blocs de données / métadonnées peuvent être stockés dans un ou plusieurs périphériques de stockage. L'outil BTRFS Scrub lisera tous les blocs de données / métadonnées de tous les périphériques de stockage ajoutés à un système de fichiers ou à un raid BTRFS et à trouver 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 gommage BTRFS réparera automatiquement ces blocs de données / métadonnées corrompus si possible.

Dans un système de fichiers BTRFS multi-appareils ou un raid BTRFS, en fonction de la configuration du système de fichiers, il peut y avoir plusieurs copies des blocs de données / métadonnées stockés dans différents emplacements des périphériques de stockage ajoutés au système de fichiers BTRFS. Lorsque l'outil BTRFS Scrub 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é avec le bloc de données / métadonnées corrects. C'est ainsi que l'outil BTRFS GRUST répare les blocs de données / métadonnées corrompus dans un système de fichiers BTRFS multi-appareils ou un raid BTRFS.

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

Abréviations

RAID - Array redondant de disques peu coûteux / indépendants
GB - Gigaoctet

Conditions préalables

Pour suivre cet article, vous devez avoir un système de fichiers BTRFS multi-appareils qui fonctionne ou un raid BTRFS.

J'ai créé un raid btrfs dans Raid-1 configuration (monté sur le /données répertoire) Utilisation 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 BTRFS Scrub dans cet article.

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

Si vous avez besoin d'aide pour installer le système de fichiers BTRFS sur Ubuntu, consultez mon article Installer et utilisez 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 utilisez BTRFS sur Fedora 33.

Si vous avez besoin d'aide pour créer un raid BTRFS, consultez mon article Comment configurer le raid btrfs.

Générer des fichiers factice sur le système de fichiers BTRFS

Pour vous montrer comment fonctionne l'outil BTRFS Scrub, 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 Genfiles.shot dans le / usr / local / bin / Répertoire comme suit:

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

Tapez les lignes de codes suivantes dans le Genfiles.shot script shell.

#!/ bac / bash
Bien que vrai
faire
FileName = $ (uuidgen)
Echo "[Création] $ nom de fichier"
dd if = / dev / aléos
Echo "[créé] $ nom de fichier"
fait

Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le Genfiles.shot script shell.

Le Genfiles.shot Shell Script exécute un infini alors que boucle.

Bien que vrai
faire
# Autres codes
fait

La ligne suivante génère un UUID en utilisant le uuidgen commander 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 dd commande. Le fichier sera 256 MB en taille.

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

Ajouter une autorisation d'exécution au Genfiles.shot script shell comme suit:

s

Le Genfiles.shot Le script shell doit désormais être accessible comme toutes les autres commandes.

$ quelles genfiles.shot

Générons quelques fichiers aléatoires dans le RAID BTRFS monté dans le /données annuaire.

Accédez à la /données Répertoire où le raid BTRFS est monté comme suit:

$ cd / données

Comme vous pouvez le voir, il n'y a pas de fichiers disponibles dans mon raid BTRFS pour le moment.

$ ls -lh

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

$ sudo genfiles.shot

Le Genfiles.shot Le script shell devrait commencer à générer des fichiers aléatoires dans le /données annuaire.

Le Genfiles.shot Le script génère des fichiers aléatoires. Laissez le script fonctionner pendant quelques minutes, donc il remplit environ 2-3 Go d'espace disque du RAID BTRFS.

Lorsque vous voulez arrêter le Genfiles.shot 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 /données Répertoire, comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ sudo du -sh / data

Travailler avec l'outil de gommage BTRFS

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

Vous pouvez démarrer le processus de gommage sur le système de fichiers BTRFS monté sur le /données Répertoire avec la commande suivante:

$ sudo btrfs Scrub start / data

Un processus de gommage BTRFS doit être démarré sur le système de fichiers BTRFS monté sur le /données annuaire.

Vous pouvez voir l'état du processus de gommage BTRFS fonctionnant sur le système de fichiers BTRFS monté sur le /données Répertoire comme suit:

$ sudo btrfs statut / data

Comme vous pouvez le voir, le processus de gommage BTRFS est toujours en cours.

Le frotter un Système de fichiers BTRFS ou un raid BTRFS qui a beaucoup de fichiers prendra beaucoup de temps.

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

$ sudo btrfs statut / data

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

$ sudo btrfs statut de gommage -d / data

Je vous ai dit que le processus de gommage BTRFS met beaucoup de temps à terminer un grand système de fichiers BTRFS. Un gros avantage de l'outil de broussailles BTRFS est que son processus peut être interrompu et reprendre à tout moment.

Voyons comment faire une pause et reprendre un processus de gommage BTRFS.

Tout d'abord, démarrez un nouveau processus de gommage BTRFS sur le système de fichiers BTRFS monté dans le répertoire / données comme suit:

$ sudo btrfs Scrub start / data

Pour annuler ou suspendre le processus de gommage BTRFS qui s'exécute actuellement sur le système de fichiers BTRFS monté sur le /données répertoire, exécutez la commande suivante:

$ sudo btrfs smouffer annule / data

Le processus de gommage BTRFS en cours d'exécution doit être annulé ou interrompu.

Comme vous pouvez le voir, le statut de gommage BTRFS est avorté. Donc, le processus de gommage BTRFS ne fonctionne plus.

$ sudo btrfs statut / data

Pour reprendre le processus de gommage BTRFS que vous avez annulé ou fait une pause, exécutez la commande suivante:

$ sudo btrfs currise / données

Le processus de gommage BTRFS doit être repris.

Comme vous pouvez le voir, le statut de broussailles BTRFS est maintenant en cours. Ainsi, le processus de gommage BTRFS est repris.

$ sudo btrfs statut / data

Une fois le processus de gommage BTRFS terminé, le statut de gommage BTRFS doit être modifié en fini.

$ sudo btrfs statut / data

Conclusion

Dans cet article, je vous ai montré comment travailler avec l'outil de gommage BTRFS pour trouver et corriger les blocs de données / métadonnées corrompus d'un système de fichiers ou d'un raid BTRFS. Je vous ai montré comment annuler / faire une pause et reprendre un processus de gommage BTRFS une fois qu'il est également démarré.