Pourquoi btrfs permet-il de créer un RAID1 avec des lecteurs incompatibles?

Je crée un btrfs en utilisant

sudo mkfs.btrfs -m raid1 -d raid1 <small-disk> <large-disk> or sudo mkfs.btrfs -m raid1 -d raid1 <large-disk> <small-disk> 

il crée le fs avec la taille de la sum des deux disques / partitions, mais

  btrfs fi df <mountpoint> 

me donne RAID1 pour datatables, le système et les métadonnées

Comment cela peut-il être correct?

Y at-il un moyen comme mdadm

 cat /proc/mdstat 

pour voir ce que fait btrfs et pour m'assurer que mon raid1 est sécurisé? Ce ne sont pas des données très importantes, d'où l'utilisation de Btrfs, mais je ne veux pas non plus le perdre.

J'ai trouvé la réponse en posant sur la list de diffusion.

btrfs ne fait pas de RAID par volume, mais plutôt par morceau. Le système de files réserve un espace "brut" dans des blocs de 1 Go (pe). Initialiser le fs avec raid1 signifie qu'à chaque fois qu'il essaie d'allouer un morceau, il tente d'allouer une copy de ce morceau sur un autre périphérique.

Cette architecture autorise les périphériques de taille mixte et ses fonctionnalités futures peuvent inclure des niveaux de raid par file.

Actuellement, df vous montre la quantité d'espace libre disponible sur les périphériques, qui est la sum de toutes les tailles de périphériques. En supposant que la taille du fragment est de 1 Go, l'écriture d'un file de 5 Mo sur un raid1-btrfs réduira donc l'espace brut de 2 Go. C'est pourquoi btrfs inclut la command btrfs fi df pour vous donner l'utilisation réelle. Cela sera probablement adapté à l'avenir pour montrer plus précisément ce qui se passe.