btrfs 清理状态 no_csum

btrfs 清理状态 no_csum

我使用两个磁盘创建了 btrfs raid 1 镜像,添加一堆文件后我运行了清理。该命令btrfs scrub status <dir>报告它已完成,但有 0 个错误。但是,btrfs scrub status -R <dir>显示:

data_extents_scrubbed: 13887259
tree_extents_scrubbed: 61886
data_bytes_scrubbed: 906996514816
tree_bytes_scrubbed: 1013940224
read_errors: 0
csum_errors: 0
verify_errors: 0
no_csum: 54400
csum_discards: 0
super_errors: 0
malloc_errors: 0
uncorrectable_errors: 0
unverified_errors: 0
corrected_errors: 0
last_physical: 912854614016

特别是,该no_csum值看起来有点令人担忧。如果 btrfs 需要修复任何数据,这会导致问题吗?或者这是否正常且符合预期?

答案1

no_csum,或缺少校验和意味着无法应用校验和计算的文件数。可以使用属性nodatasum或禁用文件、目录或分区的校验和计算nodatacow

此外,值得一看的是讨论在 @SIGSEGV 在评论中提到的 BTRFS 邮件列表中。 BTRFS 用途可用空间缓存,这是nodatacow设计使然,并且是通过btrfs scrub命令计数的。

相关内容