如何在3个磁盘的BTRFS上获得3个无法纠正的错误?

时间:2015-12-24 03:55:57

标签: btrfs

我这样做了:

/sbin/btrfs scrub start -B /mnt/ospool

ospool是一个有3个sata驱动器的游泳池。

$ sudo btrfs filesystem show /mnt/ospool
Label: ospool  uuid: ef62a9ec-887f-4a70-9c89-cf4ce29dfeb1
    Total devices 3 FS bytes used 125.16GiB
    devid    1 size 93.13GiB used 82.03GiB path /dev/sdc3
    devid    2 size 97.66GiB used 86.03GiB path /dev/sdd3
    devid    3 size 97.66GiB used 86.00GiB path /dev/sde3

我收到了这个回复:

scrub done for ef62a9ec-887f-4a70-9c89-cf4ce29dfeb1
        scrub started at Wed Dec 23 18:05:01 2015 and finished after 1074 seconds
        total bytes scrubbed: 231.87GiB with 19 errors
        error details: read=19
        corrected errors: 16, uncorrectable errors: 3, unverified errors: 0

如何在3个磁盘的BTRFS上获得3个无法纠正的错误?

1 个答案:

答案 0 :(得分:0)

擦洗遍历文件系统检查bitrot - 即磁盘上的数据是否与其伴随的校验和匹配。它将有助于突出“无声”错误。

您没有说明数据的冗余级别 - 如果您使用的是单个或raid0,则BTRFS无法修复错误。

我认为BTRFS总是复制元数据,所以如果您使用raid0 / single作为数据,它可以解释为什么它能够纠正一些错误而不是所有错误。

如果您包含btrfs fi df /volume的输出或者您有最近的btrfs-tools版本btrfs fi us /volume(均显示冗余级别),则会有所帮助。