Est-il judicieux de mettre btrfs sur lvm?

11

C'est OpenSUSE Leap 42. J'ai un ordinateur avec 2x 500 Go de disques durs SATA et pour l'accélérer, j'ai mis un petit disque SSD de 30 Go pour le système. Au cours de l'installation, les disques durs ont été déconnectés car ils ont confondu le programme d'installation (et moi). Une fois le système en place, j'ai assez facilement échangé le répertoire / home contre un volume logique XFS (j'utilise LVM principalement pour ajouter de l'espace facilement). Puis / opt rempli (chrome et botanicula) et je voulais mettre ça sur un volume sur disque dur. J'ai donc créé un volume et l'ai formaté avec BTRFS. Après quelques grattages de tête - @ subvolumesdans fstab m'a fait lire sur BTRFS, j'ai fait ce dont j'avais besoin - / opt a maintenant une taille de 100 Go.

Mais la question est: est -il judicieux de formater un volume LVM avec btrfs? Il s'agit essentiellement de systèmes de gestion de volume.

Pour illustration, je colle mon fstab (# les commentaires montrent mes modifications) et la sortie vgscan + lvscan:

~> cat /etc/fstab

UUID=1b511986-9c20-4885-8385-1cc03663201b swap swap defaults 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af / btrfs defaults 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /boot/grub2/i386-pc btrfs subvol=@/boot/grub2/i386-pc 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /boot/grub2/x86_64-efi bt

rfs subvol=@/boot/grub2/x86_64-efi 0 0
UUID=3e103686-52e9-44ac-963f-5a76177af56b /opt                 btrfs      defaults              0 0
#UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /opt btrfs subvol=@/opt 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /srv btrfs subvol=@/srv 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /tmp btrfs subvol=@/tmp 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /usr/local btrfs subvol=@/usr/local 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/crash btrfs subvol=@/var/crash 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/libvirt/images btrfs subvol=@/var/lib/libvirt/images 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/mailman btrfs subvol=@/var/lib/mailman 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/mariadb btrfs subvol=@/var/lib/mariadb 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/mysql btrfs subvol=@/var/lib/mysql 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/named btrfs subvol=@/var/lib/named 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/pgsql btrfs subvol=@/var/lib/pgsql 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/log btrfs subvol=@/var/log 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/opt btrfs subvol=@/var/opt 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/spool btrfs subvol=@/var/spool 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/tmp btrfs subvol=@/var/tmp 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /.snapshots btrfs subvol=@/.snapshots 0 0
UUID=c4c4f819-a548-4881-b854-a0ed62e7952e /home     xfs defaults 1 2
#UUID=e14edbfa-ddc2-4f6d-9cba-245d828ba8aa /home                xfs        defaults              1 2

~>

# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "r0data" using metadata type lvm2
  Found volume group "r0sys" using metadata type lvm2

# lvscan
  ACTIVE            '/dev/r0data/homer' [699.53 GiB] inherit
  ACTIVE            '/dev/r0sys/optr' [100.00 GiB] inherit

Après la réponse: Merci, je comprends maintenant les principales différences. Pour moi, LVM est en effet préférable pour gérer l'espace avec tous les systèmes de fichiers au-dessus, mais BTRFS devrait être utilisé pour les fonctionnalités qui lui sont spécifiques - principalement les instantanés. Dans une utilisation domestique simple, il est probablement préférable de s'en éloigner. J'ai eu trop de mal à gérer l'espace sur un petit lecteur, mais j'imagine que l'espace serait également consommé sur les gros disques.

r0berts
la source

Réponses:

11

Peut-être que cela explique (du wiki btrfs d'ailleurs)

Un sous-volume dans btrfs n'est pas identique à un volume logique LVM ou à un sous-volume ZFS. Avec LVM, un volume logique est un périphérique bloc à part entière (qui pourrait par exemple contenir tout autre système de fichiers ou conteneur comme dm-crypt, MD RAID, etc.) - ce n'est pas le cas avec btrfs. Un sous-volume btrfs n'est pas un périphérique bloc (et ne peut pas être traité comme tel) à la place, un sous-volume btrfs peut être considéré comme un espace de noms de fichiers POSIX. Cet espace de noms est accessible via le sous-volume de niveau supérieur du système de fichiers, ou il peut être monté à part entière.

voir également https://btrfs.wiki.kernel.org/index.php/FAQ

Interaction avec les partitions, les gestionnaires de périphériques et les volumes logiques

Btrfs a des sous-volumes, cela signifie-t-il que je n'ai pas besoin d'un gestionnaire de volume logique et que je peux créer un gros système de fichiers Btrfs sur une partition brute?

Il n'y a pas une seule réponse à cette question. Voici les points à considérer lorsque vous choisissez des partitions brutes ou LVM:

  • Performance
    • les partitions brutes sont légèrement plus rapides que les volumes logiques
    • btrfs optimise l'écriture (écritures séquentielles) à travers un sous-volume de système de fichiers. niveau)
  • Redimensionnement et déplacement en ligne du système de fichiers sur les appareils: la commande pvmove de LVM permet aux systèmes de fichiers de se déplacer entre les appareils en ligne
    • les partitions brutes peuvent uniquement être déplacées vers un autre cylindre de démarrage en mode hors connexion
    • les partitions brutes ne peuvent être agrandies que s'il y a de l'espace libre après la partition, tandis que LVM peut étendre un LV sur l'espace libre n'importe où dans le groupe de volumes - et il peut effectuer le redimensionnement en ligne
  • contraintes de volume de sous-volume / volume logique
    • LVM est pratique pour créer des volumes logiques de taille fixe (par exemple 10 Mo pour chaque utilisateur, 20 Go pour chaque image de machine virtuelle, etc.)
    • les sous-volumes n'appliquent pas actuellement de telles contraintes de taille rigides, bien que la prochaine fonctionnalité qgroups résoudra ce problème

.... la FAQ continue d'expliquer les scénarios dans lesquels LVM + BTRFS ont du sens

Saint Crusty
la source
Merci, je comprends maintenant les principales différences. LVM est en effet meilleur pour gérer l'espace avec tous les systèmes de fichiers au-dessus, mais BTRFS devrait être utilisé pour les fonctionnalités qui lui sont spécifiques - principalement les instantanés. Dans une utilisation domestique simple, il est probablement préférable de s'en éloigner.
r0berts