J'essaie de décider d'un système de fichiers et je voudrais savoir s'il est possible de remplacer un disque défectueux en RAID btrfs sans temps d'arrêt.
Supposons que je crée un nouveau système de fichiers btrfs à l'aide de la commande
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
Supposons maintenant qu'un jour
/dev/sdc
échoue. Il y a deux possibilités: il peut échouer progressivement, montrant des erreurs SMART - dans cette situation, je peux ajouter un nouveau périphérique avecbtrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
puis supprimer l'ancien avecbtrfs device delete /dev/sdc /mnt
.Mais s'il échoue soudainement, devenant illisible ... Une recherche sur le Web dit que dans cette situation, je dois d'abord démonter le système de fichiers, monter en mode dégradé, ajouter un nouveau périphérique, puis supprimer le périphérique manquant.
umount /mnt mount -o degraded /dev/sdb /mnt btrfs device add /dev/sdf /mnt btrfs device delete missing /mnt
Un démontage est évidemment une opération perturbatrice, il y aurait donc un temps d'arrêt - toute application utilisant le système de fichiers obtiendrait une erreur d'E / S. Mais ce type de "tutoriels" sur btrfs semble obsolète, étant donné que btrfs est en cours de développement.
La question est: compte tenu de l'état actuel de btrfs, est-il possible de le faire en ligne, c'est-à-dire sans démontage?
Sinon, existe-t-il une solution logicielle qui peut répondre à ce besoin?
la source
btrfs replace mountpoint old_disk new_disk
été ajouté.Réponses:
Dans Linux 3.8, a
btrfs replace mountpoint old_disk new_disk
été ajouté. Si vous utilisez un noyau récent, il fournira les fonctionnalités que vous recherchez.la source
btrfs replace start /dev/old /dev/new /mountpoint
(le début a été ajouté). Voir aussiman btrfs-replace
.petite correction, la syntaxe actuelle est:
qui puis arrière-plans.
Vous pouvez vérifier le statut avec
qui vous montrera un état constamment mis à jour de l'opération de remplacement.
la source