====== BTRFS ======
===== References =====
[[https://www.howtoforge.com/a-beginners-guide-to-btrfs]] \\
[[https://www.howtoforge.com/how-to-convert-an-ext3-ext4-root-file-system-to-btrfs-on-ubuntu-12.10]] \\
[[http://www.oracle.com/technetwork/articles/servers-storage-admin/advanced-btrfs-1734952.html]] \\
[[https://btrfs.wiki.kernel.org/index.php/Compression|Compression]]
Create BTRFS filesystem on multiple block devices:
mkfs.btrfs /dev/loop0 /dev/loop1
btrfs filesystem show /dev/loop0
Label: none uuid: e9a456cd-57d7-4355-a20a-77243d66722e
Total devices 2 FS bytes used 28.00KiB
devid 1 size 200.00MiB used 12.00MiB path /dev/loop0
devid 2 size 200.00MiB used 0.00B path /dev/loop1
As you can see, every block belongs to FS can be used. Also for mount:
mount /dev/loop0 /BTRFS
or
mount /dev/loop1 /BTRFS
===== Swap support =====
**Current state:** Do not create SWAP files on BTRFS!
Swap support was restored with Kernel 4.21
===== Add/remove block devices =====
Add new block device (extend size)
btrfs device add /dev/loop2 /BTRFS
Remove device:
btrfs device delete /dev/loop0 /BTRFS
!!! It is possible to remove any device if there is free space to which data can be moved during removal.
====== Scrub ======
Start foreground, readonly scrub, print statistics at end:
btrfs scrub start -B -d -r /
scrub device /dev/sda3 (id 1) done
scrub started at Mon Mar 6 07:02:56 2017 and finished after 00:04:06
total bytes scrubbed: 18.50GiB with 0 errors
scrub device /dev/sdc5 (id 2) done
scrub started at Mon Mar 6 07:02:56 2017 and finished after 00:06:52
total bytes scrubbed: 18.47GiB with 0 errors
Get currently running scrub status:
btrfs scrub status /
====== migration to BTRFS ======
apt-get install btrfs-tools
====== Issues ======
===== Compression type 0x3 not supported =====
GRUB 2.02 doesn't support ZSTD compression.
Solution is to exlude ''/boot'' from ZSTD compression (below) or install more recent Grub (from Debian Bullseye)
sudo btrfs filesystem defragment -v -r -czlib /boot
sudo btrfs property set /boot compression zlib
# disable compression for newly created files
chattr -Rc /boot
===== error inheriting props for ino 3336468 (root 264): -28 =====
31 #define ENOSPC 28 /* No space left on device */
# btrfs fi show /mount
Label: none uuid: 5db83d5e-4f38-40b0-ac5d-dadd9cd1d23f
Total devices 1 FS bytes used 22.18GiB
devid 1 size 30.00GiB used 27.58GiB path /dev/mapper/vg_spox-lv_home
# btrfs fi usage /mount
Overall:
Device size: 30.00GiB
Device allocated: 27.58GiB
Device unallocated: 2.42GiB
Device missing: 0.00B
Used: 22.52GiB
Free (estimated): 5.58GiB (min: 4.37GiB)
Data ratio: 1.00
Metadata ratio: 1.99
Global reserve: 512.00MiB (used: 0.00B)
Data,single: Size:25.01GiB, Used:21.84GiB
/dev/mapper/... 25.01GiB
Metadata,single: Size:8.00MiB, Used:0.00B
/dev/mapper/... 8.00MiB
Metadata,DUP: Size:1.25GiB, Used:348.23MiB
/dev/mapper/... 2.50GiB
System,single: Size:4.00MiB, Used:0.00B
/dev/mapper/... 4.00MiB
System,DUP: Size:32.00MiB, Used:16.00KiB
/dev/mapper/... 64.00MiB
Unallocated:
/dev/mapper/... 2.42GiB
[[https://bbs.archlinux.org/viewtopic.php?id=200817]]
[[http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg60637.html]]