英特尔矩阵存储管理器与 Linux 软件 RAID

Leo*_*d99 28 linux raid storage software-raid intel-rst

我使用的芯片组支持 Intel RSTe 技术。这意味着我有两个 RAID 设置选项:

  • 普通linux软件RAID,使用mdadm命令。
  • RSTe(通过 BIOS 或再次使用mdadm-e imsm开关的命令)。

鉴于mdadm两者都可以使用,我无法理解两者之间的区别。

  • 与常规 Linux 软件 RAID 相比,RSTe 给我带来了什么?
  • 当处于 RSTe 模式时,是由 Linuxmd或 BIOS处理的实际 RAID I/O 路径(即镜像和条带化)。
  • 特别是,当我使用“矩阵 RAID”(即 RAID 覆盖特定分区而不是整个磁盘)时,是否需要在两个 MBR 上手动安装 grub?

all*_*tic 49

概述

共有三种常见的 RAID 类型:

  • Software RAID:这意味着你的 BIOS 和其他操作系统认为你真的有两个独立的磁盘,但纯粹在软件层面,你的操作系统使用一些操作系统特定的磁盘格式用于 RAID(镜像、条带化、奇偶校验位,等等) . 所有处理均由 CPU 完成,无需硬件支持。

  • BIOS RAID:也称为“假 RAID”或“主机 RAID”,这意味着您的主板固件(更具体地说,您的 SATA/SAS 控制器)明确支持识别 RAID 设备。在逻辑设备级别 ( lun),您的多个硬盘驱动器将作为单个驱动器出现在操作系统中。这基本上是 SATA/SAS 控制器说“我真的只有一个硬盘驱动器。嗯,实际上是两个,但是嘘,它只是一个,相信我”。换句话说,操作系统可以告诉这是一个 RAID 设置,但操作系统*不负责 RAID 奇偶校验/条带化/等的磁盘格式。但是,即使在这种模式下,CPU 也会为奇偶校验位和条带化进行所有计算。主板、BIOS 和 SATA 控制器具有足够的逻辑来物理“组合”设备并为 RAID 定义磁盘格式。但是它们缺乏专用处理器来进行计算,并且依赖操作系统中的软件来告诉 CPU 来执行这些计算,这就是为什么您仍然必须将您的 BIOS RAID 告诉 Linux。(Intel Matrix / RST 是一种 BIOS RAID)。

  • Hardware RAID:这是您拥有专用芯片的地方,其唯一目的是处理 RAID 所需的数据。该芯片可以非常强大;一些硬件 RAID 控制器实际上有一个双核、类似 CPU 的芯片,尽管它专门优化运行嵌入式操作系统,该操作系统在执行 RAID 计算时非常快,例如 RAID-5 的奇偶校验位,或 RAID 的条带化-0。硬盘通过物理电缆连接到 RAID 卡中,该卡提供 SATA/SAS 控制器,通常是 DRAM 或闪存中的读写缓存、本机命令队列,以及进行更多数学计算的板载中央处理器。这些硬件芯片从入门级的 150 美元到工业数据中心 RAID 背板的数千美元不等。

兼容性

通常,每种类型的 RAID 都与某个特定方面“联系在一起”,当该方面发生变化时,您会遇到兼容性问题。

  • 软件 RAID 与定义 RAID 格式的操作系统相关联。有时,在同一操作系统的两个不同版本之间,RAID 格式会被破坏,导致不兼容。尽管从概念上讲,任何其他操作系统都可以支持任何软件 RAID 格式,但由于它只是软件,实际上,大多数操作系统都存在不兼容的 RAID 格式,只有该操作系统才能识别。但是,最广为人知的兼容性是 Linux 内核本机使用的 RAID 格式(md正如您在 OP 中所讨论的那样),它也可以识别 Windows 的软件 RAID,称为动态磁盘。

  • BIOS RAID 与您拥有的主板相关联。可以将使用特定 BIOS RAID 格式格式化的驱动器移动到具有类似 BIOS RAID 解决方案的另一块主板;例如,英特尔 RST 到另一个带有 RST 的系统。但是您需要在采取行动之前仔细研究这一点,以确保如果您关心它的兼容性,它就会兼容。

  • 硬件 RAID 与特定的硬件控制器或制造商明确声明兼容的一系列硬件控制器相关联。一些供应商保持非常一致的硬件 RAID 磁盘格式,多代控制器都支持该格式;其他人更频繁地更改格式。同样,您必须逐案研究它。

表现

