简介
本教程将说明如何将戴尔第 8 代阵列卡刷入 LSI 直通固件。由于 iDRAC 在系统启动前会检查 PCI 卡的供应商,因此通用的固件刷写指南可能不会生效,这也是本教程旨在解决的问题。如果你想了解更多,请看这个技术解释。支持以下的戴尔阵列卡:
- H310 全尺寸 PCIe 接口卡及小型卡
- H710 全尺寸 PCIe 接口卡及小型卡
- H710P 全尺寸 PCIe 接口卡及小型卡
- H810 全尺寸 PCIe 接口卡
致谢
- Jon Sands
- fourlynx
- WildOne69
- Various STH Members
(译注)读者须知
原教程来自于 Fohdeesha Docs,仓库见此。
中文教程由 Liups233 翻译,由 GPL-3.0 License 许可,并免费分发。读者亦可以自由地使用、复制、修改、分发此教程,但分发时必须提供来源。
作者和译者不承担由于使用本教程造成任何事故的责任。
为何刷入直通固件
除了因为不需要原厂固件的 RAID 功能以外,还有两个主要原因。
- 更好的性能。LSI 的直通固件大大增加了适配器的最大队列深度。例如,在 H310 Mini 上,使用戴尔原厂固件时的最大队列深度为 25,而使用 LSI 直通固件时则为 600。这意味着高性能固态硬盘的 IOPS 将大幅提高。(译注:队列深度,更显然地说是指未完成的的 I/O 数目,更多请见此链接。)
- 不同的驱动。戴尔固件(基于 MegaRAID)在 Linux/FreeBSD 等操作系统中使用 MegaRAID 驱动程序。但在某些发行版中,这会导致一些问题,例如在 FreeNAS 系统中,从连接到控制器的硬盘中提取 SMART 数据时会出现错误。在刷写到直通模式后,操作系统将通过简单得多的 mpt3sas 驱动程序使用该卡。
准备
译注:
- 请仔细阅读,不要漏掉操作。重点会用加粗字体或加粗底色强调,补充说明会用斜体表示。
- 需要有基础的系统维护和 Linux 命令知识。
- 需要对戴尔服务器有一定熟悉。
- 本人提倡「自己动手,丰衣足食。」但是有不懂的地方欢迎来找我。
确保系统中只安装了一个基于 LSI 的阵列卡。如果除了要刷写的以外还有其他阵列卡,请将其移除。此外,还必须需要禁用一些 BIOS 设置。在服务器 BIOS 中,禁用以下所有设置(译注:开机按 F2 进入 BIOS):
- System BIOS > Processor Settings > Virtualization Technology
- System BIOS > Integrated Devices > SR-IOV Global Enable
- System BIOS > Integrated Devices > I/OAT DMA Engine
还需要将服务器的启动模式设置为 BIOS 启动而不是 UEFI 模式。
- System BIOS > Boot Settings > Boot Mode > 设置为 BIOS
注意:如果要在非戴尔服务器上刷写固件(例如家用台式机平台),请确保找到与 IOMMU 和处理器虚拟化相关的任何 BIOS 设置,并将其禁用。(译注:非常不建议在非戴尔服务器上刷写固件。)
当你完成本教程后,如果需要,可以恢复以上修改的设置。
此外,还需要:
- 移除阵列卡电池(H310 阵列卡没有电池,不需要移除)。电池用于在 H710/H710P/H810 阵列卡上维持缓存数据,而这在刷入直通固件后就不需要了,因为直通固件不会调用阵列卡缓存。更糟的是,在极少数情况下,不移除电池可能会干扰固件的刷写过程。(译注:只需要将电池的电源线拔掉即可。电源线是四芯的,颜色分别是黑黄白红。)
- 译注:备份数据。刷入直通固件后,原有的硬盘阵列将不能再被访问,所以如果需要,记得备份数据。
- 移除所有硬盘。在刷入固件的过程中,请确保硬盘柜中没有硬盘,否则可能会使刷写失败。
完成以上操作后,请下载此 ISO 文件。(译注:可能需要梯子。如果不能下载请联系我。)
Dell Perc Flashing ZIP
Version: v2.5
ZIP Updated: 09-28-2023
MD5: d7f5f926626b295f7005c4c927158569
这个压缩包里包含两个 ISO 文件,一个是 FreeDOS,另一个是 Linux。两个镜像都包含了必要的工具和文件。你可以使用 iDRAC 虚拟介质启动(译注:速度可能比较慢),也可以在 Windows 系统中使用 Rufus 将其写入 U 盘。对于 Linux/Unix 系统,可以使用 dd
命令,或者其他熟悉的工具写入。如果使用 Ventoy 进行 U 盘启动,请确保在启动 FreeDOS 时使用 memdisk 模式(译注:不建议用 Ventoy,可能有 Bug)。
确定阵列卡具体型号
将服务器从 FreeDOS 镜像启动,并输入 info
命令来显示阵列卡的具体型号,正常情况下会返回类似下图的结果。
警告:如果要刷写用于戴尔刀片式服务器(如 M620 和 M820)的阵列卡,必须要用下文标注有「刀片式服务器」的教程。塔式服务器(如 T620)和机架式服务器(如 R720)请使用未标注「刀片式服务器」的教程。
同时,如果你的阵列卡型号不在下面的列表中,请停止操作并联系我(译注:此处为作者的联系方式)。如果继续操作可能会使其永久损坏。
译注:下面的 B0 和 D1 指的是修订号,也就是上图 ChipRevision 显示的内容。
请根据返回的信息选择:
- 如果显示为 H310 Mini,请点这里继续。
- 如果显示为 H310 Adapter,请点这里继续。
- 如果显示为 H710 Mini B0,请点这里继续。
- 如果显示为 H710 Adapter B0,请点这里继续。
- 如果显示为 H710 Mini D1,请点这里继续。
- 如果显示为 H710 Mini D1,并且用于刀片式服务器,请点这里继续。
- 如果显示为 H710 Adapter D1,请点这里继续。
- 如果显示为 H710P Mini B0,请点这里继续。
- 如果显示为 H710P Mini B0,并且用于刀片式服务器,请点这里继续。
- 如果显示为 H710P Adapter B0,请点这里继续。
- 如果显示为 H710P Mini D1,请点这里继续。
- 如果显示为 H710P Mini D1,并且用于刀片式服务器,请点这里继续。
- 如果显示为 H710P Adapter D1,请点这里继续。
- 如果显示为 H810 Adapter B0,请点这里继续。
- 如果显示为 H810 Adapter D1,请点这里继续。
附加信息:关于修订编号和部件编号
刚才教程中有提到,阵列卡有 B0 和 D1 两种修订版,他们的主要区别在于链接速度:D1 的链接速度为 PCIe 3.0,而不是 PCIe 2.0。实际上,无论是 3.0 还是 2.0 都几乎不会造成瓶颈,因为就算是 PCIe 2.0,在达到 x4 下的 20 Gbps 全双工带宽之前,首先会达到 SAS 芯片的性能极限。
P 卡(H710P)的区别在于更多的缓存(1GB 比 512MB),但直通模式下,这一点完全无关紧要,因为直通固件不会使用缓存。
无论如何,既然它们的二手价格相同,你不妨购买 D1 版本。请注意,许多 eBay 卖家只是在标题中标注部分内容,因此请尽量在实际图片中核实标签上标注的部件编号是否正确。请注意,大多数卖家都省略了前导 0,因此您会得到更多相同的结果。
译注:刷直通买 H310 足够了,710 和 710P 都有点浪费。
以下是不同修订编号的阵列卡对应的部件编号:
- H710 B0 大卡:
– 017MXW
– 0NHD8V
– 由于某些原因,这类卡的价格可能比较高。
– 你可以选购这类阵列卡用来刷直通,不过如果 LSI 官方的直通卡更便宜,那就没必要了。 - H710 D1 大卡:
– 0PX45J
– 0VM02C
– 由于某些原因,这类卡的价格可能比较高。
– 你可以选购这类阵列卡用来刷直通,不过如果 LSI 官方的直通卡更便宜,那就没必要了。 - H710P B0 大卡:
– 0V9RNC
– 由于某些原因,这类卡的价格可能比较高。
– 你可以选购这类阵列卡用来刷直通,不过如果 LSI 官方的直通卡更便宜,那就没必要了。 - H710P D1 大卡:
– 07GCGT
– 0XDHXT
– 由于某些原因,这类卡的价格可能比较高。
– 你可以选购这类阵列卡用来刷直通,不过如果 LSI 官方的直通卡更便宜,那就没必要了。 - H810 B0 大卡:
– 0HVCWY
– 由于某些原因,这类卡的价格可能比较高。
– 你可以选购这类阵列卡用来刷直通,不过如果 LSI 官方的直通卡更便宜,那就没必要了。 - H810 D1 大卡:
– 0NDD93
– 由于某些原因,这类卡的价格可能比较高。
– 你可以选购这类阵列卡用来刷直通,不过如果 LSI 官方的直通卡更便宜,那就没必要了。 - H710 B0 小卡:
– 0MCR5X
– 0FRH64 - H710 D1 小卡:
– 05CT6D - H710 D1 小卡(用于刀片式服务器):
– 062P9H - H710P B0 小卡(用于刀片式服务器):
– 081J2H - H710P D1 小卡(用于刀片式服务器):
– 0PK2W9 - H710P B0 小卡:
– 0TTVVV
– 0N3V6G - H710P D1 小卡:
– 0TY8F9
留言