LSI SAS HBA固件
最近我厂对LSI 6Gb/s SAS HBA的驱动 (mps(4)) 进行了改进,令其可以在FreeBSD环境中进行固件刷写操作。目前最新的固件版本是14,这个版本修正了目前已知的全部问题。
以前一直没有太注意,这类HBA卡上可以用两种固件。一种是IT (initiator target) 固件,这类固件只提供HBA功能;另一种是IR (integrated RAID) 固件,这类固件提供集成RAID功能。对于我们的应用来说,显然希望用IT固件,因为它的代码量要少得多,而由于减少了包含校验的冗余,卡本身的RAID功能在ZFS环境多数情况下都是有害的。
LSI的HBA设计与nanoBSD类似,其运行环境和卡上的版本是分离的,也就是说可以进行热替,并以稍后重启的方式让固件生效,而不需要进入单用户模式或停止磁盘访问等等。
注意:在线将IT改换成IR固件,或将IR固件改换为IT固件的方法未经测试,最好是在DOS中进行。(其中sas2flash -o -e 6这部操作会对总线做一次复位,因此有相当的风险)。多数主板集成的LSI控制器是IR模式的固件,在升级时应特别注意。