LSI MegaRAID实际上如何布置RAID10集?

我试图在LSI MegaRAID控制器上设置一个RAID10集。 我不清楚RA​​ID控制器将如何实际布局物理驱动器上的RAID设置。

部分问题是MegaRAID似乎使用的术语非常不一致, 同样的想法通常有多个术语,似乎有时他们使用相同的术语来指代多个想法。 我将尝试使用MegaCli命令似乎最常用的术语。

MegaRAID要求在RAID10集合中有两到八个arrays。 每个arrays必须包含两个物理驱动器的倍数。 RAID10集合中的每个arrays必须具有相同数量的物理驱动器。

每个arrays是一个RAID10集合,然后arrays连接在一起? 如果是这样的话,那么数组必须是相同大小的事实意味着数组正在被条带化? 如果是这样的话,考虑到每个数组都是有条纹的,然后还有一个额外的条带层,我应该担心在性能方面的冗余? (或者这会是一件好事吗?)

但是,如果每个arrays都是RAID10集合,为什么MegaRAID要求您至less有两个?

如果每个arrays不是RAID10集合,为什么要求arrays具有两倍的物理驱动器?

在文档中,它将数组称为跨度,它在别处定义如下:

磁盘跨越允许多个驱动器像一个大驱动器一样运行。 跨越克服磁盘空间不足,并通过结合现有资源或添加相对便宜的资源来简化存储pipe理。 例如,四个20 GB的驱动器可以组合在一起,作为一个80 GB的驱动器出现在操作系统上。 单独跨越不能提供可靠性或性能增强。 跨越的虚拟驱动器必须具有相同的条带大小,并且必须连续。

对我而言,这意味着连接,或者至多是条带。 让我们慷慨地称之为RAID0。

所以,如果我必须定义两个arrays,并且arrays是跨度,跨度是RAID0,那么我定义了两个RAID0集合。 如果我必须定义其中的两个,那么这是有意义的。 但是这将是两个RAID0的RAID1,或RAID0 + 1,这是不好的。

那么,如果我定义了三个arrays,那么就会创build一个RAID0集的三向镜像,但是如果我真的这样做的话,逻辑驱动器的总容量仍然是所有驱动器的一半,而不是三分之一。 所以这个结论也没有意义。

问题是我有一个RAID10套件需要18个驱动器。 在我用过的其他所有RAID系统中,我只创build了9个双驱动镜像,然后对它们进行条带化处理,但是我不能用MegaRAID来完成。 因为必须有两到八个arrays,而且每个arrays必须有偶数个驱动器,所以我能想到的唯一configuration是每个驱动器有三个arrays,但是我只是觉得奇怪而没有更好地理解这些磁盘实际上将如何布置。

我是否在意这个? 我应该让MegaRAID做它的事情,只是希望驱动器布局最佳?

LSI声称,他们的RAID 10方法与标准定义不同,因为它们遵循SNIA规范 。

使用MegaRAID RAID 1可以由两个驱动器(更传统的定义)到多达十六个驱动器组成。 MegaRAID RAID 1必须是偶数个驱动器。 对于MegaRAID 1,如果虚拟驱动器(VD)中有两个以上的驱动器,则VD由条带镜像对组成。 换句话说,传统意义上的RAID 10(条纹镜像对)被MegaRAID报告为RAID 1。

使用MegaRAID RAID 10,MegaRAID采用了SNIA PRL = 11,RLQ = 0的传统方法,而不是采用带条纹镜像对的传统方法。例如,传统的8个驱动器RAID 10由8个镜像对组成,实际上是在一个传统的RAID 10范围内的四个驱动器(两个镜像对条纹),另外还有四个条带镜像驱动器。 最多支持八个这样的跨度。

这意味着如果你想要RAID10,select什么LSI标签RAID1。 什么LSI标签为RAID10是什么可能会更好地称为RAID100或RAID 1 + 0 + 0。

MegaRAID RAID 10与其他地方一样是RAID 10:RAID 1arrays顶部的RAID 0(跨度)。 在你的情况下,问题是MegaRAID将只允许你跨越8个RAID 1arrays,而RAID 1arrays必须包含2个硬盘。 因此,您只能在RAID 10中使用16个磁盘。