Auto UFS or ZFS?



  • Hello,

    While installing pfSense 2.4.2, we encountered Auto UFS or ZFS file systems. We have HP Server with 2 HDD in Raid 1. We choose Auto UFS. If we didn't have Raid 1 configuration, then we should choose ZFS with mirroring? Actually, telling the truth, we don't know the difference between these two file systems. Coudl you please help us clarify our thoughts?  Thank you in advance.



  • ZFS is new to pfSense and doesn't not have a lot of support about its many features that UFS never had, but overall ZFS is quite bullet proof. When browsing this forum, I saw someone saying they got stuck in a boot loop after a blackout. Probably due to UFS getting corrupted from power loss, something that ZFS wouldn't do.



  • Thank you for your reply. I want to know if I had 2 HDDs in Raid 1 configuration, then I choose Auto ZFS, if I had 2 hDDs but not Raid 1 configuration, then I would have to choose ZFS with mirroring, right?



  • Correct, you would choose a mirror. You would of course have to disable your RAID1 if it's hardware RAID otherwise the installer will only "see" 1 hard drive.



  • Actually I didn't understand clearly. We have HP Server with 2 x 500GB HDDs. It has Hardware Raid.
    I can create Raid 1 with these 2 HDDs, but you said you have to disable Raid 1, otherwise the installer will only "see" 1 hard drive. Why do I have to disable Hardware Raid 1?
    What is the difference between Hardware Raid 1 and ZFS Mirroring?

    Could you please also clarify me configurations below?
    Stripe - No Redundancy
    Mirror - n-Way Mirroring
    Raid1+0 - n x 2-Way Mirrors
    Raid-Z1 - Single Redundant Raid



  • ZFS has checksums to validate the data. Hardware RAID does not. If a block of data got corrupted with hardware RAID1, the controller could not tell which device has the correct data, ZFS can. But if you place ZFS on top of hardware RAID1, the hardware RAID will lie to ZFS and may destroy the good data since it has no way of telling which one is correct.

    ZFS was made because hardware RAID is so bad, and everyone implements hardware RAID in an arbitrary way that meets the abstract basic definition of whichever RAID level it claims to support. If you don't mind having arbitrary processes protecting your data, sure.

    And don't take my word for it. Do your own research on the topic. Read how ZFS works, how the data structures are designed. If all you do is ask people for their opinions, you're not really making a decision, you're letting others make decisions for you. The internet is full of echo chambers, don't believe anything just because the professional majority agrees.

    To point you in a good direction, ZFS is based on the concept of the Merkle tree, and strictly adheres to it.



  • Thank you for your information. Which type below is usually preferred for Mirroring with 2 HDDs?
    Mirror - n-Way Mirroring
    Raid1+0 - n x 2-Way Mirrors
    Raid-Z1 - Single Redundant Raid



  • If you configure a hardware RAID mirror ZFS will see that as a single logical drive. Also with a hardware RAID controller ZFS won't be able to monitor the SMART status of the drives attached to it.

    With ZFS your choices for vdev's (virtual device) are mirrors, RAIDz (stripe - no redundency), RAIDZ1 (single drive redundency), RAIDZ2 (2 drive redundency) or RAIDZ3 (3 drive redundency). Your vdev's make up your pool. A pool can be a single drive or a combination of vdevs.

    ZFS is pretty amazing but you need to do some research before you dive in.