Interview with Kris Moore
By Eric Geissinger, Luca Ferrari and Imad Soltani
Can you please introduce yourself, your background, and your current involvement with the projects?
My name is Kris Moore, and I am the Vice President of Engineering at iXsystems. This position includes oversight of the FreeNAS and TrueNAS projects, as well as TrueOS and other related endeavors here at iXsystems. For longer than a decade, I’ve been heavily involved with the BSD community, founded the PC-BSD project (Now TrueOS) and co-hosted the video podcast, BSDNow, for several years alongside Allan Jude.
How difficult is it to contribute to the projects as a developer?
iXsystems has a strong background in open-source, and as such, we make an effort to help get folks involved at every level. All of our projects are currently hosted on GitHub which makes getting access to the source and contributing very easy. We actively participate in pull-requests, perform reviews and will help in any way we can to ensure a developer can get their changes merged into the project. For less technical folks, we even keep our documentation and handbooks on GitHub and run them as an open-source project, which allows for greater contribution possibilities.
How difficult is it, for a developer, to provide a plugin and deploy it to several installations?
Under the old Warden-based plugin system for FreeNAS, it was rather challenging to develop and deploy plugins to FreeNAS. In 2017, we undertook a massive effort to re-write our entire plugin framework and based it upon iocage. This new framework makes plugin creation much easier than before, by simply creating a small JSON manifest of the FreeBSD version to be installed, list of packages to install and other configuration options.
What are the main differences between FreeNAS and TrueNAS? What’s new in FreeNAS/TrueNAS 11.1?
FreeNAS is the world’s most popular open-source software-defined storage. Users can freely download it from our website, install it on their preferred system,and have enterprise-quality NAS functionality at their fingertips. TrueNAS is our commercial version of FreeNAS, specifically tied to work on an appliance sold by iXsystems. Extra care goes into the TrueNAS product to ensure things like hardware compatibility and regression testing. Then we add extra features such as HA, Fiber Channel, vCenter support, proactive-support, and more.
For version 11.1, we’ve added some important new functionality. On the ZFS side, we’ve added support for sequential scrub / resilver, which can greatly impact the time required to scrub a pool and rebuild a replaced disk. This helps reduce the mathematical chance that another drive may fail while you are already waiting for a rebuild to complete. We’ve also made some enhancements to our backup functionality. Currently, it supports a variety of cloud providers such as Amazon S3, BackBlaze B2, Google Cloud and Azure blob storage. This provides users with many more methods to move data to and from the public cloud effortlessly. Additionally, other enhancements such as Netdata, VM improvements, and Time Machine improvements all landed in 11.1, making it an exciting new entry in the FreeNAS line.
What’s next for feature development in FreeNAS/TrueNAS?
We’re constantly looking to make improvements to our feature set. The biggest change on the horizon is the new UI which will be Angular based. It will provide a much nicer looking interface for setup and management of your FreeNAS/TrueNAS system, while also having modern touches like mobile support. Additionally, we are looking at further improvements to the ZFS filesystem and additional features to land in our VM / Plugins support.
What are the advantages of using OpenZFS as a storage layer within the projects?
The OpenZFS file system sets the gold standard for enterprise features, reliability and support. Paired with the FreeBSD operating system, it allows commodity hardware to be used with the same type of uptime and resilience normally only seen on very expensive enterprise platforms. Features such as datasets, snapshots & clones, volume management and more make ZFS the best all-around choice for a NAS product.
Is it possible to run FreeNAS/TrueNAS without using OpenZFS, in order to assimilate pre-existing file systems or reduce resource needs?
No, FreeNAS and TrueNAS both are tuned to work specifically with ZFS, all the way from services (such as Samba/NFS) to the middleware and UI.
What feature(s) in FreeNAS/TrueNAS do you feel sets it apart from other open-source storage solutions? (OpenMediaVault, Openfiler etc.)
Many users come to appreciate the flexibility and power that FreeNAS/TrueNAS offer. The UI helps make many complex tasks easy to perform, while still offering a bevy of knobs to allow users and administrators to properly “fine-tune” for their specific environment. This is what allows the same code base to be used for everything from a small SoHO NAS (Perhaps serving multimedia with Plex), all the way up to a multi-petabyte rig serving as a high-availability storage backend for VMware.
Do the above NAS solutions integrate (or come already deployed) with backup tools for devices and operating systems?
FreeNAS is very comfortable in the backup target role. Users can easily use OSX TimeMachine to backup to FreeNAS, while Windows users can run a variety of clients to backup either over SMB/NFS or now even S3 locally.
With Spectre and Meltdown dominating the news, when do you expect a patch, (if there isn’t one already), and are you expecting that patch to have a large performance degradation for storage and virtual workloads?
We, like the rest of the industry, are very concerned about the recent Meltdown / Spectre disclosures. We are in the process of vetting patches which will probably be released by the time of this publishing. Part of that is our QA team will be helping to benchmark the performance cost of these mitigations, and working with engineers to help reduce the footprint as much as possible. I expect we will see refinements to this mitigation work throughout 2018.
How is it difficult to integrate such a NAS solution in an existing enterprise network? What are the options and protocols to share and cooperate with foreign systems and devices?
Not very difficult at all. FreeNAS and TrueNAS at its core are designed to work in an enterprise environment, and already support most major protocols that you’d find in such an environment. Things such as LAGG/LACP, SMB, SNMP, NFS, iSCSI, Fiber Channel, Active Directory, LDAP and many more make up this long list of enterprise interoperability support.
What is the learning curve for administrators that do not use Unix, FreeBSD, OpenZFS and related technologies?
Part of what has made FreeNAS and TrueNAS so successful is their ability to help guide rather complex setups via the UI. While we have a full-featured API, we also try to expose any and all functionalities as a UI option somewhere. At first glance, this can be a bit overwhelming when presented with the sheer number of options available, but one very important source of help is the fantastic documentation. FreeNAS and TrueNAS both ship every version with a set of comprehensive user-guides, documenting the ins and outs of every option in an easy-to-read manner. When talking to users, it’s not uncommon for us to hear the statement that our documentation is the best in the industry. That plus the wealth of knowledge on our forums, google links, and youtube walkthroughs make FreeNAS and TrueNAS one of the easiest things to troubleshoot around.
What are the smallest and biggest systems deployed so far with a FreeNAS/TrueNAS installation?
We’ve seen rather humble systems running FreeNAS even using USB drives for storage all the way up to TrueNAS systems with over a PB stored in multiple shelves of drives.
Do the projects work fine for today’s home needs, including sharing of photos and video streaming across wireless networking?
Yes, FreeNAS integrates well into this type of home-network. I’d venture to say that’s how the vast majority of home-users’ FreeNAS boxes are setup today. To do this, you’d just plug your FreeNAS system into your existing network setup and then both wired and wireless clients should be able to browse for and share data across any protocols you have enabled.
For the home user that is still running FreeNAS 9.10, what would the upgrade path be to get to 11.1?
The upgrade path is pretty straightforward. Via the UI, you’ll just need to go to the updates page and be sure to change to the FreeNAS-11-STABLE train (on the drop-down menu). With that selected, click update and the system will automatically download and reboot to apply the updates. Once finished, you can launch the same UI as before and start exploring the latest features 11.1 has to offer.
Is it possible to run the projects in a headless setup?
Indeed! Many users setup FreeNAS in a headless environment, especially once the initial setup is complete. One testament to its reliability is how often we hear, “Oh yea, I’ve been running FreeNAS for years. I set it up years ago and haven’t had to touch it since”.
You’re welcome! It’s been my pleasure, and I’m looking forward to seeing 2018 be a year that FreeNAS and TrueNAS make new leaps forward in functionality, ease of use and popularity. If you have other specific questions on either product, don’t hesitate to contact us over on the Forums or directly at iXsystems.