btrfs (B-Tree file system)
btrfs RAID
RAID-1
mkfs.btrfs -L LABEL -d raid1 -m raid1 /dev/sdd1 /dev/sde1
RAID-0 with existing hard disk
- ! MAKE BACKUPS !!!
gdisk /dev/sdx
: one GPT partition over the whole diskmkfs.btrfs /dev/sdx1
mount /dev/sdx1 /mnt/data
rsync -a –info=progress2 /mnt/olddata /mnt/data
gdisk /dev/sdx
: one GPT partition spanning the whole diskbtrfs device add /dev/sdx1 /mnt/data
btrfs balance start -dconvert=raid0 -mconvert=raid1 /mnt/data
- done.
single
write hole
A write hole in a RAID1 occurs when a file is written while the device is disconnected, e.g. due to a power failure. If the metadata hasn't been written properly, the files may be lost even though the data seems to have been saved. The developers of Btrfs warn that their RAID5/6 code might be more susceptible to that issue and discourage the use of RAID5/6, even though some improvements have been made over the years.
This is hard to reproduce2 and can be partially mitigated by setting the metadata strategy to raid1c3 or higher.
resize
- ! MAKE BACKUPS !!!
gdisk /dev/sdx
: b → sdx-backup - note output from
blkid /dev/sdx1
btrfs fi res
- note devid 1 size from
btrfs fi sh –raw /mnt/point
output - note the Partition unique GUID and Logical sector size from
gdisk -l /dev/sdx1
output gdisk /dev/sdx
: d → n → 1 → 2048 → 2048+size/Logical sector size → 8300 → x → c → PARTUUID → wbtrfs check /dev/sdx1
- mount,
btrfs scrub start /mnt/point
(check withbtrfs scrub status /mnt/point
maintenance
- balance (Btrfs manual)
Windows
There's a driver for Windows called WinBtrfs.
[1]
usually in RAID5, RAID6 or in rare cases even RAID1
[2]
several people, e.g. u/Rohrschacht (2020) on reddit, have been trying to reproduce this with limited success