有半双工raid-1这样的东西吗?

Tar*_*Guy 1 raid hard-drive software-raid

那天我在想。
话又说回来,刚才:所以我想“如果我想到了,一定是其他人想到了。”

所以这个想法是,在一个raid-1镜像(ish)中,

一个驱动器会写,一个驱动器会读,
任何一个驱动器都可以读或写,但永远不会同时发生
这个想法是,有更少的寻求,颠簸,你有什么。


PS:纯属好奇心的问题。我不是假装我对驱动器一无所知。
我想有可能因为我不知道的事情而不需要这样的事情。

kub*_*zyk 5

哇。RAID-1 有多种实现方式。他们独立于两个驱动器读取是很正常的:读取时,一个驱动器寻找一个地方,另一个寻找其他地方。从两个驱动器读取相同的东西只是为了验证是一种浪费:校验和是在经济和性能方面检测比特错误的更好机制。

但是对于写入,情况并非如此。在大多数实现中,写入是并行完成的。服务器断电,现在正在启动 - 它需要快速提供一致的数据(来自一个时间点的数据,如果它是最近的时间点,那就太好了)。如果最近的写入分散在两个驱动器上,服务器如何快速做出决定?

如果驱动器出现故障?服务器会丢失一些数据块。我们有一个数据丢失,但更糟糕的是我们有不连贯的数据,一些块是最近的,一些是旧的。服务器现在如何从工作驱动器“回滚”块以返回到一致的时间点?它在哪里可以找到这些数据块的旧版本?

所以并行编写要简单得多。

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