性能很大程度上取决于您如何配置 RAID 阵列的基本参数,而不是具体的解决方案。通常,硬件 RAID 控制器具有最高的“上限”以实现最高性能;它们也不会像其他解决方案那样对您的 CPU 征税。但是,如果您为工作负载选择了错误的 RAID 类型、错误的条带大小或错误的缓存方法,则硬件 RAID 控制器也可能非常慢,比以非 RAID 模式运行的驱动器之一慢。其他解决方案也是如此,这也可能非常慢。

  • 软件 RAID 最适合 RAID-1 配置,因为镜像是将相同数据简单复制到两个驱动器,并且无需计算奇偶校验位。软件 RAID 上的 RAID-5 太可怕了。

  • BIOS RAID 性能通常与软件 RAID 相当,但已知某些 BIOS RAID 控制器和磁盘格式存在缺陷或性能不佳。一般来说,如果您必须在软件 RAID 和 BIOS RAID 之间进行选择,前者在性能方面更有希望,特别是如果您运行的是最新的 Linux 发行版。

  • 由于 RAID 控制器处理器的优化处理能力,硬件 RAID 性能可以非常快,正如我所说,它是为高吞吐量而设计的,实际上可以作为一个多核芯片出现——所以这是一个严重的问题。主要的缺点是你失去了灵活性——你不能在没有硬件 RAID 控制器的情况下将驱动器插入另一台计算机——以及费用。硬件 RAID 是使用 RAID-5 或 RAID-6 的最佳级别,尤其是当您有很多磁盘(4 个或更多)时。

总体

尽管Linux支持BIOS RAID ,但我不建议您使用它。

在我给了你冗长的答案之后,现在直接回答你的问题:

与常规 Linux 软件 RAID 相比,RSTe 给我带来了什么?

请参阅上面软件 RAID 和 BIOS RAID 之间的比较。“RSTe”是BIOS RAID的一个实例;md没有 RAID 的Linux RAID-e imsm是软件 RAID 的一个实例。

当处于 RSTe 模式时,是由 Linux md 或 BIOS 处理的实际 RAID I/O 路径(即镜像和条带化)。

如果您指的是数据路径,除非您有专用的硬件 RAID 卡,否则它始终由 CPU(以及操作系统)处理。我不认为这些出现在任何主板上,尽管那里的一些高端服务器芯片组可能会让我感到惊讶......

特别是,当我使用“矩阵 RAID”(即 RAID 覆盖特定分区而不是整个磁盘)时,是否需要在两个 MBR 上手动安装 grub?

不需要。事实上,您永远不需要在两个 MBR 上都安装 GRUB。让我们逐一分析:

  • 软件RAID:任意选择一个磁盘安装GRUB,并按照BIOS顺序进行设置,使其先启动。请记住,如果需要,您可以镜像单个分区,因此磁盘在软件 RAID 中不必一点一点相同。一个人可以拥有一个带有引导加载程序的 MBR,一个人可以在 MBR 中什么都没有。

  • BIOS RAID:BIOS 会告诉您它是一个“磁盘”(它实际上将其称为 RAID 阵列),因此您无法选择安装 GRUB 的位置。当您为此安装 Linux 时,MBR(包括引导加载程序)和两个磁盘的所有其他扇区将在两个磁盘之间复制。因此,与软件 RAID 不同,BIOS RAID 确实强制要求两个磁盘必须以块为单位相同,因为您无法将它们作为两个逻辑设备分开;磁盘控制器它们是一个逻辑设备,而不是两个。因此,您不能只说“我想将一些数据写入驱动器 0 但不想写入驱动器 1”。不可能。但使用软件 RAID 完全有可能。

  • 硬件 RAID:BIOS 会告诉您它是一个“磁盘”,而就 BIOS 而言,它甚至不会特别意识到您正在处理多个磁盘。RAID 控制器从操作系统和 BIOS 中完全抽象出 RAID 的所有细节,除非您可以使用操作系统中的某种自定义协议配置某些硬件 RAID 控制器。但是设备完全离不开软件层,类似于BIOS RAID。

编辑:更新更多问题答案

我仍然无法理解一些事情。首先,关于 BIOS RAID:我可以使用 mdadm 构建它,因此 Linux 实际上并没有对我隐藏底层磁盘。

这很奇怪,也很难解释。基本上,磁盘在某些层显示为一个,而在其他层显示为两个。但我敢打赌,对于 BIOS RAID,每个磁盘都不会有自己单独的设备节点,例如/dev/sda/dev/sdb。如果确实如此,那么您的 BIOS RAID 与我所看到的不同。

关于 grub 和 MBR:如果 RAID 覆盖分区而不是磁盘,那么我仍然可以看到底层磁盘。MBR 不在 RAID 下,因此您需要安装引导加载程序两次才能在磁盘出现故障时进行引导。这样对吗?

安装另一个副本并没有什么坏处,但是在磁盘出现故障的情况下,启动将成为您最不关心的问题。简而言之,如果你愿意,就去做吧,但这并不是最重要的事情。从 Live CD 将 grub 安装到 HDD 上很容易。

RAID 中的磁盘(特别是如果它们的品牌和型号相同,在同一工厂生产,并且在相同温度下彼此相邻运行)很可能会接连发生故障,一个接一个。因此,如果一个磁盘确实出现故障,只是耸耸肩并放入一个新磁盘并开始重建可能是不正确的:在重建期间,包含数据一致副本的最后一个磁盘本身很可能会失败。正是在这一点上,当您找到最后一个剩余磁盘时,我建议请专家(如果您擅长硬件,则自己动手)从原始磁盘中取出盘片,购买相同品牌/型号的新磁盘,将盘片放在那里并使用新磁盘读取数据。这是昂贵且耗时的,

这是我为你回答的五个问题;如果您发现此信息有任何价值,请适当标记答案。谢谢。