btrfs-transacti 每 30 秒写入一次磁盘

Chr*_*ian 5 btrfs ubuntu energy-saving

我在 RAID 1 中的 4 8 TB Seagate 驱动器上运行带有 btrfs 的 Ubuntu 16.04.2 LTS。每 30 秒 btrfs-transacti 出现在带有 ca 的 iotop 中。80 M/s 持续 15 秒,即使系统未使用。该系统仅用于每天存储一次备份,但全天都有磁盘活动。

如何找出导致这些写入峰值的原因以及如何阻止它?

Zan*_*ynx 3

我相信它是 btrfs autodefrag。我也明白了。这是一个必须在 fstab 中明确设置的选项,但很多人都这样做并推荐它,特别是在旋转生锈硬盘上。SSD 并不真正关心写入时复制产生的碎片。

然后,如果您的 /var/log 目录位于 btrfs 上,我相信您最终会经常对 systemd 日志文件进行碎片整理。

Fedora 做了一件事,但我不确定 Ubuntu 的情况,它是用chattr +C. “C”属性将其标记为非写入时复制,这意味着 btrfs 的读写方式与 ext4 或 xfs 一样。

使用“C”属性可以防止大量碎片或自动碎片写入,但也意味着文件不受校验和保护。

尽管我不确定您的确切情况,但我最好的猜测是您在 btrfs 上有 /var/log/journal,设置了 autodefrag,并且没有 C 属性。这可以解释全天不断的写入以及 btrfs 事务线程中的大量使用。