With the recent FreeNAS Corral release, we had the opportunity to interview Jordan Hubbard, CTO of iXsystems. iXsystems is the company behind FreeNAS and Jordan led the team that updated the popular FreeBSD-based ZFS NAS platform. We have a brief overview of the FreeNAS Corral changes which is worth a read. As we have conducted user feedback sessions around the world for STH over the past 12 months, we found a large percentage of users are also FreeNAS users. The new Corral version adds major features aside from a new UI including virtualization and Docker. If you found FreeNAS 9.10 lacking these critical features, FreeNAS Corral may be the answer. Jordan was kind enough to take time out of his day to answer questions we had around the new release.
STH: Jordan, would you mind giving STH readers a quick background about yourself?
Jordan: Sure, I’ve been a software developer since the late 1970’s and got into Open Source back in the days of USENET, when we would furtively post our code to comp.sources.unix and ask for forgiveness rather than permission most of the time. Since Open Source became legitimate and moved out of the shadows, I have been involved in a number of open source projects, from FreeBSD to Darwin (at Apple) and now FreeNAS, as the CTO of iXsystems. I also went to the dark side (engineering management) about 15 years ago, so I do far less coding than managing these days, but what can you do.
FreeNAS Corral Development
STH: It sounds as though the FreeNAS Corral development was a major effort, how long did the development of FreeNAS Corral take?
Jordan: Approximately 16 months, including the 2 versions of the UI and some OS upgrades in the middle of the project.
STH: What was the biggest challenge during development?
STH: What are the key features of FreeNAS Corral over FreeNAS 9.10?
Jordan: It’s a pretty long list, but I would say that the new GUI, new middleware and new CLI are the key features when you talk about the “skeleton” on which we’re hanging all the new features, and some key new features would be Virtual Machine and Docker container support. Also on that list, albeit slightly little less user visible, are the new Directory Services management layer (which allow for some new servers like FreeIPA) and the new services management framework, which give us much better service tracking and management. Not quite launchd or systemd, but a lighter-weight version of what you see in both of those services.
FreeNAS Corral in the Market
STH: How do you see FreeNAS Corral fitting into the broader NAS ecosystem? Will FreeNAS Corral continue as a power user solution or is it going to make its way to replacing iCloud for my mother’s photo backups?
Jordan: I think FreeNAS Corral will continue to do its best to appeal to its “power user” base since, historically speaking, those are FreeNAS’ biggest fans and supporters, and “power user” also describes a lot of the Enterprise users who iXsystems is obviously in the (literal) business of serving, but the new UI and some of the flexibility that the new CLI gives us in being able to take some of the more esoteric features and make those “CLI power user” features will definitely enable us broaden its appeal over time.
Since the new architecture is also far more modular, meaning that we can do specific builds of it that expose much smaller and/or more vertical market oriented feature / UI footprints, there’s always the possibility of making several targeted products from the same code base. We’ll have to see how things play out!
STH: For virtualization, bhyve is the hot FreeBSD solution and FreeNAS Corral adds support. Is bhyve integration mature enough to use? Can we really replace a small VMware ESXi server with a FreeNAS machine?
Jordan: I would say yes. Most “small ESXi” installations aren’t using more than a fraction of the features that it has to offer, simply because they don’t need to, and once you narrow the overall VMWare ecosystem and feature set to the SOHO market then bhyve is more than good enough for running a handful of Linux VMs and even the occasional Windows remote desktop / Windows server installation that is simply needed for interoperability reasons, e.g. it’s not a core part of your infrastructure that you are absolutely beating the heck out of! I think one of the things that has also held bhyve back somewhat is the simple fact that it hasn’t been particularly “easy to use” at the command line, so we haven’t had the wide pool of testers that really encourage polishing and tuning it up to the point where it *could* potentially take on more enterprise workloads, though that said I have heard rumors about multi-thousand bhyve node installations here and there, so perhaps if you have a very uniform workload and you have the time to tune everything just right with respect to the hardware, who knows how far you can go with it? I leave this as an open challenge to our users. 🙂
STH: For users managing multiple FreeNAS machines, will FreeNAS Corral make that experience better? How?
Jordan: I think the answer to that all depends on what you’re currently trying to do with those multiple machines. From a data replication perspective, I’d say things are already much better in Corral – you get progress reporting and replication history information, along with more advanced features like throttling. We also support Graphite exporting and containers in our collection like grafana and graphite-statsd, which allows multiple machines to export their data to a single one and then re-export that data in the form of graphs and such. If you’re talking about a “single pane of glass” interface which unifies all of the FreeNAS Corral machines into one master UI, well no, not YET but we’re working on a number of things to address that, too.
Taking Action and Starting with FreeNAS Corral
STH: Are there new hardware support changes we should be aware of for the FreeNAS Corral launch?
Jordan: If you just want to use FreeNAS Corral as a file store, then the same standard requirements apply – at least 8GB of memory and at least one 8GB or larger installation drive. After that, it’s all the same. If you want to use the Virtualization or Docker features, of course, then your CPU has to support VT-x and EPT, something that has been shipping from Intel since at least 2006 and more modern AMD machines have as well. If you’re going to host a lot of applications, then you should also obviously take their memory / disk requirements into account and size things up accordingly.
STH: What is the best way for users to try FreeNAS Corral? Using a virtual machine? Old hardware? Dive-in and upgrade?
Jordan: I hesitate to say “old hardware” depending on your definition of “old”, e.g. just yanking some 1990’s era hardware out of the closet and trying to build a production NAS out if it (much less a virtual machine hosting solution) is probably not going to get you very far. If you’re talking about upgrading your existing 9.10 machine to Corral, then sure, why not? If you have any issues with it, you can always roll back the upgrade simply by booting into your previous boot environment (for which there’s even a selection menu at boot time), so no harm no foul. We are still working on some issues with encrypted, password-protected pools (by definition, they are *locked* and require some additional tap-dancing to deal with) and there are a few more complicated LAGG-intensive networking scenarios that can make upgrades more of a challenge, but other than that, upgrades have been smooth and will continue to get smoother with future software updates to Corral since we’re learning a lot just in these first couple of days after launch!
Finally, regarding Virtual Machines, I’ll say that it’s always a fine idea to test *anything* on a VM first, if you have that option, but be also advised that VT pass-through is either not supported at all on systems like Virtualbox or an advanced-mode option on others that you have to know how to set. In general, doing *nested* virtualization (VMs on VMs) is not the best idea and there can be a lot of interoperability issues with that.
STH: If you had to pick one feature STH readers should check out in FreeNAS Corral, what is it? Why?
Jordan: I would say Docker containers, just because there is such a huge and rich ecosystem of them on Dockerhub! FreeNAS users who were formerly constrained to less than 20 plugins will find the 100,000+ container collection to be mind-boggling in its sheer array of offerings, and they’re fun to play with. I’m still discovering new stuff every day!
STH: Where does FreeNAS go from here?
Jordan: I think we’ve only just scratched the surface of what we can do with this new architecture and UI. Expect a lot of refinement, more compatibility with a broader array of hardware (as both FreeNAS and the underlying FreeBSD OS continue to evolve) and some much richer “visuals” (more charts, graphs, historical browsing modes, etc) now that we have an HTML5 based Web UI platform that can support all of that nicely. As I said before, I also expect the underlying bhyve virtualization technology to improve rapidly given the much larger number of people now jumping on board with feature and enhancement requests. The sky really is the limit now!
We just wanted to say thank you to Jordan and the iXsystems team for arranging this. We use FreeNAS extensively, and we know that our users do as well. We hope our readers got some great tidbits about the release and upcoming plans for FreeNAS Corral.