我计划在我的系统上使用 ZFS(HP ML370 G5、Smart Array P400、8 SAS 磁盘)。我希望 ZFS 单独管理所有磁盘,以便它能够利用更好的调度(即,我希望在 ZFS 中使用软件 RAID 功能)。
问题是,我找不到禁用 RAID 控制器上的 RAID 功能的方法。目前,控制器将所有磁盘聚合成一个大的 RAID-5 卷。因此 ZFS 无法看到单个磁盘。
有什么方法可以完成这个设置吗?
答案1
如果您只是删除 RAID BIOS 中的卷,则会在某些版本的 SmartArray 控制器中直接显示磁盘。即使使用 ZFS 之类的东西,我们也会始终使用该控制器。
答案2
无法禁用 P420i 之前的 HP Smart Array 控制器的 RAID 功能
解决此问题的一个常见“解决方案”是在控制器级别创建单磁盘 RAID-0 卷。这不是一个好的解决方案,而且绝对不等同于 JBOD 安排。磁盘上有 RAID 元数据,故障会产生意外结果。
在这种情况下,请谨慎使用 Smart Array P400 单磁盘 RAID 0 设置。如果发生热插拔事件(磁盘故障/驱动器移除),ZFS 将无法在不重新启动的情况下识别新磁盘。这些卡上没有真正的 JBOD 设置。
使用专用的 SAS HBA 是正确的方法。
答案3
还应注意,仅仅因为我刚刚按照 LapTop006 的说法销毁了 7TB 的数据,好吧,我们称之为“个人意见”,即 P400 控制器会将未分配的磁盘显示为 JBOD,这只不过是一种猜测,而且是错误的,至少对于我的 P400 而言。可能还有其他控制器的行为与 LapTop006 所说的一样,但 P400 不会,至少在使用原始固件 (V2.75) 时不会。
今天,当我尝试从一台 6 通道 SATA RAID 控制器出现故障的机器上移植 6 盘软件 RAID-5 时,我深刻地认识到了这一点。它们一直是软件 RAID 的一部分,而 ICH9“假”RAID 控制器的 RAID 功能从未被使用过。
目标机器没有足够的 SATA 端口,所以我想,好吧,没问题,无论如何它都是一个软件 RAID,为什么不将磁盘连接到 P400,磁盘会 - 如果控制器的行为与所述一致 - 显示为 JBOD,并且操作系统会 - 就像以前我将软件 RAID 从一台机器移动到另一台机器时多次做过的那样 - 识别该 RAID。
然而,就我而言,P400 确实将磁盘识别为新磁盘,而且 - 无需我的确认 - 在我启动计算机后,它确实在控制器级别自动创建了 RAID-5 阵列。再见软件 RAID。
我将磁盘带回原来的机器,但 RAID 已经损坏,操作系统现在看到 6 个空磁盘。
再见,7TB 的数据。
损坏已经造成,我稍微摆弄了一下磁盘。回到配备 P400 的机器上,我删除了不需要的 RAID-5,磁盘没有出现在操作系统级别。我不得不创建 6 个 RAID-0 磁盘,它们出现了 - 但都是空的。
结论:
- P400 不会将未分配的磁盘传递给操作系统。
- 您需要创建 RAID-0 配置才能将磁盘传输到操作系统。
- 保存 RAID-0 配置(或任何其他 P400 配置)将清空磁盘。
- 无论如何,P400 自动配置可能已经在未经许可的情况下创建了 RAID-5,从而毁掉了磁盘上的任何东西。
答案4
另一个选项是将每个磁盘创建为单磁盘 RAID-0 阵列(是的,它应该允许您这样做)。然后 ZFS 将看到所有单个磁盘。
您正在寻找的选项的“技术”名称称为 JBOD - 只是一堆磁盘。