type
status
date
slug
summary
tags
category
icon
password
原教程来自于 Fohdeesha Docs,仓库见此。
为什么要刷直通模式?
因为买了4Kn(4K native,原生4K)的硬盘,发现要接在H710只能刷成直通模式才能正常使用(注:后续发现R720集成了S110不知道是否支持直通,等闲置下来再试)。原文给了另外两个原因:
- 更好的性能。LSI 的直通固件大大增加了适配器的最大队列深度。例如,在 H310 Mini 上,使用戴尔原厂固件时的最大队列深度为 25,而使用 LSI 直通固件时则为 600。这意味着高性能固态硬盘的 IOPS 将大幅提高。(译注:队列深度,更显然地说是指未完成的的 I/O 数目,更多请见此链接。)
- 不同的驱动。戴尔固件(基于 MegaRAID)在 Linux/FreeBSD 等操作系统中使用 MegaRAID 驱动程序。但在某些发行版中,这会导致一些问题,例如在 FreeNAS 系统中,从连接到控制器的硬盘中提取 SMART 数据时会出现错误。在刷写到直通模式后,操作系统将通过简单得多的 mpt3sas 驱动程序使用该卡。
准备工作
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
其他操作
- 移除阵列卡电池(H310 阵列卡没有电池,不需要移除)。电池用于在 H710/H710P/H810 阵列卡上维持缓存数据,而这在刷入直通固件后就不需要了,因为直通固件不会调用阵列卡缓存。更糟的是,在极少数情况下,不移除电池可能会干扰固件的刷写过程。(译注:只需要将电池的电源线拔掉即可。电源线是四芯的,颜色分别是黑黄白红。)
- 译注:备份数据。刷入直通固件后,原有的硬盘阵列将不能再被访问,所以如果需要,记得备份数据。我这次因为是新硬盘,没有做这个操作。
- 移除所有硬盘。在刷入固件的过程中,请确保硬盘槽中没有硬盘,否则可能会使刷写失败。
写启动盘
完成以上操作后,请下载此 ISO 文件。
Dell Perc Flashing ZIP
Version: v2.5
ZIP Updated: 09-28-2023
SHA1: 2583d3ba16ab684e549527ab5d4ec35e43c636cc
这个压缩包里包含两个 ISO 文件,一个是 FreeDOS,另一个是 Linux。两个镜像都包含了必要的工具和文件。这次选择使用 Ventoy 进行 U 盘启动,请确保在启动 FreeDOS 时使用 memdisk 模式。
确定阵列卡具体型号
将服务器从 FreeDOS 镜像启动,并输入
info
命令来显示阵列卡的具体型号,正常情况下会返回类似下图的结果。记录好
ChipRevision
和 SAS Address
附加信息:关于修订编号和部件编号
阵列卡有 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 版本。请注意,许多 卖家只是标注部分内容,因此请尽量在实际图片中核实标签上标注的部件编号是否正确。请注意,大多数卖家都省略了前导 0,因此您会得到更多相同的结果。
译注:刷直通买 H310 足够了,710 和 710P 都有点浪费。
以下是不同修订编号的阵列卡对应的部件编号:
H710 B0 小卡:– 0MCR5X– 0FRH64 H710 D1 小卡:– 05CT6D H710P B0 小卡:– 0TTVVV– 0N3V6G H710P D1 小卡:– 0TY8F9
刷成直通模式
清理原固件
这一步骤会清除原厂固件,为新的直通模式固件做准备。
在 FreeDOS 中,输入以下命令来清空原厂固件,同时也会写入需要的 SBR:
然后,请依照命令行中显示的提示操作(译注:会提示按任意键继续之类)。如果过程中没有错误,就可以使用
reboot
命令重启。Linux 下写入固件
在这一步,我们将刷入新的直通模式固件,这是整个过程的核心步骤。
随后,从另一个镜像启动,进入 Linux 系统。
(译注:此处原作者建议通过 SSH 连接,如果你希望用 SSH,可以使用
ipinfo
命令获取 IP 地址,然后使用 user
作为用户名,live
作为密码登入。)输入命令切换至
root
用户:输入命令开始自动化刷入固件:
如果过程中没有出现意料外的错误,就可以等过程结束后(注意是否有如右图
set SAS addr
字样)使用 reboot
命令重启,随后再次进入 Linux 系统。备注:由于某些原因,这一次重启可能会出现内核错误。如果无法进入 Linux 系统,手动重启即可(译注:可使用
Ctrl + Alt + Delete
)。写入 SAS 地址
重启回到 Linux 系统后,使用以下命令写回 SAS 地址
完成后,再次使用
info
命令来检查卡的信息,返回的结果类似于:如果你需要从连接至阵列卡(现在应该叫直通卡)的硬盘启动,你还需要刷入启动固件,这在一定程度上会拖慢启动速度。
刷入启动固件
注意:如果你有很多硬盘,刷入启动固件可能会最多增加额外两分钟的启动时间。所以如果你不需要从连接到直通卡的硬盘启动,则不用刷入启动固件。
如果你需要从连接至适配器的硬盘引导系统,需要刷入启动固件;否则,请跳过。刷入启动固件后,你在电脑开机自检(POST)过程中就可以看到「Press xxx to enter LSI configuration utility」。(译注:即按下一组快捷键进入直通卡 BIOS 界面。可以手动指定引导盘、查看硬盘状态等。)
译注:此处有两种选择,BIOS 启动固件和 UEFI 启动固件。你可以只刷 BIOS 启动固件或 UEFI 启动固件,也可以两个固件都刷(执行两条命令)。
在 Linux 系统中(你应该尚未重启),如果你需要引导传统模式(BIOS)启动的系统,输入以下命令刷入 BIOS 启动固件:
如果你需要从 UEFI 系统启动,请用以下命令刷入 UEFI 启动固件(适配器允许同时刷入 BIOS 启动固件和 UEFI 启动固件):
刷写完成后,你可以重启进入正常系统了。如有需要,可以把之前更改过的 BIOS 设置复原。
故障排除
- 如果刷写过程中出现错误,请确保已正确禁用所有BIOS设置。
- 如果无法进入Linux系统,尝试手动重启。
- 如果SAS地址写入失败,请仔细检查输入的地址是否正确。
恢复到RAID模式
重新启动到 FreeDOS 镜像,然后运行以下命令:
完成后,只需使用
reboot
命令重新启动回正常系统即可。- Po主:瓶幾¬_¬
- 链接:https://blog.v2cu.com/Flash-Dell-H710-IT-mode
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。