我正在创建一个 btrfs RAID1 阵列,我有两个 SATA3 控制器 - 一个在主板上,另一个在 PCIe 插槽中。为了简单起见,假设我只有两个驱动程序,sda 和 sdb。我最好将它们都连接到同一个控制器,还是应该一个在 MB 控制器上,另一个在 CARD 控制器上。将它们拆分到控制器上似乎是个好主意,因为即使一个控制器坏了,您仍然会有一个正常工作的驱动器。但是,如果不将两个驱动器连接到同一个控制器,我会牺牲任何东西吗(I/O 速度?CPU 负载?对称/平衡的强迫症感觉?我没有考虑过的事情?)?
答案1
我建议仅使用 PCI-E 插槽,因为它们上的硬件/固件往往比板载控制器更好。
许多板载控制器倾向于执行所谓的“假 RAID” - 像硬件 RAID 一样工作,但实际上只执行软件 RAID,因此您无法获得真正的硬件 RAID 的性能。
另外,如果每个驱动器都连接一个,则无法使用板载和 PCE-E 卡实现 RAID。
答案2
最大的性能损失可能来自控制器速度的差异。如果您的板载控制器的基准速度比卡快 50%,那么当在较慢的控制器上访问数据时,您会看到 50% 的性能损失。但如果您的控制器的基准速度完全相同,我敢打赌,您不会看到驱动器在同一控制器上的任何实际性能损失。
您可能要做的最好的事情是首先使用相同的驱动器分别对控制器进行基准测试,以了解控制器的性能。然后使用不同的组合在控制器上设置一些阵列,然后测试和测量阵列的性能并与控制器的基准进行比较。然后,理解数据并选择最佳配置。
驱动器差异、控制器差异、以不同方式处理数据的 MB 芯片组,甚至软件处理事物的方式之间存在很多变量,以至于您实际看到的性能将在很大程度上取决于设置的变量和参数。
简而言之,您不应该看到由于拆分控制器而导致的任何性能损失,但是,直到您设置不同的配置、对其进行基准测试和比较后,才能确定最佳性能。
您能像 Linux MD Raid 一样使用 btrfs 运行 2 个驱动器 RAID 10 吗?