Comment utiliser BTRFS Balance?

Comment utiliser BTRFS Balance?
Le système de fichiers BTRFS a une prise en charge multi-appareils intégrée, vous pouvez donc créer différents niveaux de raid en utilisant.

Une fois que vous avez créé un BTRFS RAID, vous pouvez ajouter plus de périphériques de stockage au raid pour étendre le raid. Mais, une fois que vous avez ajouté plus de périphériques de stockage au RAID, BTRFS ne diffusera pas automatiquement les données / métadonnées / systèmes existantes aux nouveaux périphériques de stockage. Ainsi, vous ne pouvez pas sortir le débit souhaité (lecture / vitesse d'écriture) du raid, et il peut ne pas être en mesure de remplir les nouveaux dispositifs de stockage avec les données requises requises. Ainsi, le réseau RAID peut ne pas survivre au nombre souhaité d'échecs de lecteur.

Pour résoudre ces problèmes, le système de fichiers BTRFS fournit un outil d'équilibrage intégré. L'utilitaire BTRFS Balance diffusera les données / métadonnées / données système des périphériques de stockage existants du RAID aux dispositifs de stockage nouvellement ajoutés.

Dans cet article, je vais vous montrer comment utiliser l'utilitaire de solde BTRFS pour diffuser les données / métadonnées / données système des périphériques de stockage existants du RAID aux dispositifs de stockage nouvellement ajoutés. Alors, commençons!

Abréviations

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

Conditions préalables

Pour suivre cet article, vous devez avoir un raid BTRFS ou une configuration multi-appareils qui fonctionne.

J'ai créé un raid btrfs dans Raid-0 Configuration à l'aide de 4 périphériques de stockage SDB, SDC, SDD, et SDE.

Comme vous pouvez le voir, le système de fichiers BTRFS a été alloué 1 Go d'espace disque pour les données1 256 MB de l'espace disque pour métadonnées2, et 4 Mb de l'espace disque pour System-Data3 à partir de chacun des dispositifs de stockage du raid.

À propos 18.75 Go hors de 20 Go n'est toujours pas alloué 4 à partir de chacun des dispositifs de stockage du raid.

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

Écrire un script pour générer des fichiers aléatoires

Pour vous montrer comment fonctionne l'utilitaire BTRFS Balance, 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.sh 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 de 256 Mo.

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:

$ sudo chmod + x / usr / local / bin / genfiles.shot

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

$ quelles genfiles.shot

Génération de fichiers aléatoires dans le système de fichiers BTRFS

Nous voulons générer des fichiers aléatoires dans le raid BTRFS. Disons que le raid BTRFS est monté sur 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


Comme vous pouvez le voir, le BTRFS RAID a alloué 2 Go de chacun des dispositifs de stockage ajoutés au RAID. Auparavant, le RAID BTRFS a alloué 1 Go de chacun des dispositifs de stockage ajoutés au RAID.

L'espace disque non alloué a été réduit de 18.75 Go pour 17.75 Go Dans tous les dispositifs de stockage du raid.

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

Ajout d'un autre périphérique de stockage au RAID BTRFS

Pour vous montrer comment équilibrer un raid BTRFS après avoir ajouté un nouveau périphérique de stockage, vous devez y ajouter un nouveau périphérique de stockage.

J'ai ajouté un nouveau disque dur SDF à mon ordinateur, que je veux ajouter au raid btrfs monté sur le /données annuaire. Voyons comment le faire.

$ sudo lsblk -e7

Accédez à un autre répertoire (i.e., MAISON répertoire) du /données Répertoire comme suit:

$ CD

Pour ajouter le périphérique de stockage SDF au raid btrfs monté sur le /données répertoire, exécutez la commande suivante:

$ Sudo Btrfs Add / Dev / SDF / DATA

Comme vous pouvez le voir, le périphérique de stockage SDF est ajouté au raid btrfs. La taille du raid a augmenté de 80 Go pour 100 Go.

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

Équilibrer le raid BTRFS

Comme vous pouvez le voir, le dispositif de stockage nouvellement ajouté (SDF) du raid (monté sur le /données Directory) a 20 Go non alloué et les autres périphériques de stockage (SDB, SDC, SDD, SDE, etc.) ont 17.75 Go non alloué.

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

Les données1, métadonnées2, et les données système3 ne sont disponibles que sur les périphériques de stockage existants du RAID, pas le dispositif de stockage nouvellement ajouté.

Pour étaler les données, les métadonnées et les données système sur tous les périphériques de stockage du RAID (y compris le dispositif de stockage nouvellement ajouté) monté sur le /données répertoire, exécutez la commande suivante:

$ sudo btrfs bilan start --full-balance / data

Il peut prendre un certain temps pour étaler les données, les métadonnées et les données système sur tous les dispositifs de stockage du RAID IFIT contient beaucoup de données.

Une fois que les périphériques de stockage du RAID sont correctement équilibrés, vous devriez voir le message suivant.

Comme vous pouvez le voir, une fois l'opération d'équilibre terminée, le dispositif de stockage nouvellement ajouté a une quantité égale d'espace disque non alloué comme les autres périphériques de stockage du RAID.

Après l'opération d'équilibre, une quantité égale d'espace disque car les autres périphériques de stockage du RAID sont alloués pour les données, les métadonnées et les données système à partir du dispositif de stockage nouvellement ajouté (SDF) du raid.

Conclusion

Dans cet article, j'ai discuté de l'objectif de l'utilitaire BTRFS Balance, ainsi que de la façon d'équilibrer un système de fichiers BTRFS RAID ou Multi-Device après avoir ajouté de nouveaux périphériques de stockage au Système de fichiers RAID ou Multi-Device.