While attempting to create a ZFS raid5 pool in FreeNAS, I had an issue where Size, Used, Free, Capacity, and Health all showed as UNKNOWN. In the configuration tab, the pool/virtual_device/dataset showed up under “current” but never under “detected”. Unfortunately there was absolutely zilch out there for information on this issue.
3 hours later….
(warning: before going any further, this is for a clean installation – if you’ve got data on those drives, it’s gonna be gone if you keep reading…)
What you need to do to fix it is:
0) pre-step: Delete all your entries in the ZFS section. You’ve probably got entries in the Virtual Device (Pools), Management (Pools), and Dataset (Datasets) sections. Remove them all, and don’t forget to update/save. We’re trying to get things in a clean state here.
1) Click Disks/Management from the main menu.
2) Delete all the entries for your current drives (then save the changes).
3) Create new entries. HOWEVER, this time for the formatting you’re going to LEAVE ALL THE DEFAULTS and choose NTFS for the “Preformatted File System” (don’t worry, we’ll be changing it back to “ZFS Storage Pool Device” later). Do this for every drive you’re using, and save/apply the changes.
4) Click Disks/Format from the main menu.
5) One at a time, select each disk, choose ZFS Storage Pool Device as the File System, then hit Format disk.
6) Now you should be able to create the Virtual Device, and the actual Management Pool. Once the pool’s added, you should be seeing proper numbers instead of “UNKNOWN”, and ideally everything should be working from here on in.
So what causes this behavior?
In the past I’ve run into issues where FileSystem B will not install properly on a drive that currently has FileSystem A on it. In those cases, I’ve either had to do a low-level format first to completely zero everything out, or try to do an intermediate partition/format with a FileSystem C, then try B again. Presumably, a similar thing happened here.
Now, this hasn’t happened for years before now (although the Mac OS X bootloader likes to resist being installed to drives that had other partition types sometimes), but I seem to recall it being an NTFS-FAT-EXT# circle that had issues in the past. As far as the hard drives I was using for this FreeNAS install, one had a Mac HFS+ partition, and I wouldn’t be surprised if that was the culprit that ZFS didn’t like.
In any case, what we’ve done above is essentially partition/format the drives as NTFS first, which ZFS didn’t have a problem overwriting. In the event you don’t have luck with NTFS as your intermediate file system, try the other partition types. If all else fails, I’d recommend grabbing the diagnostic tool from your hard drive manufacturer (SeaTools for Seagate drives for example), and use it to do a low level format and try again.