FreeNAS: Python way for NAS

Subscribe to our

FreeNASFreeNAS is a free and open-source software that enables users to build network-attached-storage (NAS) on nearly any hardware platform. This NAS system is based on FreeBSD and the ZFS file system. FreeNAS was released under the BSD License. It is already localized into over 20 languages.

FreeNAS is cross-platform and additionally to Windows, OS X and Unix clients it supports different virtualization hosts such as XenServer and VMware (using the CIFS, AFP, NFS, iSCSI, SSH, rsync and FTP/TFTP protocols). FreeNAS architecture was rewritten from scratch for 8.0 release. Now it is based on NanoBSD embedded build system, Python, the Django CMS and the dōjō JavaScript toolkit; nginx is used as web server.

FreeNAS is managed via a dedicated web interface (initially written in PHP, then rewritten in Python/Django). The web interface supports user management, storage array configuration, system maintenance, sharing configuration and is supplemented by a shell console to handle the most important administrative functions.

Basically almost every aspect of a FreeNAS system (from volume creation to permissions on individual shares) was developed to be managed from a web user interface. As many services as possible have advanced configuration options that makes NAS deployment easier but doesn’t interfere with the desired solution.

The ZFS file system supports data integrity control, prevents data corruption, as well as enables point in time snapshotting, replication and several levels of redundancy including mirroring, striping, etc. To provide data integrity every ZFS filesystem is also verified with checksums. If there are inconsistencies, parity blocks can be applied to repair corrupt data. As a default measure a regular scrub is turned on that can be rescheduled or configured from the web interface.

What is unique about FreeNAS is that it is the first and only open source project to provide encryption on ZFS volumes. Among the available encryption options are:

  • a simple encryption (available during volume creation),
  • adding a passphrase,
  • initializing a volume with random data.

FreeNAS supports the NAS appliance core features out of the box. Plug-in architecture assists in its improving with the third party software. Among the available plugins are tools for media streaming, file syncing, system for the creation and management of personal cloud resources, alternative protocols, web applications, etc.

FreeNAS features include:

  • UFS2, NTFS and FAT file system support
  • iozone, netperf, OpenVPN, tmux and other utilities
  • Six levels of file system compression including lz4 and gzip
  • Disk encryption with GELI and AESNI hardware acceleration
  • Link aggregation and failover
  • S.M.A.R.T. disk diagnostics
  • LDAP and Active Directory client support with Windows ACLs
  • Apple Time Machine support
  • VLAN networking
  • Dynamic DNS client
  • Remote syslogd forwarding
  • SNMP monitoring

FreeNAS also provides performance graphing, file system snapshotting and replication, disk deduplication, rsync replication, downloadable configuration file and encryption keys, email log and reporting notification. If you are interested in NAS software, visit freenas.org.

Follow