Le but ici est d'utiliser LVM avec Btrfs pour profiter des avancées de ce type de filesystem. Bien que le plupart des FS permettent l'augmentation ou la réduction (à chaud ou à froid), LVM reste toujours indispensable car il permet de redimensionner la taille du conteneur de manière simple et efficace. Sans LVM on est contraint de travailler uniquement avec des disques entiers ou des partitions primaires/logiques. On perd donc en souplesse.
=== Création d'un FS Btrfs de base ===
root@ubuntu-vm:~# lvcreate -L 1G -n lv_data1 datavg
Logical volume "lv_data1" created
root@ubuntu-vm:/# mkfs.btrfs -L data1 /dev/datavg/lv_data1
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label data1 on /dev/datavg/lv_data1
nodesize 4096 leafsize 4096 sectorsize 4096 size 1.00GB
Btrfs Btrfs v0.19
root@ubuntu-vm:~# mount /dev/datavg/lv_data1 /mnt
root@ubuntu-vm:/# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datavg-lv_data1 1.0G 56K 894M 1% /mnt
On peut obtenir des infos sur le FS :
root@ubuntu-vm:/# btrfs fi df /mnt
Data: total=8.00MB, used=0.00
System, DUP: total=8.00MB, used=4.00KB
System: total=4.00MB, used=0.00
Metadata, DUP: total=51.19MB, used=24.00KB
Metadata: total=8.00MB, used=0.00
root@ubuntu-vm:/# btrfs fi show data1
failed to read /dev/sr0
Label: 'data1' uuid: 54be3a95-1ed2-44ea-9105-1a147e729fe7
Total devices 1 FS bytes used 28.00KB
devid 1 size 1.00GB used 138.38MB path /dev/dm-0
Btrfs Btrfs v0.19
=== Augmenter un FS ===
root@ubuntu-vm:/# lvextend -L +512M /dev/datavg/lv_data1
Extending logical volume lv_data1 to 1.50 GiB
Logical volume lv_data1 successfully resized
root@ubuntu-vm:/# btrfs fi resize +512M /mnt
Resize '/mnt' of '+512M'
root@ubuntu-vm:/# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datavg-lv_data1 1.5G 120K 792M 1% /mnt
=== Réduire un FS ===
root@ubuntu-vm:/mnt# btrfs fi resize -512M /mnt
Resize '/mnt' of '-512M'
root@ubuntu-vm:/mnt# lvreduce -L 512M /dev/datavg/lv_data1
WARNING: Reducing active and open logical volume to 512.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_data1? [y/n]: y
Reducing logical volume lv_data1 to 512.00 MiB
Logical volume lv_data1 successfully resized
root@ubuntu-vm:/mnt# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datavg-lv_data1 1.0G 120K 280M 1% /mnt
=== Création d'un FS Btrfs en RAID-x ===
mkfs.btrfs -L data1 -d raid1 -m raid1 /dev/datavg/lv_data1 /dev/datavg/lv_data1_m