Je remplace un disque dur défectueux dans un btrfs en miroir.
btrfs device delete missing /[mountpoint]
prend très longtemps, donc je suppose qu'il s'agit en fait d'un rééquilibrage des données sur le disque de remplacement.
Existe-t-il un moyen de suivre l'avancement d'une telle opération?
Je ne m'attends pas nécessairement à une jolie interface graphique, ni même à un compteur%; et je suis prêt à écrire quelques lignes de script shell si cela est nécessaire, mais je ne sais même pas par où commencer pour rechercher des données pertinentes. btrfs filesystem show
par exemple, se bloque simplement, attendant probablement la fin de l'opération d'équilibrage avant d'afficher des informations sur les fs en miroir.
Balance on '/volume1' is running
28 out of about 171 chunks balanced (1156 considered), 84% left
. Fait inhabituel, le pourcentage décompte.cela produira quelque chose comme ceci:
Et si vous remarquez que l'identifiant d'appareil n ° 4 est un peu différent du reste. lorsque vous effectuez la "suppression de périphérique btrfs manquant / mntpoint", il commencera à régénérer les méta / données de raid nécessaires pour libérer ce lecteur "manquant".
si vous faites quelque chose comme
vous pouvez alors voir l'espace sur le périphérique "manquant" incriminé de plus en plus petit jusqu'à ce que l'opération soit terminée et qu'il soit supprimé du fi.
la source
BTRFS peut prendre un certain temps à lire ou à réorganiser les données avant d'écrire des données sur le lecteur sur lequel vous vous attendez à ce qu'elles écrivent.
Vous pouvez voir combien de temps CPU est consacré aux opérations BTRFS, y compris le rééquilibrage, l'ajout, la suppression, la conversion, etc.:
Pour voir à quel point chaque lecteur est occupé, installez sysstat et exécutez:
Ajoutez des options pour que iostat affiche les statistiques en mégaoctets et mettez à jour toutes les 30 secondes:
Exemple de sortie de scrub afin qu'aucune écriture pendant cet intervalle:
Installez et exécutez munin pour voir des graphiques historiques de l'activité du lecteur et de nombreuses autres informations. https://www.digitalocean.com/community/tutorials/how-to-install-the-munin-monitoring-tool-on-ubuntu-14-04
la source
Je me demandais également quand une suppression durable se terminerait, alors j'ai trouvé ce petit morceau de code shell:
Cela vous donnera une belle barre de progression comme celle-ci:
L'idée générale est d'utiliser
pv
pour afficher les progrès. Étant donné que cette commande permet uniquement de surveiller les octets circulant dans un tuyau, nous utilisonsdd
pour générer une quantité appropriée de zéros et les diriger verspv
.L'avantage de cette méthode est que vous obtenez une belle barre de progression. Cependant, comme il semble
btrfs
toujours supprimer les données un Go à la fois, cela prend un certain temps jusqu'à ce qu'une nouvelle différence dans la taille des octets puisse être observée.Pour résoudre ce problème, l'indicateur
-a
est ajouté aux indicateurs par défaut depv
pour lui faire afficher un taux de transmission moyen (car le taux de transmission actuel normal sera 0 la plupart du temps).Je me rends compte que ce n'est pas la meilleure solution mais la meilleure que j'ai pu trouver. Si quelqu'un a des idées d'améliorations, faites-le moi savoir! :)
la source