Tried to run metadata-only balance a btrfs filesystem with RAID-10
metadata to RAID-1 metadata, it failed with "No space left on device".
Seriously, 20 TB of free disk space is not enough to convert some 25 GB
of metadata to a different format? O_o
Kernel is 4.18.20.
# time btrfs balance start -mconvert=raid1 /data
ERROR: error during balancing '/data': No space left on device
There may be more info in syslog - try dmesg | tail
real 663m37.901s
user 0m0.000s
sys 6m36.804s
In dmesg:
[4020028.680326] BTRFS info (device sda2): found 62605 extents
[4020093.430147] BTRFS info (device sda2): relocating block group
4778521264128 flags system|raid10
[4020286.363882] BTRFS info (device sda2): found 35 extents
[4020292.904640] BTRFS info (device sda2): 2 enospc errors during
balance
# btrfs fi usage /data
WARNING: RAID56 detected, not implemented
Overall:
Device size: 35.80TiB
Device allocated: 48.06GiB
Device unallocated: 35.75TiB
Device missing: 0.00B
Used: 33.61GiB
Free (estimated): 0.00B (min: 8.00EiB)
Data ratio: 0.00
Metadata ratio: 2.00
Global reserve: 512.00MiB (used: 0.00B)
Data,RAID5: Size:6.71TiB, Used:6.33TiB
/dev/sda2 2.24TiB
/dev/sdb2 2.24TiB
/dev/sdc2 2.24TiB
/dev/sdd2 2.24TiB
Metadata,RAID1: Size:22.00GiB, Used:14.92GiB
/dev/sda2 11.00GiB
/dev/sdb2 11.00GiB
/dev/sdc2 11.00GiB
/dev/sdd2 11.00GiB
Metadata,RAID10: Size:2.00GiB, Used:1.88GiB
/dev/sda2 1.00GiB
/dev/sdb2 1.00GiB
/dev/sdc2 1.00GiB
/dev/sdd2 1.00GiB
System,RAID1: Size:32.00MiB, Used:592.00KiB
/dev/sdb2 32.00MiB
/dev/sdc2 32.00MiB
Unallocated:
/dev/sda2 6.70TiB
/dev/sdb2 6.70TiB
/dev/sdc2 6.70TiB
/dev/sdd2 6.70TiB
# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 36T 6.4T 28T 19% /data