www.freenas.org/

TrueNAS

From Wikipedia, the free encyclopedia
 
 
 
Jump to navigationJump to search
TrueNAS
Screenshot of the FreeNAS 11 web interface
Screenshot of the FreeNAS 11 web interface
Developer(s)iXsystems
Stable release
TrueNAS-12.0-U1 / 9 December 2020; 38 days ago[1]
RepositoryEdit this at Wikidata
Operating systemFreeBSD
Platformx86-64, v9.2.1.9 was the last release that supported 32-bit.[2]
TypeComputer storage
LicenseBSD license
Websitetruenas.com

TrueNAS (called FreeNAS prior to version 12.0) is a free and open-source network-attached storage (NAS) 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. TrueNAS supports WindowsmacOS and Unix clients and various virtualization hosts such as XenServer and VMware using the SMBAFPNFSiSCSISSHrsync and FTP/TFTP protocols. Advanced TrueNAS features include full-disk encryption and a plug-in architecture for third-party software.[3][4][5][6][7][8]

The OpenZFS file system[edit]

TrueNAS supports the OpenZFS filesystem which provides data integrity checking to prevent data corruption, enable point in time snapshottingreplication and several levels of redundancy including stripingmirroringstriped mirrors (RAID 1+0), and three levels of RaidZ.

User experience[edit]

TrueNAS 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, TrueNAS boots from a USB Flash device or SATA DOM. This image is configured using a USB Flash/CD-ROM bootable installer. The TrueNAS 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 TrueNAS system upgrades to be performed through the web interface.

History[edit]

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 interfacecommand-line interface, underlying middlewarecontainer 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, 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.[20] This change was made official with the release of TrueNAS 12.0 on October 20, 2020.[21]

In October 2020, iXsystems announced a new product, TrueNAS SCALE would be developed. It would still use ZFS, but be based on Linux. [22]

Architecture[edit]

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).[23] 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[edit]

BranchInitial releaseLatest BuildReleasedFreeBSD versionStatusNotes / Changes
9.102016-03-239.10.2-U42017-05-2510.3 STABLEPrevious Release[24]
10.0 (« Corral »)2017-03-15N/A  Withdrawn: relegated to preview onlyThe « 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 « technology preview ».[25][26]
11.0[27]2017-06-14RELEASE2017-06-1411 STABLEPrevious release(Compared to 9.10 branch):[28][29]
  • 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.[29]
  • 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.12017-12-13RELEASE2017-12-1311 STABLEPrevious ReleaseChanges 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.[30][31]
11.22018-07-09[32]RELEASE2018-12-0511.2 STABLE[33]Previous ReleaseHighlights from release announcement:[34]
  • New, Angular-based UI
  • Boot loader has changed from GRUB to the native FreeBSD boot loader
  • Plugins and Jails backend has switched from warden to iocage
  • Support has been added for Self-Encrypting Drives (SEDs)
  • OpenZFS is up-to-date with Illumos
11.32019-11-15[35]RELEASE2020-01-2811.3 STABLE[36]Previous releaseHighlights from release announcement:[36]
  • Re-implemented Replication Engine, allows up to 10Gb replication speeds (a 10x improvement), resume support on failed transfers, as well as ability to replicate locally.
  • ACL Manager – Allows setup and management of SMB ACL’s directly via the FreeNAS web interface.
  • SMB Shadow Copies are now enabled by default for new shares – Note: Snapshots will only show up in Windows “Previous Versions Tab” if the snapshot USED size shows changes to the file.
  • A repository of Community plugins has been created, users can now create and distribute 3rd party plugins which are not officially iXsystems supported.
  • Updated translations for Czech, French, Japanese, Russian, and Simplified Chinese. Additionally, the process to add additional translations has been greatly improved.
  • iSCSI Wizard – Streamlines the process of creating new iSCSI targets down to a few clicks.
  • Alert System Overhaul – More granular alerts, as well as controls to set alert thresholds.
  • Dashboard Updates – The initial dashboard now shows a live view of system status, including network traffic, CPU / memory utilization and more.
  • NAT Support for Plugins – Eliminates the need for each plugin to have a dedicated IP address on your network.
  • Full featured 2.0 API – Includes both REST and Websocket connections, allowing FreeNAS to be fully scripted and driven via the same API used by the web-interface.
  • Large Pool Creation Assistance – When creating ZFS pools with large number of disks, the UI provides an automated way to repeat a VDEV layout across all remaining disks.
  • ZFS Performance optimizations across the board for many different workloads.
12.02020-10-20[21]RELEASE2020-10-2012.0-STABLECurrent release* Native ZFS encryption, allowing per-dataset encryption and
  • 2 factor authentication support, allowing an extra layer of security when accessing TrueNAS
  • KNIP support – allowing interfacing with KNIP servers for storage and retrieval of passwords and encryption keys
  • TrueNAS API 2.0 now supports API keys for remote access. API v1.0 has been deprecated.
  • Fusion pool support, allowing flash-based VDEVS that store metadata and small-block IO
  • OpenVPN support (both server and client)
  • TrueCommand cloud client integration[21]

Current release features and plugins[edit]

Features and plugins shown are for the 11.0 branch.

Features[37][edit]

Administrative features
  • Web-based graphical user interface with optional SSL encryption
  • Localized into over 20 languages[38]
  • 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 –
  • Replicationfallover 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), NFSiSCSIFTP/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[edit]

Awards[edit]

  • VMware — « Ultimate Virtual Appliance Challenge, Consumer »[39]
  • sourceforge.net — Project of the Month, January 2007[40]
  • InfoWorld — Best of open source in storage[41]