是否存在半双工 raid-1?

是否存在半双工 raid-1?

前几天我还在想。
现在又想:所以我想“如果我想到了,那一定有人也想到了。”

所以这个想法是,在 raid-1 镜像中,

一个驱动器将写入,另一个驱动器将读取,
并且任何一个驱动器都可以读取或写入,但是永远不会同时进行,
这样做的目的是减少寻找、抖动等操作。


附言:纯粹出于好奇。我并不是假装自己对驱动器有所了解。
我想,由于某些我不知道的东西,这种事情可能没有必要。

答案1

哇哦。RAID-1 有多种实现方式。它们独立读取两个驱动器的数据是很正常的:读取时,一个驱动器会查找一个位置,另一个驱动器会查找其他位置。如果只是为了验证而从两个驱动器读取相同数据,那就太浪费了:从经济性和性能方面来说,校验和是检测位错误的更好机制。

但对于写入,情况并非如此。在大多数实现中,写入都是并行完成的。服务器断电了,现在正在启动 - 它需要快速得出连贯的数据(来自某个时间点的数据,如果是最近的时间点就更好了)。如果两个驱动器上到处都有最近的写入,服务器如何快速做出决定?

如果驱动器发生故障,服务器会丢失一些数据块。数据丢失了,更糟糕的是,数据不连贯,有些数据块是最近的,有些数据块是旧的。服务器现在如何从在职的驱动器如何返回到连贯的时间点?在哪里可以找到这些数据块的旧版本?

因此并行编写就简单多了。

PS:有些镜像不是并行写入的,在最典型的用法中,它们被用作异步复制、分布式写缓存、分布式文件系统等的(非硬件)子组件。通常它们成本高昂且用于企业环境中。

答案2

如果一次只能写入一个驱动器,那就不是 RAID-1;数据不会被镜像。这听起来更像 RAID-0,尽管并不完全匹配。

维基百科有一个得体的解释标准 RAID 级别。

相关内容