FreeNAS


FreeNAS is a free and open-source network-attached storage operating system based on FreeBSD and the OpenZFS file system. It is licensed under the terms of the BSD License and runs on commodity x86-64 hardware. FreeNAS supports Windows, macOS and Unix clients and various virtualization hosts such as XenServer and VMware using the SMB, AFP, NFS, iSCSI, SSH, rsync and FTP/TFTP protocols. Advanced FreeNAS features include full-disk encryption and a plug-in architecture for third-party software.

The OpenZFS file system

FreeNAS supports the OpenZFS filesystem which provides data integrity checking to prevent data corruption, enable point in time snapshotting, replication and several levels of redundancy including striping, mirroring, striped mirrors, and three levels of RaidZ.

User experience

FreeNAS is managed through a comprehensive web interface that is supplemented by a minimal shell console that handles essential administrative functions. The web interface supports storage pool configuration, user management, sharing configuration and system maintenance. As an embedded system appliance, FreeNAS boots from a USB Flash device or SATA DOM. This image is configured using a USB Flash/CD-ROM bootable installer. The FreeNAS operating system is fully independent of its storage disks, allowing its configuration database and encryption keys to be backed up and restored to a fresh installation of the OS. This separation also allows for FreeNAS system upgrades to be performed through the web interface.

History

The FreeNAS project was started in October 2005 by Olivier Cochard-Labbé who based it on the m0n0wall embedded firewall and FreeBSD 6.0. Volker Theile joined the project in July 2006 and became the project lead in April 2008. In September 2009, the development team concluded that the project, then at release.7, was due for a complete rewrite in order to accommodate modern features such as a plug-in architecture. Volker Theile decided that the project best be reimplemented using Debian Linux and shifted his development efforts to the interim CoreNAS project and eventually OpenMediaVault where he continues as the project lead. Cochard-Labbé responded to community objections to "The Debian version of FreeNAS" and resumed activity in the project and oversaw its transfer to FreeNAS user iXsystems. Developers Daisuke Aoyama and Michael Zoon continued developing FreeNAS 7 as the NAS4Free project. Meanwhile, iXsystems rewrote FreeNAS with a new architecture based on FreeBSD 8.1, releasing FreeNAS 8 Beta in November 2010. The plug-in architecture arrived with FreeNAS 8.2 and FreeNAS versioning was synchronized with FreeBSD for clarity. FreeNAS 8.3 introduced full-disk encryption and FreeBSD 9.1-based FreeNAS 9.1 brought an updated plug-in architecture that is compatible with the TrueOS Warden jail management framework. FreeNAS 9.1 was also the first version of FreeNAS to use the community-supported OpenZFS v5000 with Feature Flags. FreeNAS 9.2, based on FreeBSD 9.2 included performance improvements and introduced a REST API for remote system administration. FreeNAS 9.3, based on FreeBSD 9.3 introduced a ZFS-based boot device, an initial Setup Wizard and a high-performance in-kernel iSCSI server. FreeNAS 9.10, based on FreeBSD 10.3-RC3 brought an end to the FreeNAS/FreeBSD synchronized naming and introduced Graphite monitoring support and experimental support for the bhyve hypervisor.
In October 2015, ten years after the original FreeNAS release, FreeNAS 10 ALPHA was released, providing a preview of what would become FreeNAS Corral GA on March 15, 2017. FreeNAS Corral introduced a new graphical user interface, command-line interface, underlying middleware, container management system and virtual machine management system. FreeNAS Corral departs from FreeNAS by providing not only NAS functionality but also hyper-converged functionality thanks to its integrated virtual machine support. However, on April 12, 2017 iXsystems announced that FreeNAS Corral would instead be relegated to being a 'Technology Preview', citing issues such as "general instability, lack of feature parity with 9.10, and some users experiencing lower performance than expected" and the departure of the project lead. Instead, the decision was made to revert to the existing 9.10 code and bring Corral features to 9.10.3 and further.
In May 2017, iXsystems announced that FreeNAS 11 would be imminently released, which was based on 9.10 but included features such as an update of the FreeBSD operating system, virtual machine management, updates to jails, and a new beta user interface along the lines of Corral but based on Angular JS.
In March 2020, iXsystems announced that the 12.0 release will merge the FreeNAS code base with that of their commercial TrueNAS offering. FreeNAS will become TrueNAS CORE while TrueNAS will be renamed TrueNAS Enterprise.

Architecture

The 8.0 reimplementation of FreeNAS moved the project from a m0n0BSD/m0n0wall/PHP-based architecture to one based on FreeBSD's NanoBSD embedded build system, the Python programming language, the Django web application framework and the dōjō toolkit. It also used the lighttpd web server, but this was replaced with nginx in FreeNAS 8.2. The terminated successor to 9.10.2, known as FreeNAS Corral, retained the nginx web server and ZFS-based boot device of FreeNAS but replaces the Django/dōjō web application framework with an original one. FreeNAS 11 implemented a new interface using Angular JS.

Version history

Current release features and plugins

Features and plugins shown are for the 11.0 branch.

Features

;Administrative features
;File system features
;Built-in network services and features
; Other

Uses