Solved Will ZFS have any issues running on a Dell PERC H310 card?

Years ago I bought a second-hand Dell PERC H310 card, hoping I would build a performance NAS for someone I knew; it didn't happen.

Today, someone brought me an old HP Proliant DL120 G7, the one with 8 2.5" drive bays. The plan is to install 8 SATA SSD disks, one for the FreeBSD (v14.0) system and the rest for a ZFS pool. Since there is only one SAS port on the motherboard, the project requires a RAID card, one capable of JBOD mode, of course.

I installed the said card on the motherboard and it recognised the HI-Level SATA SSD disk. It was a seamless installation and the system booted without an issue.

However, I have a question in mind. The disk was not recognised as ada0or da0, but as mfisyspd0:
Code:
root@mynas:~ # dmesg |grep mfi
mfi0: <Drake Skinny> port 0x6000-0x60ff mem 0xfbff0000-0xfbff3fff,0xfbf80000-0xfbfbffff irq 16 at device 0.0 on pci1
mfi0: Using MSI
mfi0: Megaraid SAS driver Ver 4.23
mfi0: 39269 (760641506s/0x0020/info) - Shutdown command received from host
mfi0: 39270 (boot + 3s/0x0020/info) - Firmware initialization started (PCI ID 0073/1000/1f78/1028)
mfi0: 39271 (boot + 3s/0x0020/info) - Firmware version 2.120.14-2762
mfi0: 39272 (boot + 5s/0x0020/info) - Package version 20.12.2-0001
mfi0: 39273 (boot + 5s/0x0020/info) - Board Revision A00
mfi0: 39274 (boot + 31s/0x0002/info) - Inserted: PD 00(e0xff/s0)
mfi0: 39275 (boot + 31s/0x0002/info) - Inserted: PD 00(e0xff/s0) Info: enclPd=ffff, scsiType=0, portMap=00, sasAddr=4433221107000000,0000000000000000
mfi0: 39276 (boot + 31s/0x0002/WARN) - PD 00(e0xff/s0) is not a certified drive
mfi0: 39277 (boot + 3s/0x0020/info) - Firmware initialization started (PCI ID 0073/1000/1f78/1028)
mfi0: 39278 (boot + 3s/0x0020/info) - Firmware version 2.120.14-2762
mfi0: 39279 (boot + 5s/0x0020/info) - Package version 20.12.2-0001
pcib2: <ACPI PCI-PCI bridge>mfi0: 39280 (boot + 5s/0x0020/info) - Board Revision A00
mfi0: 39281 (boot + 31s/0x0002/info) - Inserted: PD 00(e0xff/s0)
mfi0: 39282 (boot + 31s/0x0002/info) - Inserted: PD 00(e0xff/s0) Info: enclPd=ffff, scsiType=0, portMap=00, sasAddr=4433221107000000,0000000000000000
mfi0: 39283 (boot + 31s/0x0002/WARN) - PD 00(e0xff/s0) is not a certified drive
mfi0: 39284 (boot + 3s/0x0020/info) - Firmware initialization started (PCI ID 0073/1000/1f78/1028)
mfi0: 39285 (boot + 3s/0x0020/info) - Firmware version 2.120.14-2762
mfi0: 39286 (boot + 5s/0x0020/info) - Package version 20.12.2-0001
pci2: <ACPI PCI bus>mfi0: 39287 (boot + 5s/0x0020/info) - Board Revision A00
mfi0: 39288 (boot + 31s/0x0002/info) - Inserted: PD 00(e0xff/s0)
mfisyspd0 on mfi0
mfisyspd0: 122104MB (250069680 sectors) SYSPD volume (deviceid: 0)
mfisyspd0:  SYSPD volume attached
mfi0: 39289 (boot + 31s/0x0002/info) - Inserted: PD 00(e0xff/s0) Info: enclPd=ffff, scsiType=0, portMap=00, sasAddr=44332211070ugen0.1: <Intel EHCI root HUB> at usbus0
mfi0: 39290 (boot + 31s/0x0002/WARN) - PD 00(e0xff/s0) is not a certified drive
uhub1mfi0: 39291 (760643032s/0x0020/info) - Time established as 02/07/24 17:43:52; (50 seconds since power on)
mfi0: 39292 (760643054s/0x0020/info) - Host driver is loaded and operational
root@mynas:~ #

