Paket: btrfs-progs

ext? nach btrfs konvertieren:

man btrfs-convert

Dateisystem anlegen und mounten:

mkfs.btrfs /dev/sda2
btrfs filesystem show
mkdir /mnt/btrfs
mount /dev/sda2 /mnt/btrfs
cd /mnt/btrfs

Beispieldaten hinein kopieren:

time cp -a /usr/share/ .

Daten komprimieren:

btrfs filesystem df -h share/

Data, single: total=2.01GiB, used=1.53GiB

btrfs filesystem defragment -czstd -r share/
btrfs filesystem df -h share/

Data, single: total=3.01GiB, used=740.17MiB

Informationen über das top-level Subvolume anzeigen:

btrfs subvolume show .

→ Subvolume ID: 5

btrfs subvolume list .

→ noch keine Subvolumes

Subvolume anlegen und Daten hinein verschieben:

btrfs subvolume create subvol1
btrfs subvolume list .
btrfs subvolume show subvol1

→ Subvolume ID: 256 → Parent ID: 5

time mv ./share/ ./subvol1/

Subvolume umbenennen:

mv subvol1/ subvol2

Subvolume (erneut) mounten:

mkdir /mnt/subvol2
mount -o subvol=/subvol2 /dev/sda2 /mnt/subvol2  

Snapshot erstellen:

time btrfs subvolume snapshot subvol2 snap1
btrfs subvolume list .
btrfs subvolume show snap1

→ Subvolume ID: 257 → Parent ID: 5

Read-only Snapshot erstellen:

btrfs subvolume snapshot -r subvol2 snap_ro1
btrfs filesystem df -h .
btrfs filesystem du -s --human-readable .
du -sh .
du -shx .
btrfs filesystem du -s --human-readable subvol2
du -sh subvol2
btrfs filesystem du -s --human-readable snap1

SuSE default root layout