GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment utiliser la commande "btrfs scrub" pour gérer le nettoyage sur les systèmes de fichiers Btrfs

Vous pouvez lancer une vérification de l'ensemble du système de fichiers en déclenchant une tâche de nettoyage du système de fichiers. La tâche de nettoyage s'exécute en arrière-plan par défaut et analyse l'intégrité du système de fichiers. Il tente automatiquement de signaler et de réparer tous les blocs défectueux qu'il trouve en cours de route. Au lieu de parcourir l'intégralité du lecteur de disque, la tâche de nettoyage traite uniquement les données qui sont réellement allouées. En fonction de l'espace disque alloué, cela est beaucoup plus rapide que d'effectuer une analyse de surface complète du disque.

Le nettoyage consiste à lire toutes les données de tous les disques et à vérifier les sommes de contrôle. Si des valeurs ne sont pas correctes, les données peuvent être corrigées en lisant une bonne copie du bloc à partir d'un autre lecteur. Le code de nettoyage scanne également lors de la lecture automatiquement. Il est recommandé de nettoyer les systèmes de fichiers à forte utilisation une fois par semaine et tous les autres systèmes de fichiers une fois par mois.

Voici une liste des commandes de nettoyage btrfs disponibles :

# btrfs scrub
usage: btrfs scrub [command] [options] [path]|[device]

    btrfs scrub start [-BdqrRf] [-c ioprio_class -n ioprio_classdata] [path]|[device]
        Start a new scrub. If a scrub is already running, the new one fails.
    btrfs scrub cancel [path]|[device]
        Cancel a running scrub
    btrfs scrub resume [-BdqrR] [-c ioprio_class -n ioprio_classdata] [path]|[device]
        Resume previously canceled or interrupted scrub
    btrfs scrub status [-dR] [path]|[device]
        Show status of running or finished scrub

verify checksums of data and metadata

Utilitaire de nettoyage btrfs :exemples

Utilisez la commande btrfs scrub start pour démarrer un nettoyage sur tous les périphériques d'un système de fichiers ou sur un seul périphérique. La syntaxe est la suivante :

# btrfs scrub start [-BdqrR] [-c ioprio_class ...

Description des options :

Option Description
-B Ne s'exécute pas en arrière-plan et imprime les statistiques lorsque vous avez terminé.
-d Imprime des statistiques distinctes pour chaque périphérique du système de fichiers. Cette option est utilisée conjointement avec l'option -B.
-q Exécuter en mode silencieux, en omettant les messages d'erreur et les statistiques.
-r Exécuter en mode lecture seule, sans corriger les erreurs.
-R Mode d'impression brute. Imprimer les données complètes au lieu du résumé.
-c ioprio_class Définir la classe de priorité IO (voir la page de manuel ionice).
-n ioprio_classdata Définir les données de classe de priorité IO (voir la page de manuel ionice).

Démarrage du nettoyage de btrfs

L'exemple suivant démarre un nettoyage sur le système de fichiers Btrfs qui est monté sur /btrfs.

# btrfs scrub start /btrfs
scrub started on /btrfs, fsid ba60ac96-1628-4656-b68b-c7327ff49179 (pid=11164)

Utilisez la commande btrfs scrub status pour obtenir l'état d'une tâche de nettoyage. Une option est disponible :

  • -d – Imprimer des statistiques distinctes pour chaque périphérique du système de fichiers.

Vous trouverez ci-dessous un exemple de commande btrfs scrub status sur un système de fichiers sain. Dans le cas d'un système de fichiers corrompu, vous verriez des erreurs corrigées dans la sortie.

# btrfs scrub status /btrfs
scrub status for ba60ac96-1628-4656-b68b-c7327ff49179
	scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02
	total bytes scrubbed: 325.29MiB with 0 errors

Avec l'option "-d" dans la commande ci-dessus, vous pouvez obtenir un état par niveau de périphérique, comme indiqué dans l'exemple ci-dessous.

# btrfs scrub status /btrfs -d
scrub status for ba60ac96-1628-4656-b68b-c7327ff49179
scrub device /dev/sda (id 1) history
	scrub started at Fri Mar 30 14:29:47 2018 and finished after 00:00:02
	total bytes scrubbed: 325.29MiB with 0 errors

Annuler/Reprendre une tâche de nettoyage btrfs

Vous pouvez également annuler une tâche de nettoyage en cours. La progression est enregistrée dans le fichier de progression du nettoyage et vous pouvez reprendre le nettoyage plus tard. Pour annuler un scrub :

# btrfs scrub cancel /btrfs

Pour reprendre une tâche de nettoyage annulée ou interrompue :

# btrfs scrub resume /btrfs

La commande scrub resume a les mêmes options que la commande scrub start. Btrfs stocke les deux dernières minutes, à intervalles de 30 secondes, des générations d'ID racine. Btrfs continue de rouler ces générations, même s'il n'y a aucun changement dans le système de fichiers.

Si un scrub ne corrige pas les erreurs, vous pouvez utiliser l'option de montage suivante pour revenir à une bonne arborescence B connue, étant donné que le reste de l'arborescence est disponible en raison de la copie sur écriture :

# mount –o recovery /dev/sda /btrfs


Cent OS
  1. Comment utiliser la commande Tar sous Linux

  2. Comment utiliser la commande apt pour gérer les packages sous Linux

  3. Comment utiliser Logrotate pour gérer les fichiers journaux

  4. Comment convertir des systèmes de fichiers Ext en Btrfs

  5. Exemples de commande "btrfs" pour créer et gérer le système de fichiers Btrfs

Comment utiliser une commande de fichier sous Linux

Comment utiliser la commande SCP sous Linux

Comment utiliser Screen Command sur Linux pour gérer les terminaux

Comment utiliser la commande Gzip sous Linux ?

Comment utiliser la commande lsof sous Linux

Comment utiliser la commande shred Linux