This got me thinking.

I know ZFS wants to have direct access to disks, but RAID cards present the disks to the OS over a layer. If the card is in JBOD mode, which I believe it is, why isn't the disk recognised by the OS as ada0? Is this normal for this card? Would I run into any issues if I were to transfer the disks to a standard SATA controller? Would I have to find a similar card if this one died?
 
The H310 is basically a custom LSI SAS2008 controller and some of them can be cross-flashed to stock LSI 9211 IT-mode firmware (with some effort - dell again made sure to be extra annoying as always...)

But TBH, the flashtool for those ancient HBAs was always very picky and a PITA, the newer versions (also available as EFI module) don't work with those old chipsets, and foremost: much more recent SAS3008 based HBAs are dirt-cheap nowadays, more power-efficent, faster and have more bandwidth (PCIe 3.0 instead of ancient 2.0).

So I'd simply dump that old thing and get a plain, simple LSI 9300-8i for a few bucks and call it a day...
If this is only a home server the "white box" variants from china are perfectly fine - I've been running several of those over the years and never had one failing on me.
 
That the "disks" are exposed in this way is normal, you can consult the manual mfi(4) . Being a RAID controller it exposes the logical disk.

/dev/mfid? array/logical disk interface

I have that RAID card but with the IT firmware you can find a lot of information on how to do it. If not, you will have to purchase a pure HBA as they told you.

On the other hand, I think that this RAID controller does not support JBOD. You can consult the operating modes with the command mfiutil(8) :

mfiutil show adapter

To transfer information to another disk, zfs send and zfs receive would be enough
 
The H310 is basically a custom LSI SAS2008 controller and some of them can be cross-flashed to stock LSI 9211 IT-mode firmware (with some effort - dell again made sure to be extra annoying as always...)

But TBH, the flashtool for those ancient HBAs was always very picky and a PITA, the newer versions (also available as EFI module) don't work with those old chipsets, and foremost: much more recent SAS3008 based HBAs are dirt-cheap nowadays, more power-efficent, faster and have more bandwidth (PCIe 3.0 instead of ancient 2.0).

So I'd simply dump that old thing and get a plain, simple LSI 9300-8i for a few bucks and call it a day...
If this is only a home server the "white box" variants from china are perfectly fine - I've been running several of those over the years and never had one failing on me.
I managed to flash the card (and with a lot of headache too), and now the disks are exposed as da. This time I cannot boot from the disks connected to the card. But the server has internel SATA ports, so I consider the problem solved.
 
This time I cannot boot from the disks connected to the card. But the server has internel SATA ports, so I consider the problem solved.
If we're not talking about some (arbitrary) limitation of the BIOS, the disks might still have some custom on-disk-format and metadata from the raid controller. Booting from disks connected to a HBA should be pretty straightforward, especially via EFI.
 
I managed to flash the card (and with a lot of headache too), and now the disks are exposed as da. This time I cannot boot from the disks connected to the card. But the server has internel SATA ports, so I consider the problem solved.
I know you have considered the problem solved, but what exactly are you referring to? As the user said sko you may still have metadata on your disks from the previous raid, you can wipe them with a disk or the HBA firmware itself has a function to wipe the disks or with dd.

On the other hand you have to specify the boot order on your HBA in SAS Topology, you have to set the Boot flag on the disk or else the disks will not boot, have you made sure that the flag is specified?

Check your HBA configuration utility.
 
I know you have considered the problem solved, but what exactly are you referring to? As the user said sko you may still have metadata on your disks from the previous raid, you can wipe them with a disk or the HBA firmware itself has a function to wipe the disks or with dd.

On the other hand you have to specify the boot order on your HBA in SAS Topology, you have to set the Boot flag on the disk or else the disks will not boot, have you made sure that the flag is specified?

Check your HBA configuration utility.
Actually, I connected the disk to one of the SATA ports on the motherboard and reinstalled the system. (FYI, it would not boot.) Before flashing the card, the option to manage the card (Ctrl+R) would appear during BIOS POST, now it does not. I don't care anyway, since I will have my data on a separate pool.
 
You can check the following video where it shows how to access the configuration utility and assign the boot flags to the specific slots. If you connect all the disks to your LSI card and eliminate the SATA ones.

Select boot device
 
Back
Top