我这样做了:
/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个无法纠正的错误?
答案 0 :(得分:0)
擦洗遍历文件系统检查bitrot - 即磁盘上的数据是否与其伴随的校验和匹配。它将有助于突出“无声”错误。
您没有说明数据的冗余级别 - 如果您使用的是单个或raid0,则BTRFS无法修复错误。
我认为BTRFS总是复制元数据,所以如果您使用raid0 / single作为数据,它可以解释为什么它能够纠正一些错误而不是所有错误。
如果您包含btrfs fi df /volume
的输出或者您有最近的btrfs-tools版本btrfs fi us /volume
(均显示冗余级别),则会有所帮助。