Ha senso mettere btrfs su lvm?


11

Questo è OpenSUSE Leap 42. Ho un computer con 2 dischi rigidi SATA da 500 GB e per accelerarlo ho inserito un piccolo disco SSD da 30 GB per il sistema. Durante l'installazione gli HDD sono stati disconnessi mentre confondevano il programma di installazione (e me). Una volta avviato il sistema, ho scambiato abbastanza facilmente la directory / home con un volume logico XFS (uso principalmente LVM per aggiungere facilmente spazio). Quindi / opt riempito (cromo e botanicula) e volevo metterlo su un volume su HDD. Quindi ho creato un volume e formattato con BTRFS. Dopo qualche grattata alla testa - @ subvolumesin fstab mi ha fatto leggere su BTRFS ho fatto quello di cui avevo bisogno - / optare ora è di 100 GB di dimensioni.

Ma la domanda è: ha senso formattare un volume LVM con btrfs? Essenzialmente entrambi sono sistemi di gestione del volume.

Per l'illustrazione ho incollato il mio fstab (# commenti mostrano le mie modifiche) e l'output di 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

Dopo la risposta: grazie, ora capisco le differenze chiave. Per me LVM è davvero migliore per la gestione dello spazio con qualsiasi filesystem sopra di esso, ma BTRFS dovrebbe essere usato per funzionalità specifiche ad esso - principalmente snapshot. Nel semplice utilizzo della rete domestica è probabilmente meglio starne alla larga. Ho avuto troppo dolore nella gestione dello spazio su un piccolo disco, ma immagino che lo spazio sarebbe stato consumato anche su grandi dischi.

Risposte:


11

Forse questo spiega (dal wiki di btrfs)

Un volume secondario in btrfs non è lo stesso di un volume logico LVM o di un volume secondario ZFS. Con LVM, un volume logico è un dispositivo a blocchi a sé stante (che potrebbe ad esempio contenere qualsiasi altro filesystem o contenitore come dm-crypt, MD RAID, ecc.) - Questo non è il caso di btrfs. Un sottovolume btrfs non è un dispositivo a blocchi (e non può essere trattato come uno) invece, un sottovolume btrfs può essere considerato come uno spazio dei nomi di file POSIX. È possibile accedere a questo spazio dei nomi tramite il sottovolume di livello superiore del filesystem oppure può essere montato a sé stante.

vedi anche https://btrfs.wiki.kernel.org/index.php/FAQ

Interazione con partizioni, gestori dispositivi e volumi logici

Btrfs ha sottovolumi, questo significa che non ho bisogno di un gestore di volumi logici e posso creare un grande filesystem Btrfs su una partizione non elaborata?

Non esiste una sola risposta a questa domanda. Ecco i problemi a cui pensare quando scegli le partizioni grezze o LVM:

  • Prestazione
    • le partizioni non elaborate sono leggermente più veloci dei volumi logici
    • btrfs scrive l'ottimizzazione (scritture sequenziali) in un sottosistema sottovolume le prestazioni di scrittura trarranno vantaggio da questo algoritmo creando più filesystem btrfs, ciascuno su un LV diverso, significa che l'algoritmo può essere inefficace (anche se il kernel eseguirà comunque qualche ottimizzazione sul dispositivo a blocchi livello)
  • Ridimensionamento e riposizionamento online del filesystem tra dispositivi: il comando pvmove di LVM consente ai filesystem di spostarsi tra i dispositivi mentre si è online
    • le partizioni non elaborate possono essere spostate in un cilindro di avvio diverso solo offline
    • le partizioni non elaborate possono essere ingrandite solo se c'è spazio libero dopo la partizione, mentre LVM può espandere un LV nello spazio libero in qualsiasi parte del gruppo di volumi e può eseguire il ridimensionamento online
  • sottovolume / vincoli di dimensione del volume logico
    • LVM è conveniente per la creazione di volumi logici di dimensioni fisse (ad es. 10 MB per ciascun utente, 20 GB per ogni immagine della macchina virtuale, ecc.)
    • i sottovolumi attualmente non applicano vincoli di dimensioni così rigide, sebbene la prossima funzionalità di qgroup affronterà questo problema

.... le FAQ continuano a spiegare gli scenari in cui LVM + BTRFS ha senso


Grazie, ora capisco le differenze chiave. LVM è davvero migliore per la gestione dello spazio con qualsiasi filesystem sopra di esso, ma BTRFS dovrebbe essere usato per funzionalità specifiche ad esso - principalmente snapshot. Nel semplice utilizzo della rete domestica è probabilmente meglio starne alla larga.
r0berts,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.