3盘软件RAID1E的Ext3步幅/条带宽度计算

由于太复杂的原因,我在某些Linux系统上使用了3磁盘RAID1E。 在这里看到更多的信息。

所以我的理解是,为了优化这个卷上的文件系统布局,你使用下面的计算:

chunk-size = 64kB block-size = 4kB stride = chunk / block = 16 stripe-width = stride * ( (numdisks)/2 ) = 16 * 1.5 = 24 

但是,当我使用该计算来设置条带宽度时,mkfs.ext3会给出警告,它应该是2的幂。

所以我的问题是,我做对了吗? 我应该把它看作是一个标准的四磁盘RAID10,因为条纹的大小是一样的吗?

更新:它不是一个降级arrays,它是一个完全支持的configuration。 阅读第一段的链接。

设置你的条带宽度高于64kB将是不理想的。

任何大小超过64kB的写入都将导致4次写入 – 一次写入一个磁盘,一次写入另一个,两次写入。

只需将您的条带宽度设置为64kB。

我在MD RAID的各种大小和级别上使用XFS而不是ext3进行了一些实验。 看来下面的公式适用于所有人:

 # chunk is specified in mdadm create, block in mkfs stride = chunk / block stripe-width = ((slices - parity) * stride 

RAID0 / 10 / 1E的奇偶校验为零,一个用于RAID5,另一个用于RAID6。

所以在我原来的问题中,条带宽度应该设置为48 (64kB块,4kB块,3片,零奇偶校验)。 当我使用这些设置时,mkfs.ext3不再提示stripe-width不能被stride整除。