I have a server with all the disks connected to a 3ware card. I know ZFS, does his own RAID and due to its nature, needs to see individual disks, to be able to operate properly. Unfortunately this is the only disk setup I can have in this server. I have reconfigured the disks, in 3ware, in such a way that each one is a unit, with no RAID level. Even doing this I am not sure ZFS sees them properly and can access all disk properties.

Can I use ZFS on top of a 3ware RAID system?

I need to do some testing with this server:

If I install ZFS on a disk only, with no RAID level, does the requirement to see hardware directly still applies?

2 Answers 2


ZFS pools can be created on a lot of devices, from raw disks to even files. If you configure RAID on the hardware level and provide a logical disk, ZFS can be configured on top of it. But ZFS likes to see the independent disks/devices so you can benefit from the so called self healing capabilities. My recommendation is not to use the hardware level RAID but to expose the individual disks and configure the RAID level while configuring ZFS. If you want to test ZFS you can use a single disk or even a file on an existing filesystem for instance:

truncate -s 1G /var/tmp/disk0
zpool create tstpool /var/tmp/disk0

You can also create a mirror using:

truncate -s 1G /var/tmp/disk0 /var/tmp/disk1
zpool create tstpool mirror /var/tmp/disk0 /var/tmp/disk1

zpool status tstpool
  pool: tstpool
 state: ONLINE
  scan: none requested

        NAME                STATE     READ WRITE CKSUM
        tstpool             ONLINE       0     0     0
          mirror-0          ONLINE       0     0     0
            /var/tmp/disk0  ONLINE       0     0     0
            /var/tmp/disk1  ONLINE       0     0     0

errors: No known data errors
  • thank you for the valuable information. My goal is not to create a zfs pool on top of HW RAID but rather expose the disks directly. Unfortunatly I have them connected to 3ware RAID controller and I am not sure ZFS can access all the properties as stated.
    – nsn
    Commented Dec 14, 2016 at 10:34
  • Can you elaborate on the disk properties you want ZFS to see? ZFS can handle with all kinds of disks and you may use tools like format -> inq, iostat -En to get disk information. If you need to override specific disk configuration items you can configure these in /kernel/drv/sd.conf. See also wiki.illumos.org/display/illumos/ZFS+and+Advanced+Format+disks for some additional info regarding configuring disks.
    – Lambert
    Commented Dec 16, 2016 at 12:19

Even having doing this I am not sure ZFS sees them properly and can access all disk propeties.

Are you able to try it on the server? For example, on Solaris and illumos you can use format or format -e to list all recognized disk devices:

  • If they are recognized correctly with full names like native devices, it is most likely that the controller is in HBA (host bus adapter) mode and just passes them through (best option)
  • If they are recognized, but with names that sound like numbered virtual disks from the controller, it is probably in RAID mode with JBOD settings. This is still OK, you can build ZFS on top of it, but may have problems later when moving a disk from the controller to another (replacement) controller. This depends on the hardware, not on ZFS (the same type of controller is usually fine).
  • If only one large disk is shown, you cannot get ZFS redundancy and self-healing, but you get error indication. Also your performance will likely be worse and everything from the second point also applies (I would avoid this).
  • If they are not found, you cannot use them at all (worst case).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .