Hardware RAID or HBA: Why ZFS Wants IT Mode
Two philosophies live inside every storage build. Hardware RAID says: the controller owns the disks, hides them behind virtual drives, and handles failures itself. ZFS says: give me the raw disks, I will checksum every block and heal from my own redundancy. Both are legitimate. Layered on top of each other, they undermine one another — which is why the controller question decides more than any other line on a NAS spec sheet.
What ZFS needs and why
ZFS checksums every block and, on a mismatch, reads the redundant copy and rewrites the bad one — self-healing that depends on seeing real devices: their errors, their SMART state, their write-cache behavior. A RAID controller's virtual disk hides all of it. The controller may cache writes it has not committed (ZFS's consistency model assumes flushes mean flushed), remap sectors silently, and mask the very failures ZFS exists to catch. A pool on top of hardware RAID mostly works — until an edge case where each layer assumed the other was not there.
IT mode, IR mode, HBA mode: the vocabulary
IT (initiator-target) mode is firmware that makes a SAS controller a pure pass-through HBA — every disk appears as itself. IR mode adds basic RAID0/1 — still avoid for ZFS. HBA/passthrough mode is a switch on some RAID controllers that disables the RAID stack. The distinctions matter because listings use the words loosely.
The practical hardware map
On Dell: the HBA330 is the clean answer — a true HBA, no flashing, TrueNAS-community-approved. The H330 cross-flashes to IT firmware reliably. The H730/H730P offers an HBA mode that works for most, though purists still prefer a true HBA. On HPE Gen9/Gen10: the H240/H241 are actual HBAs; the P440ar exposes an HBA mode; the software B140i should simply be avoided. On both platforms the generic answer — an LSI/Broadcom 9207/9300-series card in IT mode — drops into any PCIe slot and ends the discussion.
When hardware RAID is still right
Filesystems without their own redundancy — VMFS under ESXi, NTFS on a Windows box, ext4/XFS without md — benefit from a proper cached controller: the flash-backed write cache absorbs sync-write latency and the array survives a drive without OS involvement. Boot simplicity is real too. The rule collapses to one line: checksumming filesystem → HBA; conventional filesystem → hardware RAID with cache.
Refurbished notes
Check which controller a listing actually includes — an R730xd with an HBA330 is a different NAS proposition than the same chassis with an H730 — and if you flash to IT mode, do it before data lands on the disks. Label the caddies; future-you, holding a failed drive and a serial number, will be grateful.