Skip to main content

btrfs

Jasně, tady máš stejný styl přehledového tutoriálu, ale pro Btrfs:


Btrfs Management

File System Management

Command Description
mkfs.btrfs /dev/sdX Create a new Btrfs filesystem
mount /dev/sdX /mnt Mount Btrfs filesystem
umount /mnt Unmount filesystem
btrfs filesystem show Show Btrfs filesystems
btrfs filesystem df /mnt Show space usage
btrfs filesystem usage /mnt Detailed space usage

RAID Management

Command Description
mkfs.btrfs -d raid1 -m raid1 /dev/sdb /dev/sdc Create RAID1 (mirror)
mkfs.btrfs -d raid0 -m raid0 /dev/sdb /dev/sdc Create RAID0 (striping)
mkfs.btrfs -d raid10 -m raid10 /dev/sdb /dev/sdc /dev/sdd /dev/sde Create RAID10
btrfs device add /dev/sdd /mnt Add device to filesystem
btrfs device remove /dev/sdc /mnt Remove device from filesystem
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt Convert existing FS to RAID1
btrfs balance start /mnt Rebalance data across devices
btrfs device stats /mnt Show device stats

Subvolume Management

Command Description
btrfs subvolume create /mnt/data Create subvolume
btrfs subvolume list /mnt List subvolumes
btrfs subvolume delete /mnt/data Delete subvolume
btrfs subvolume snapshot /mnt/data /mnt/data-snap Snapshot a subvolume
btrfs subvolume snapshot -r /mnt/data /mnt/data-ro Create readonly snapshot

Snapshots

Command Description
btrfs subvolume snapshot /mnt/data /mnt/data-snap Create snapshot
btrfs subvolume delete /mnt/data-snap Delete snapshot
btrfs send /mnt/data-snap (pipe) btrfs receive /mnt/backup Send snapshot to another FS

Scrub & Check

Command Description
btrfs scrub start /mnt Start scrub on mounted FS
btrfs scrub status /mnt Show scrub status
btrfs scrub cancel /mnt Cancel scrub
btrfs check /dev/sdX Check filesystem (offline)
btrfs rescue super-recover /dev/sdX Try to recover superblock

Resize

Command Description
btrfs filesystem resize +10G /mnt Grow FS by 10G
btrfs filesystem resize -5G /mnt Shrink FS by 5G
btrfs filesystem resize max /mnt Use full device size

Example Workflows

Create RAID1 (mirror) with 2 disks:

mkfs.btrfs -d raid1 -m raid1 /dev/sdb /dev/sdc
mount /dev/sdb /mnt

Add new disk to pool and rebalance into RAID1:

btrfs device add /dev/sdd /mnt
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt

Create snapshot and restore:

btrfs subvolume snapshot /mnt/data /mnt/data-snap
btrfs subvolume delete /mnt/data
btrfs subvolume snapshot /mnt/data-snap /mnt/data

Option Description
compress=zstd Zapne kompresi (doporučené: zstd)
compress=lzo Komprese LZO (rychlá, méně efektivní)
compress-force=zstd Vynutí kompresi všech dat
autodefrag Automatická defragmentace při zápisu
ssd Optimalizace pro SSD (obvykle se detekuje automaticky)
ssd_spread Alternativní strategie zápisu na SSD
space_cache=v2 Rychlejší mount díky cache alokací (novější verze)
discard=async Asynchronní TRIM pro SSD
noatime Nezapisuje access time (lepší výkon)
nodatacow Vypne Copy-on-Write pro daný mount/subvolume
subvol=<name> Mount konkrétního subvolume
subvolid=<id> Mount podle ID subvolume

/dev/sdb /mnt btrfs defaults,compress=zstd,autodefrag,ssd,discard=async 0 0