BTRFS,空间不足,但空间充足

BTRFS,空间不足,但空间充足

我正No space left面临北卡罗莱纳州

我已经尝试过的方法:

  • 重新挂载 RW 后:btrfs filesystem resize max /mnt/hdd
  • 我使用不同的参数运行了平衡(持续了数周 ;-) )btrfs balance start /mnt/hdd -dlimit=<param>

什么也没帮助。我还能做什么?

所以我面临的是(Ubuntu 18.04.1 LTS):

BTRFS: error (device sda) in __btrfs_inc_extent_ref:2268: errno=-28 No space left
BTRFS info (device sda): forced readonly

然而还有足够的空间:

$ sudo btrfs fi show /mnt/hdd
Label: none  uuid: 262a8d86-279a-4f6b-8968-32e200c32255
    Total devices 1 FS bytes used 1.68TiB
    devid    1 size 7.28TiB used 1.70TiB path /dev/sda

然而,这个命令报告数据部分空间不足?

$ btrfs fi df /mnt/hdd
Data, single: total=1.47TiB, used=1.46TiB
System, single: total=4.00MiB, used=224.00KiB
Metadata, single: total=236.01GiB, used=222.76GiB
GlobalReserve, single: total=512.00MiB, used=495.75MiB

还:

$ sudo btrfs fi usage /mnt/hdd
Overall:
    Device size:           7.28TiB
    Device allocated:          1.70TiB
    Device unallocated:        5.58TiB
    Device missing:          0.00B
    Used:              1.68TiB
    Free (estimated):          5.58TiB  (min: 5.58TiB)
    Data ratio:               1.00
    Metadata ratio:           1.00
    Global reserve:      512.00MiB  (used: 495.75MiB)

Data,single: Size:1.47TiB, Used:1.46TiB
   /dev/sda    1.47TiB

Metadata,single: Size:236.01GiB, Used:222.76GiB
   /dev/sda  236.01GiB

System,single: Size:4.00MiB, Used:224.00KiB
   /dev/sda    4.00MiB

Unallocated:
   /dev/sda    5.58TiB

答案1

您的设备大部分未分配,可以通过调整大小/重新平衡来纠正。但这已经不起作用了,所以有些“奇怪”的地方。BTRFS 相关消息的输出dmesg可能有助于确定原因。

您是否尝试过将其关闭然后重新打开?不过,认真地讲,重新安装可以解决大多数 BTRFS 异常问题。如果您还没有备份数据,请在卸载之前备份数据。

除此之外,您还可以执行检查。这与清理不同,是在 BTRFS 处于离线状态时针对备份块设备执行的。这将消耗大量 RAM,并且需要一段时间才能完成。这将验证结构,除非被告知(使用 --repair 选项),否则不会自行修复。在您获得错误输出并了解如何纠正错误之前,请不要告诉它修复问题(例如,如果您有未检测到的物理驱动器故障,则进行修复几乎肯定会破坏文件系统)。

离线支票可以这样签发:

btrfs check -p /dev/sda

如果 BTRFS 检查发现异常,您还应该检查备份设备(读取其 SMART 数据、进行长时间测试等)。这可以分别使用smartctl -a /dev/sda和来完成smartctl -t long /dev/sda。假设这是一个包含真实驱动器的裸机节点。如果是虚拟机,请从下往上开始检查 BTRFS 中是否有损坏的情况。

相关内容