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

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

我正在尝试在 LSI MegaRAID 控制器上设置 RAID10 组。我不清楚 RAID 控制器实际上如何在物理驱动器上布置 RAID 组。

部分问题在于 MegaRAID 使用的术语似乎非常不一致;同一个概念通常有多个术语,有时他们似乎使用同一个术语来指代多个概念。我将尝试使用 MegaCli 命令似乎最常使用的术语。

MegaRAID 要求 RAID10 组中有 2 到 8 个阵列。每个阵列必须包含 2 的倍数的物理驱动器。RAID10 组中的每个阵列必须具有相同数量的物理驱动器。

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

但是,如果每个阵列都是一个 RAID10 集,为什么 MegaRAID 要求您至少拥有两个 RAID10 集?

如果每个阵列不是 RAID10 组,为什么要求阵列具有 2 的倍数的物理驱动器?

在文档中,它将数组称为跨度,在其他地方它的定义如下:

磁盘跨接使多个驱动器可以像一个大驱动器一样运行。跨接通过组合现有资源或添加相对便宜的资源来解决磁盘空间不足的问题并简化存储管理。例如,可以将四个 20 GB 驱动器组合起来,在操作系统中显示为单个 80 GB 驱动器。单独的跨接并不能提供可靠性或性能增强。跨接的虚拟驱动器必须具有相同的条带大小并且必须是连续的。

对我来说,这意味着串联,或者充其量是条带化。我们大方点,称之为 RAID0。

因此,如果我必须定义两个阵列,并且阵列是跨度,跨度是 RAID0,那么我将定义两个 RAID0 集。如果我必须定义其中两个,那么镜像它们是有意义的。但那将是两个 RAID0 的 RAID1,或 RAID0+1,这很糟糕。

因此,我期望如果我定义了三个阵列,那将创建 RAID0 集的三向镜像,但如果我真的这样做,逻辑驱动器仍然具有所有驱动器总容量的一半,而不是三分之一。所以这个结论也没有意义。

问题是我有 18 个驱动器,我想将它们放入 RAID10 组中。在我使用过的其他 RAID 系统中,我只需创建 9 个双驱动器镜像,然后对它们进行条带化,但在 MegaRAID 中我无法做到这一点。因为必须有 2 到 8 个阵列,并且每个阵列必须有偶数个驱动器,所以我能想到的唯一可行的配置是三个阵列,每个阵列有六个驱动器,但如果我不了解这些磁盘的实际布局方式,那么这样做会很奇怪。

我是不是想太多了?我是不是应该让 MegaRAID 自己做事,然后祈祷驱动器布局最佳?

答案1

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

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

使用 MegaRAID RAID 10,MegaRAID 不使用传统的条带镜像对方法,而是使用 SNIA PRL=11、RLQ=0。例如,传统的八驱动器 RAID 10 由八个条带在一起的镜像对组成,而 MegaRAID“RAID 10”实际上是传统 RAID 10 跨度中的四个驱动器(两个条带化的镜像对),与另一个条带化的镜像对驱动器跨度一起构成条带。最多支持八个这样的跨度。

这意味着如果您想要 RAID10,请选择 LSI 标记为 RAID1 的。LSI 标记为 RAID10 的可能更确切的说法是 RAID100 或 RAID 1+0+0。

答案2

MegaRAID RAID 10 和其他地方一样都是 RAID 10:RAID 1 阵列上的 RAID 0(跨接)。您的问题在于 MegaRAID 只允许您跨接 8 个 RAID 1 阵列,而每个 RAID 1 阵列必须由 2 个硬盘组成。因此,您只能在 RAID 10 中使用 16 个磁盘。

相关内容