据我所知。 有3种types的RAID:
通过使用BTRFS软件RAID,文件系统知道驱动器,当它发现有错误校验和的块时,可以使用克隆(RAID1 / 10)或奇偶校验(RAID5 / 6)恢复受影响的块并修复错误。 所以我们的文件不会随着时间的推移而降低。
现在的问题是BTRFS是否能够使用硬件或假RAID来实现相同的自我修复机制?
我猜应该有一个API,BTRFS可以使用它来访问受影响的块的克隆/奇偶校验并修复它。 我认为有更多的机会通过板载RAID来实现这样的function,但是我不知道这样的事情是否存在,或者每个RAID的实现方式都不一样,而且BTRFS没有使用标准的API。
努力从这个问题中弄明白,但我想我可以回答。
BTRFS是软件RAID,由内置在Linux中的BTRFS软件处理。 为了对arrays进行任何types的维护,您需要在操作系统中使用btrfs命令。
就硬件而言,包括任何RAID控制器,磁盘只是基本的块设备。 除了Linux *中的BTRFS软件之外,没有其他任何东西会认为磁盘是数组的一部分。
*其他操作系统有可能实现BTRFS,但至less在目前这是不太可能的。
RAID和BTRFS在这种情况下是完全分离的。 以硬件镜像为例:
/dev/raid )。 RAID控制器可以在两个磁盘之间镜像。 /dev/raidfunction和读/写数据到剩余的磁盘是由RAID控制器决定的。 更换磁盘时,还要由RAID控制器来重buildarrays。 无论RAID如何提供(硬件/“假”或软件)也是如此,
我认为我没有解释得很好,但这是一个非常简单的概念……如果单独的设备(或软件)正在处理RAID,那么BTRFS无法修复RAID数据。 它像在RAIDarrays上运行的任何其他文件系统一样在单个磁盘上看到单个文件系统。