服务器H310卡做直通,核心就是把它从IR模式刷成IT模式,然后通过虚拟机管理平台的PCIe直通功能,把整张卡直接分配给目标系统使用。这个过程能让NAS、软路由或虚拟化平台直接管理硬盘,绕开阵列卡的RAID限制,下面按步骤拆解,顺便把群晖、unraid场景下的常见问题一起说清楚。
服务器H310卡直通到底怎么操作?
H310卡本身是LSI SAS2008芯片,出厂默认的IR模式支持做RAID,但直通要求的是IT模式也就是不带RAID功能的纯HBA模式,很多服务器厂商(尤其戴尔)的机器上配的就是这张卡,不刷固件直接直通,虚拟机里经常看不到硬盘信息,所以操作分三步:备料、刷固件、设置直通。
H310卡直通前的两个准备
- 确认卡的类型:H310有标准半高卡、戴尔专用mini卡(通常是带线的内置卡)等版本,不同版本刷写方式略有差异,mini卡在部分服务器上需要额外供电线。
- 准备U盘和固件包:需要一个空U盘(建议1GB以上),格式化为FAT32,准备好
SAS2FLSH刷写工具和对应的IT模式固件文件(业界常用的是P20版本,文件名为2118it.bin,可在公开渠道找到)。
刷写过程要在DOS环境或UEFI Shell下操作,多数服务器支持U盘引导到DOS,如果机器不支持,可以准备一个包含UEFI Shell的启动盘。
H310直通刷IT模式的详细步骤
- 把U盘做成DOS启动盘,放入
SAS2FLSH.exe、2118it.bin和mptsas2.rom(用于让卡在BIOS时也能被识别)。 - 将H310卡插到服务器PCIe插槽,接好电源线(如有),启动服务器并进入U盘引导的DOS界面。
- 输入
megarec -wipesas2 0,擦除原有固件信息,这是关键一步,不擦的话后续刷写会报错。 - 重启服务器,再次进入DOS。
- 依次执行:
megarec -adplist,确认卡的设备号显示正常。sas2flsh -o -f 2118it.bin,写入IT模式固件。sas2flsh -o -b mptsas2.rom,写入BIOS引导文件。
- 执行
sas2flsh -list,如果显示固件版本为xx.xx.xx,说明刷写成功。 - 关掉服务器,把卡换到用来做直通的那台机器上(或者直接在同一台机器上继续用)。
上面这套命令在多数LSI H310卡上都通用,刷完IT模式后,卡的RAID功能就消失了,所有接到卡上的硬盘都会被系统识别为单个物理磁盘。
直通给虚拟机的设置路径
刷完IT模式,真正的“直通”动作在虚拟化平台里操作,以Proxmox VE(PVE)为例:
- 进入节点左侧的“硬件”菜单,找到你的H310卡对应的PCIe设备(通常显示为
LSI Logic / Symbios Logic SAS2008)。 - 点击“添加” → “PCI设备”,把整张卡加进去,勾选
PCI-Express选项(如果需要直通硬盘控制器)。 - 在虚拟机的硬件菜单里,确认H310卡已经挂在PCIe总线上。
- 启动虚拟机,在系统里就应该能看到直通过去的硬盘控制器了。
如果用的是VMware ESXi,操作路径是“管理”→“PCI设备”,把H310卡标记为直通设备,然后编辑虚拟机设置,添加“PCI设备”并选中它。
H310卡直通群晖和unraid有什么区别?
这个问题经常被问到,核心区别在于硬盘的透传方式,H310卡直通给群晖后,黑群晖能直接读取硬盘的SMART信息;unraid则更看重整张卡直通后的稳定性,尤其是对Docker和VM混跑的场景。
群晖环境下的直通要点
群晖系统(特别是黑群晖)对H310卡支持很好,直通后,在群晖的“存储管理器”里能看到所有接在H310上的硬盘,可以直接创建SHR或RAID阵列,需要注意:
- 群晖引导系统(引导U盘或引导分区)不能放在H310卡的硬盘上,否则直通后引导会断掉。
- 建议把群晖系统盘装在主板SATA接口上,H310卡只负责数据盘,这样直通后互不干扰。
- 直通后如果群晖提示“硬盘温度无法检测”,多半是卡没有刷到IT模式,检查固件版本。
unraid下的直通方式
unraid本身对H310的IT模式几乎零痛苦,安装unraid时,把H310卡直通给一个虚拟机(比如TrueNAS或Windows Server),然后unraid主系统用主板SATA口挂一个校验盘,这种方式能让虚拟机的存储性能完全独立,unraid阵列和虚拟机互不影响。
有用户会直接把H310卡直通给unraid自身,这样unraid能看到所有硬盘并建立阵列,不过行业共识认为,unraid更推荐把磁盘控制器直通给虚拟化中的NAS系统,因为unraid自身的软件RAID在非直通模式下写校验时会有额外CPU开销。
直通后硬盘识别的变化
刷成IT模式后,H310卡不再给硬盘加RAID头信息,原来在IR模式下做过的RAID组,刷完IT模式后硬盘表现为没有任何元数据的裸盘,如果你之前用H310做过RAID1或RAID5,刷IT模式前必须备份数据,因为原来的RAID元数据会被擦除。
直通后,在Windows设备管理器里,硬盘的型号前面会带上“LSI”字样,比如LSI Logic SAS 2008,这是正常现象。
服务器H310卡直通价格和适用场景
H310卡在二手市场的价格很亲民,这也是它受欢迎的主要原因,一块单卡(不带线缆)通常在几十元左右,带服务器的专用线缆或支架会贵一些,这个价格区间因为大家都懂的原因,常年保持稳定。
买直通卡还是自己刷?
如果你不想折腾刷固件,可以直接买刷好IT模式的H310卡,卖家通常会说“已刷IT模式,支持直通”,这几年市场上大部分批量的H310卡都默认刷成IT模式了,所以直接买现货反而更省事,自己刷的话,适合已经有卡、且能接受命令行操作的玩家。
H310直通常见问题排查
- 刷写时报错“ERROR: Failed to load image”:多半是U盘兼容性问题,换一个USB2.0的U盘或换一台老电脑重试。
- 直通后虚拟机开机卡在
PCIe Bus Error:在PVE里给虚拟机加设备时,把“PCI-Express”勾选上,并且确认虚拟机用的是q35机型而不是老的i440fx。 - 直通后硬盘容量显示为2TB以下:这通常不是H310的问题,而是你的虚拟机主板BIOS设置里没开启UEFI启动,或者系统是32位内核。
服务器H310卡直通后性能表现如何?
直通后的实际体验,多数情况下性能损失几乎为零,因为整张卡都被分配给了虚拟机,CPU和内存直接访问PCIe设备,中间没有软件模拟层,不过也有例外如果你把H310卡直通给了非虚拟化的物理机,效果一样;但如果把它留在宿主机上,然后用虚拟硬盘给虚拟机,那就没有直通的意义了。
服务器H310卡直通后不识别硬盘怎么办?
这是最高频的问题,通常原因就三个:
- 卡没有真正刷成IT模式:重新执行刷写命令,确认
SAS2FLSH -list里的固件版本是20开头。 - 硬盘连接线松动或转接卡不兼容:H310 mini卡经常要用SFF-8087转SATA线,部分劣质线会导致盘不识别。
- 虚拟机系统缺少驱动:Windows系统要装LSI SAS2008的驱动,Linux多数自带。
先按[1]查到卡在系统里有没有被识别,lspci(Linux)或设备管理器(Windows)能看到设备,基本就是驱动问题;看不到设备,大概率是卡本身没通上电或BIOS里没启用。
Q&A:关于H310直通的高频疑问
服务器H310卡直通需要刷特定固件吗?
需要,无论哪个品牌的H310卡,都要刷成LSI官方IT模式固件(常见为P20),否则直通后设备不能被正常被虚拟机管理,刷写命令通用,但戴尔卡可能需要额外参数-c 0来指定控制器。
H310卡直通unraid和群晖能同时用吗?
不能同时直通给两个系统,物理设备只能分配给一个虚拟机,但可以创建两个虚拟机,一个直通H310给群晖,另一个用主板SATA控制器,或者把unraid作为宿主机,用它的直通功能把H310给群晖虚拟机,然后unraid自己用其他磁盘,多个系统同时访问同一张H310卡上的硬盘,需要借助网络共享,而不是设备直通。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/773996.html


