0

我这样做了:

/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 个无法纠正的错误?

4

1 回答 1

0

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

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

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

如果您包含输出btrfs fi df /volume或您有足够新的 btrfs-tools 版本btrfs fi us /volume(两者都显示冗余级别),这将有所帮助。

于 2016-04-29T09:39:16.393 回答