我正在尝试在 LSI MegaRAID 控制器上设置 RAID10。我不清楚 RAID 控制器将如何在物理驱动器上实际布置 RAID 集。
部分问题在于 MegaRAID 使用的术语似乎非常不一致。同一个想法通常有多个术语,有时他们似乎使用同一个术语来指代多个想法。我将尝试使用 MegaCli 命令似乎最常用的术语。
MegaRAID 要求 RAID10 集中有两到八个阵列。每个阵列必须包含两个的倍数的物理驱动器。RAID10 集中的每个阵列必须具有相同数量的物理驱动器。
每个阵列是RAID10集,然后将阵列连接在一起吗?如果是这样,数组必须具有相同大小的事实是否意味着数组正在被条带化?如果是这样,鉴于每个阵列都是条带化的,然后在其之上还有一层额外的条带化,我是否应该担心性能方面的冗余?(或者这会是一件好事吗?)
但是,如果每个阵列都是 RAID10 集,为什么 MegaRAID 要求您至少有两个?
如果每个阵列都不是 RAID10 集,为什么它要求阵列具有 2 倍数的物理驱动器?
在文档中,它将数组称为跨度,它在其他地方定义如下:
磁盘跨越允许多个驱动器像一个大驱动器一样运行。跨越通过组合现有资源或添加相对便宜的资源来克服磁盘空间不足并简化存储管理。例如,可以将四个 20 GB 驱动器组合起来,在操作系统中显示为单个 80 GB 驱动器。单独的跨越并不能提供可靠性或性能增强。跨区虚拟驱动器必须具有相同的条带大小并且必须是连续的。
对我来说,这意味着连接,或者充其量是条带化。让我们大方一点,称它为 RAID0。
因此,如果我必须定义两个阵列,并且阵列是跨度,跨度是 RAID0,那么我将定义两个 RAID0 集。如果我必须定义其中两个,那么它反映了它们是有道理的。但这将是两个 RAID0 或 RAID0+1 的 RAID1,这是不好的。
那么,我希望,如果我定义了三个阵列,那将创建一个 RAID0 集的三向镜像,但如果我真的这样做,逻辑驱动器的总容量仍然是所有驱动器的一半,而不是三分之一。所以这个结论也没有意义。
问题是我在一个 RAID10 集中有 18 个驱动器。在我使用过的所有其他 RAID 系统中,我只需创建 9 个双驱动器镜像,然后将它们条带化,但我无法使用 MegaRAID 做到这一点。因为必须有 2 到 8 个阵列,并且每个阵列必须有偶数个驱动器,所以我能想到的唯一可行的配置是三个阵列,每个阵列有 6 个驱动器,但我觉得这样做很奇怪,没有更好地了解这些磁盘的实际布局方式。
这是我想太多了吗?我是否应该让 MegaRAID 做它的事情并希望驱动器布局最佳?
LSI 声称他们的 RAID 10 方法不同于标准定义,因为它们遵循SNIA 规范。
这意味着如果您想要 RAID10,请选择 LSI 标记的 RAID1。LSI 标记为 RAID10 的内容可能更好地称为 RAID100 或 RAID 1+0+0。
MegaRAID RAID 10 与其他任何地方一样都是 RAID 10:RAID 1 阵列之上的 RAID 0(跨度)。您的问题是 MegaRAID 只允许您跨越 8 个 RAID 1 阵列,而 RAID 1 阵列每个必须包含 2 个硬盘。因此,您将只能在 RAID 10 中使用 16 个磁盘。