记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

戴尔 H310/H710(P)/H810 阵列卡刷写为直通模式

戴尔 H310/H710(P)/H810 阵列卡刷写为直通模式
本教程将说明如何将戴尔第 8 代阵列卡刷入 LSI 直通固件。由于 iDRAC 在系统启动前会检查 PCI 卡的供应商,因此通用的固件刷写指南可能不会生效,这也是本教程旨在解决的问题。支持以下的戴尔阵列卡:
XML/HTML代码
  1. H310  全尺寸 PCIe 接口卡及小型卡
  2. H710  全尺寸 PCIe 接口卡及小型卡
  3. H710P 全尺寸 PCIe 接口卡及小型卡
  4. H810  全尺寸 PCIe 接口卡
为何刷入直通固件
除了因为不需要原厂固件的 RAID 功能以外,还有两个主要原因。
更好的性能。LSI 的直通固件大大增加了适配器的最大队列深度。例如,在 H310 Mini 上,使用戴尔原厂固件时的最大队列深度为 25,而使用 LSI 直通固件时则为 600。这意味着高性能固态硬盘的 IOPS 将大幅提高。(注:队列深度,更显然地说是指未完成的的 I/O 数目,更多请见此链接。)
不同的驱动。戴尔固件(基于 MegaRAID)在 Linux/FreeBSD 等操作系统中使用 MegaRAID 驱动程序。但在某些发行版中,这会导致一些问题,例如在 FreeNAS 系统中,从连接到控制器的硬盘中提取 SMART 数据时会出现错误。在刷写到直通模式后,操作系统将通过简单得多的 mpt3sas 驱动程序使用该卡。
准备
需要有基础的系统维护和 Linux 命令知识。
需要对戴尔服务器有一定熟悉。
确保系统中只安装了一个基于 LSI 的阵列卡。如果除了要刷写的以外还有其他阵列卡,请将其移除。此外,还必须需要禁用一些 BIOS 设置。在服务器 BIOS 中,禁用以下所有设置(注:开机按 F2 进入 BIOS):
XML/HTML代码
  1. System BIOS > Processor Settings > Virtualization Technology
  2. System BIOS > Integrated Devices > SR-IOV Global Enable
  3. System BIOS > Integrated Devices > I/OAT DMA Engine
还需要将服务器的启动模式设置为 BIOS 启动而不是 UEFI 模式。
XML/HTML代码
  1. System BIOS > Boot Settings > Boot Mode > 设置为 BIOS
注意:如果要在非戴尔服务器上刷写固件(例如家用台式机平台),请确保找到与 IOMMU 和处理器虚拟化相关的任何 BIOS 设置,并将其禁用。(非常不建议在非戴尔服务器上刷写固件。)
当你完成本教程后,如果需要,可以恢复以上修改的设置。
此外,还需要:移除阵列卡电池(H310 阵列卡没有电池,不需要移除)。电池用于在 H710/H710P/H810 阵列卡上维持缓存数据,而这在刷入直通固件后就不需要了,因为直通固件不会调用阵列卡缓存。更糟的是,在极少数情况下,不移除电池可能会干扰固件的刷写过程。(只需要将电池的电源线拔掉即可。电源线是四芯的,颜色分别是黑黄白红。)
注意:备份数据。刷入直通固件后,原有的硬盘阵列将不能再被访问,所以如果需要,记得备份数据。
移除所有硬盘。在刷入固件的过程中,请确保硬盘柜中没有硬盘,否则可能会使刷写失败。
完成以上操作后,请下载此 ISO 文件。(可能需要科学上网)
Version: v2.5
ZIP Updated: 09-28-2023
MD5: d7f5f926626b295f7005c4c927158569
这个压缩包里包含两个 ISO 文件,一个是 FreeDOS,另一个是 Linux。两个镜像都包含了必要的工具和文件。你可以使用 iDRAC 虚拟介质启动(速度可能比较慢),也可以在 Windows 系统中使用 Rufus 将其写入 U 盘。对于 Linux/Unix 系统,可以使用 dd 命令,或者其他熟悉的工具写入。如果使用 Ventoy 进行 U 盘启动,请确保在启动 FreeDOS 时使用 memdisk 模式。
确定阵列卡具体型号
将服务器从 FreeDOS 镜像启动,并输入 info 命令来显示阵列卡的具体型号,正常情况下会返回类似下图的结果。
percflash1
警告:如果要刷写用于戴尔刀片式服务器(如 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),但直通模式下,这一点完全无关紧要,因为直通固件不会使用缓存。刷直通买 H310 足够了,710 和 710P 都有点浪费。
以 H710P Mini D1 阵列卡为例说下简单刷机过程:
一、从下载的 FreeDOS 的 ISO启动机器,在命令提示符输入 info 记下SAS阵列卡的信息
XML/HTML代码
  1. Product Name : PERC H710P Mini
  2. ChipRevision : D1
  3. SAS Address  : xxxx (will differ)
