IBM的存储系统以及Linux的mdraid确实支持RAID级别1E,以便能够使用奇数磁盘进行50%的冗余:

在设置copies=2时,我会实现同样的效果吗?创建一个具有奇数个单磁盘vdevs的zpool吗?从管理的角度看,这是如何工作的--我还能做一个zpool replace来替换磁盘吗?在这样的设置中,当磁盘发生故障时,池将如何运行?
发布于 2013-07-25 18:49:59
据我所知没有。
如您所知,‘'zpool副本’创建了冗余位,我记得,它应该尽可能地将这些冗余位推到尽可能远的地方,但我不认为这是一个硬性和快速的要求,就像镜像vdev中的镜像位那样;空间限制;其他移动段,我相信会导致复制#2仍然在同一个磁盘上的场景。如果这种情况发生过一次,那么从这样的配置中丢失一个驱动器将是一个问题,数据保留是明智的。
池管理命令也不是设计用来像对待镜像vdevs那样处理的。ZFS工作流的设计也不是像对待镜像或奇偶校验vdevs一样--如果您从拥有多个磁盘作为顶级vdevs的池中丢失了一个磁盘,即使您从第一天起就拥有copies=2或更高的集合,我希望ZFS会发出强烈的抱怨,并可能开始返回数据访问错误。
我不希望copies=2 (或更多)表现得像RAID 1E。但是,如果您在磁盘上创建了多个分区,并将其设置在适当的镜像vdevs中,则可能会使用ZFS复制RAID 1E的概念。如果您有3个驱动器,每个驱动器都有两个分区,并且设置镜像vdevs,以便每个分区不是来自同一个驱动器,那么产生的池可以承受单个磁盘丢失。然而,据我所知,这种池的性能特性从未被探索过(我猜想它们会很糟糕)。
发布于 2013-07-25 19:23:28
ZFS不支持RAID 1E,因为RAID-Z不受RAID 5写入孔的影响.RAID-Z提供了更好的空间利用率,没有性能差异,并且具有相同的容错能力.
设置copies=2并不强制这些副本位于不同的物理磁盘上。因此,它没有为物理磁盘故障提供故障保护。将数字设置为1以上(默认情况下),就会生成名为ditto块的副本。这对于从URE或断电数据损坏中恢复非常有用(因为数据的另一个副本,希望有一个有效的校验和)。ZFS提供固有的数据损坏检测,而不是保护;这是防止某些类型的损坏的。
https://serverfault.com/questions/516099
复制相似问题