FreeNAS

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
FreeNAS
300px
Screenshot of the FreeNAS web interface
Developer(s) iXsystems
Stable release 11.1 / 13 December 2017; 6 years ago (2017-12-13)[1]
Preview release 11.2-BETA3 / September 10, 2018; 5 years ago (2018-09-10)[2]
Operating system FreeBSD
Platform x86-64
Type Computer storage
License BSD license
Website freenas.org

FreeNAS is a free and open-source network-attached storage (NAS) software 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.[3][4][5][6][7][8]

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 (RAID 1+0), 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.[9][10] 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.[11] 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.[12][13] FreeNAS 9.2, based on FreeBSD 9.2 included performance improvements and introduced a REST API for remote system administration.[14] 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.[15] 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.[16]

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.[17] FreeNAS Corral introduced a new graphical user interface, command-line interface, underlying middleware, container management system and virtual machine management system.[18] 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 (Jails, iSCSI, etc), and some users experiencing lower performance than expected"[19] 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, iX Systems 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.

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 (JavaScript library).[20] 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

Branch Initial release Latest Build Released FreeBSD version Status Notes / Changes
9.10 2016-03-23 9.10.2-U4 2017-05-25 10.3 STABLE Previous Release [21]
10.0 ("Corral") 2017-03-15 N/A     Withdrawn: relegated to preview only The "Corral" branch was cancelled on or around 23 April 2017, the developers citing as reasons that although it had been a major "ground up" rewrite of FreeNAS, too many issues had emerged within 2 weeks of release. Development reverted to the proven 9.10 branch of FreeNAS and the Corral branch was relegated to a "techology preview".[22][23]
11.0[24] 2017-06-14 RELEASE 2017-06-14 11 STABLE Previous release (Compared to 9.10 branch):[25][26]
  • Beta version of new user interface based on Angular JS (optional)
  • Built-in Virtual Machine management (default hypervisor: bhyve)
  • Updated alerts system and support for multiple alert services
  • Jails management via iocage
  • 20% speed improvement of FreeBSD kernel compared to 9.10.[26]
  • Amazon S3 compatible object storage services, allowing S3 based cloud services to run on a FreeNAS platform
  • Enhancements to Active Directory services to maintain services and consistent mappings if networking is disrupted.
  • Updates to Samba (4.6.3) and Netatalk (3.1.10)
11.1 2017-12-13 RELEASE 2017-12-13 11 STABLE Current release Changes include the addition of cloud synchronization and preliminary Docker container support, as well as updates to the Angular-based administrative GUI and noticeable OpenZFS improvements for handling large files and multiple snapshots.[27][28]

Current release features and plugins

Features and plugins shown are for the 11.0 branch.

Features[29]

Administrative features
  • Web-based graphical user interface with optional SSL encryption
  • Localized into over 20 languages[30]
  • Web, console, and SSH access configurable
  • Plug-in Architecture (see list below)
  • Performance graphing
  • Wide range of configurable alerts and alerting mechanisms, including log emails and reporting notification
  • Downloadable configuration file and encryption keys
  • S.M.A.R.T. disk diagnostics
  • Local certificate management, including Certificate Authority role.
  • 2 factor authentication, LDAP, Active Directory, RADIUS, IPSec, Kerberos and other authentication/user management systems supported in FreeBSD and therefore available for FreeNAS (Note: some but not all supported in GUI).
File system features
  • Highly resilient ZFS file system with Feature Flags (OpenZFS v5000) and theoretical storage limit of 16 Exabytes. ZFS file system features are fully configurable and include:
  • Compression (including lz4 and gzip),
  • Full-volume encryption (Disk encryption with GELI and AESNI hardware acceleration),
  • Snapshots (which can be near-continual; snapshotting every 15-30 minutes is not uncommon),
  • Data deduplication
  • User quotas
  • Physical disks are fully portable and can be moved without data loss to other FreeNAS servers, or to any other Operating System that supports a compatible version of OpenZFS.
  • Data reliability features - mirroring / RAID (including ZFS RaidZ), multiple copies of selected data and metadata for reliability, and entire-system checksumming and background data repair as needed ("scrubbing") (see also: ZFS generally, which was designed expressly with the aim of ensuring data preservation)
  • Server reliability features -
  • Replication, fallover and failover,
  • Multi-version boot environment - the boot menu provides access to previous versions of FreeNAS which have been upgraded. In the event of a boot issue or system problem, FreeNAS can also load any of these at boot, as "known good" versions, without "rolling back" the server.
  • Disk read and data import for UFS2, NTFS, FAT32 and EXT2/3
  • User/Group permissions - Classic Unix/Linux permissions and/or ACL based (including ACLs for Microsoft file systems)
Built-in network services and features
  • Protocols as standard - Samba/SMB/CIFS (for Microsoft and other networks), AFP (Apple), NFS, iSCSI, FTP/TFTP
  • LDAP and Active Directory client support with Windows ACLs
  • Apple Time Machine and Microsoft File History/Previous Versions support
  • rsync data sync and replication (server/client)
  • Link aggregation and failover
  • VLAN networking
  • Dynamic DNS client
  • Remote syslogd forwarding
  • SNMP monitoring
  • Wide range of networking hardware and environments supported by FreeBSD, including copper cable, fiberoptic cable, WiFi
  • Supports jumbo frames, hardware offloading (exact features offloaded vary by adapter), high bandwidth servicing (10G+)
Other
  • UPS (Uninterruptible power supply) support
  • Virtual Machine host and management with GUI based management
  • Jail management and templates - As of 11.0 release, FreeNAS is part-way switched from warden to iocage as jail manager; full iocage support is planned for 11.1
  • iozone, netperf, OpenVPN, tmux and other utilities
  • Over 20,000 packages and ports available and able to be installed from FreeBSD repositories.

Uses

Awards

  • VMware — "Ultimate Virtual Appliance Challenge, Consumer"[31]
  • sourceforge.net — Project of the Month, January 2007[32]
  • InfoWorld — Best of open source in storage[33]

See also

<templatestyles src="Div col/styles.css"/>

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. FreeNSD 11.2-BETA3 - iXSystems, Inc. - Enterprise Storage & Servers
  3. iXSystems FreeNAS Mini NAS Review - Tom's Hardware
  4. The Arc NAS distribution shootout: FreeNAS vs NAS4Free | Ars Techica
  5. FreeNAS: Flexible, fast storage, and price is right | Network World
  6. FreeNAS — network-attached storage with ZFS [LWN.net]
  7. FreeNAS releases version 11, so let us put the unpleasantness of failed V.10 behind us · The Register
  8. There's inexpensive NAS and then there's FreeNAS | Computerworld
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. iXsystems' FreeNAS snapshot - FreeNAS - Open Source Storage Operating System
  21. FreeNAS 9.10 Released
  22. FreeNAS Corral Status: From “RELEASE” to “TECHNOLOGY PREVIEW” Status
  23. Embarrassing! FreeNAS downgrades latest release to 'tech preview' • The Register
  24. FreeNAS 11.0 Released - Phoronix
  25. FreeNAS 11.0 is Now Here
  26. 26.0 26.1 FreeNAS 11.0 release notes: Initial testing indicates that the FreeNAS 11 kernel is 20% faster than FreeNAS 9.10
  27. FreeNAS 11.1 is Now Available for Download!
  28. FreeNAS 11.1-RELEASE - iXsystems, Inc. - Enterprise Storage & Servers
  29. http://www.freenas.org/about/features.html
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.

External links