输出的信息包含阵列卡型号、版本、地址。
擦除阵列卡闪存和固件
XML/HTML代码
  1. PD1CROSS
输入上面命令后按照提示确认,系统会
出现两次进度,清空SAS闪存和固件,然后就可以重启。
XML/HTML代码
  1. reboot
二、从下载的 Linux 的 ISO启动机器,进行 IT 固件刷写和 SAS 地址写入
启动到Linux可以使用以下凭据登录:user/live 运行 ipinfo 查看系统IP可以通过SSH远程登录。也可以直接本机运行命令。
切换到root用户
XML/HTML代码
  1. sudo su -
  2. 或者
  3. sudo -i
刷 IT 固件
XML/HTML代码
  1. D1-H710
然后就是等待,他会全自动刷完全部固件,完成后就是IT模式,没有阵列卡功能了。
刷入SAS 地址
注意:以上操作是实现直通功能了,没有SAS地址也不影响正常使用,但是如果想恢复阵列卡固件,就必须刷入SAS地址。
刷写操作必须重启一次系统,否则无法写入。
XML/HTML代码
  1. sudo su -
  2. setsas 500605b123456777
写入后使用 info 命令查看信息可以得知是否写入成功。
其他:
写入启动固件
刷入常规 BIOS 启动映像:
XML/HTML代码
  1. flashboot /root/Bootloaders/mptsas2.rom
刷新 UEFI 启动映像(该卡可以同时刷新 UEFI 和 BIOS 启动映像):
XML/HTML代码
  1. flashboot /root/Bootloaders/x64sas2.rom
恢复到原装 Dell PERC 固件 (需要重启到FreeDOS Live映像)
XML/HTML代码
  1. PD1REVRT
总结:通过三次启动,实现戴尔阵列卡的全部刷写。第一次 DOS 启动,查看阵列卡信息,擦除全部闪存和固件。第二次启动到 Linux 系统,根据卡的型号和版本,输入对应命令,直接全自动刷写固件,一步到位。第三次启动到 Linux 系统,可以写入SAS的地址,方便恢复阵列卡固件。
FreeDOS 命令 
XML/HTML代码
  1. #查看阵列卡信息
  2. info
  3. #重启
  4. reboot
Linux命令 
XML/HTML代码
  1. #切换root用户
  2. sudo -i
  3. #查看卡信息
  4. info
  5. #查看系统IP
  6. ipinfo
  7. #写入SAS卡地址
  8. setsas 500605b123456777
Mini小卡
XML/HTML代码
  1.                H310 Mini H710 B0 Mini  H710 D1 Mini  H710P B0 Mini H710P D1 Mini
  2. 擦除卡闪存(DOS) 310MNCRS   B0CROSS       D1CROSS       PB0CROSS      PD1CROSS
  3. 刷IT固件(Linux) H310      B0-H710       D1-H710        B0-H710       D1-H710
  4. 恢复戴尔固件(DOS)310REVRT  B0REVERT      D1REVERT       PB0REVRT      PD1REVRT
大卡 
XML/HTML代码
  1.               H310大   H710B0大  H710D1大  H710PB0大  H710PD1大  H810B0大  H810D1大
  2. 擦除卡闪存(DOS)310FLCRS BIGB0CRS  BIGD1CRS  BGPB0CRS  BGPD1CRS  810B0CRS  810D1CRS
  3. 刷IT固件(Linux) H310    B0-H710  D1-H710   B0-H710   D1-H710    B0-H710  D1-H710
  4. 恢复戴尔固件(DOS)310FLRVT BIGB0RVT BIGD1RVT BGPB0RVT  BGPD1RVT   810B0RVT 810D1RVT
刀片服务器 
XML/HTML代码
  1.                 710 D1小卡刀片  H710P B0小卡刀片     H710P D1小卡刀片
  2. 擦除卡闪存(DOS)   D1BLDCRS       B0PBLCRS           D1PBLCRS
  3. 刷IT固件(Linux)  D1-H710        B0-H710             D1-H710
  4. 恢复戴尔固件(DOS) D1BLDRVT       B0PBLRVT            D1PBLRVT
以上均为个人总结,详细操作命令以官方为准。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):