我有两个相对较新的 4T 硬盘驱动器(WD Data Center Re WD4000FYYZ),格式化为 btrfs,带有 raid1 数据和 raid1 元数据。
我将一个大的二进制文件复制到该卷(~76 GB)。复制文件后不久,我运行了 btrfs 清理。没有错误。
几个月后,清理程序在该文件上返回了一个不可恢复的错误。自从它最初被复制以来,它没有被修改过。我可能会补充一点,两个驱动器的 SMART 属性不表示任何错误(Current_Pending_Sector 或其他)。
带有驱动器的系统没有 ECC 内存。
我能想到的唯一可能导致这种错误的事情是,在写入另一个文件,其数据校验和包含在与大文件的某些校验和相同的块中时,内存中发生了一些损坏,允许错误数据污染大文件的一个或多个校验和。
不幸的是,我希望在迁移到 btrfs 时,一旦数据被成功加载和清理,你可以确信如果它没有被写入(当然是在 raid1/5/6 配置中)它会保持不变。显然,事实并非如此。
谁能解释这怎么会发生?另外,如果我对包含大文件的卷进行了快照,我是否仍然可以访问来自快照的原始、未损坏的数据?