我计划在我的系统上使用 ZFS(HP ML370 G5、Smart Array P400、8 SAS 磁盘)。我希望 ZFS 单独管理所有磁盘,因此它可以利用更好的调度(即我想在 ZFS 中使用软件 RAID 功能)。
问题是,我找不到在 RAID 控制器上禁用 RAID 功能的方法。现在,控制器将所有磁盘聚合到一个大的 RAID-5 卷中。所以 ZFS 看不到单个磁盘。
有没有办法完成这个设置?
我计划在我的系统上使用 ZFS(HP ML370 G5、Smart Array P400、8 SAS 磁盘)。我希望 ZFS 单独管理所有磁盘,因此它可以利用更好的调度(即我想在 ZFS 中使用软件 RAID 功能)。
问题是,我找不到在 RAID 控制器上禁用 RAID 功能的方法。现在,控制器将所有磁盘聚合到一个大的 RAID-5 卷中。所以 ZFS 看不到单个磁盘。
有没有办法完成这个设置?
无法禁用早于 P420i 的 HP Smart Array 控制器的 RAID 功能
此问题的常见“解决方案”是在控制器级别创建单磁盘 RAID-0 卷。这不是一个好的解决方案,绝对不等同于 JBOD 安排。磁盘上有 RAID 元数据,故障会产生意想不到的结果。
在这种情况下,请谨慎使用 Smart Array P400 单磁盘 RAID 0 设置。如果发生热插拔事件(磁盘故障/驱动器移除),ZFS 将无法识别新磁盘而无需重新启动。这些卡上没有真正的 JBOD 设置。
使用专用 SAS HBA 是正确的途径。
还应该注意的是,仅仅因为我刚刚通过遵循 LapTop006 杀死了 7TB 的数据,好吧,让我们称之为“个人意见”,P400 控制器会将未分配的磁盘公开为 JBOD,这只不过是一个猜测,它是错误,至少对于我的 P400 而言。可能还有其他控制器表现得像 LapTop006 所说的那样,P400 没有,至少没有原始固件(V2.75)。
今天,当我试图从一台带有故障 6 通道 SATA RAID 控制器的机器上引入 6 盘软件 RAID-5 时,我学到了这一点。它们一直是软件 RAID 的一部分,ICH9“假”RAID 控制器的 RAID 功能从未被使用过。
目标机器没有足够的 SATA 端口,所以我想,好吧,没问题,反正它是一个 SOFTWARE RAID,为什么不将磁盘连接到 P400,磁盘会 - 如果控制器表现得像所述 - 显示为 JBOD ,并且操作系统会 - 就像我之前将软件 RAID 从一台机器移动到另一台机器时所做的很多次一样 - 识别 RAID。
然而,在我的情况下,P400 确实将这些磁盘识别为新磁盘,并且 - 无需我的确认 - 它确实在我打开计算机电源后立即在控制器级别自动创建 RAID-5 阵列。再见软件 RAID。
我将磁盘带回原来的机器,但 RAID 已经损坏,操作系统现在看到 6 个空磁盘。
再见,7TB 数据。
损坏已经造成,我玩了一点磁盘。回到配备 P400 的机器上,我删除了不需要的 RAID-5,磁盘没有出现在操作系统级别。我必须创建 6 个 RAID-0 磁盘,但它们出现了 - 但是都是空的。
结论:
以下是我对 HP Smart Array P410 RAID 控制器的个人体验:
我有一个从 ebay 买的 P410 控制器。它带有 512MB 的 RAM,支持“Flash”,带有“SuperCapacitor”。我还发现它带有一个“功能许可证”,称为“高级包 01”。此“高级包”许可证启用 Raid 6 和 60,以及其他“高级设置”。现在,我不确定当您将 RAM 和电池/超级电容器添加到卡时是否启用了此“功能” - 我认为它是...请插话,任何人,如果您有一些额外的信息。
我拿了一个已加载文件的 320GB SATA 磁盘,并将其插入 HP P410 控制器上的端口。然后,正如其他人评论的那样,我使用 HP“Smart Storage Administrator”(Windows 实用程序)将其配置为“Single Disk Raid 0”。
因此,执行此操作后,Windows 会立即弹出新驱动器。瞧,我的数据都在那里,太好了!
您会注意到,如果您检查 Smart Storage Administrator 中的“物理设备”信息,列表中有一个项目显示为:“暴露于操作系统:否”。似乎 P410 知道我们想要 JBOD 但拒绝给我们!那是相当令人沮丧的......
现在,这就是我发现的。Smart Array 控制器会覆盖磁盘开头的一些数据,并且...如果您尝试将此驱动器从 Smart Array 中取出并返回到常规主板端口,Windows 磁盘管理会将其显示为“未分配”。
对此的解决方案......使用出色的“TestDisk”实用程序,您可以选择物理磁盘,告诉它您有一个 Intel 分区,然后快速搜索后,它应该会找到您丢失的信息。您可以使用“P:列出文件”来确保这些文件确实存在...然后您告诉 TestDisk 将信息“写入”回磁盘,重新启动计算机,瞧!回到快乐之地。因此,似乎有一种方法可以在这里完成工作,您只需要注意智能阵列(以及我读过的许多其他控制器)将覆盖您决定的任何磁盘上的一些数据设置为任何类型的 RAID 阵列。但是,如果您小心并且不进行初始化或擦除,您通常可以使用“TestDisk”等不错的小工具让您的驱动器恢复正常工作。
注意:我在 P410 上运行 Raid 5 也取得了很好的成功,最初,我在 P400 上创建它,然后决定将其换成 P410。无需进入配置菜单或其他干预,P410 即可识别 Raid 5 阵列并在启动时立即使其可用!我虽然那很好。因此,更多证据表明 HP Raid 卡将所有阵列信息存储在驱动器本身上,而不是卡上。好的!
另一件事是,我发现无法在此智能阵列上启用真正的“直通”。使磁盘“未配置”或不属于阵列成员会阻止它们显示给 O/S。只有让 Smart Array 管理原始磁盘,它才会发挥出色。话虽如此……我了解到的信息告诉我,智能阵列的“干扰”程度很小……对我来说,这似乎没什么大不了的。
顺便说一句,我在 SuperMicro 745 服务器/工作站上搞砸了所有这些。743、745、747 和 748 是惊人的底盘/系统!您可以在 ebay 上以相当便宜的价格购买 743 或 745。如果您喜欢 MEGA 存储,您可以在 ebay 上以便宜的价格购买 846(24 个托架)(我有一个)。
杰夫
另一种选择是将每个磁盘创建为单磁盘 RAID-0 阵列(是的,它应该允许您这样做)。然后 ZFS 将看到所有的单个磁盘。
您正在寻找的选项的“技术”名称称为 JBOD - Just a Bunch of Disks。
我只是将内部 SCSI 电缆从智能阵列卡移动到位于系统板上的板载 SCSI 控制器。这使我可以访问原始磁盘。
对于查看此旧线程并使用 HP smartarray 套件的任何人 - 不要这样做!- 这就是为什么:
ZFS 最适合在控制器发现问题时不会断开磁盘连接的情况下使用。让 ZFS 自行管理。如果 Smartarray 看到读取(或任何其他问题),它将断开磁盘 - 这对于 ZFS 来说根本不理想,并且可能会给您带来很多痛苦!
这意味着,要不惜一切代价避免智能阵列的 P420、P8* 等用于 ZFS,直到 HP 允许直接直通,即使出现问题,智能阵列也不会断开磁盘。当磁盘开始出现故障(但并非完全中断)时会发生什么,智能阵列控制器将简单地断开整个磁盘的连接。您可能认为这是正确的做法,但是如果磁盘仍然可以正常工作(在其表面的其他部分),那么拥有它仍然很有用,尤其是在重新银化到新磁盘时。ZFS 仍然可以使用故障磁盘。它有 CRC/etc 并且可以为你管理这个。智能阵列只是断开整个磁盘的连接,如果您不在 raidz3 之类的设备上(或者不要
tl;dr HP Smartarray 不应该用于 ZFS,除非它可以在不断开有问题的磁盘的情况下进行直通。使用不同的 HBA 卡,如果磁盘有问题也不会干扰(让 ZFS 管理它,它非常擅长这个)
如果您只是删除 RAID BIOS 中的卷,该卷会直接在某些版本的 SmartArray 控制器中公开磁盘。即使使用 ZFS 之类的东西,我们也总是使用控制器。