The Best Open Source Software for Network Attached Storage
Network attached storage is a dedicated appliance used for file storage and sharing, which provides advanced functionalities for data storage, access and management. It gives access to files using network file sharing protocols like NFS, SMB or AFP. This article gives a brief on some of the best OSS for network attached storage.
Network attached storage (NAS) was introduced in 1983 with Novell’s early file sharing NetWare server operating system and NCP protocol. In the UNIX world, Sun Microsystems’ 1984 release of NFS allowed network servers to share their storage space with networked clients. 3Com’s 3Server and 3+Share software were the first purpose-built servers (including proprietary hardware, software and multiple disks) for open systems servers, and the company led the segment from 1985 through the early 1990s. 3Com and Microsoft developed the LAN Manager software and protocol to further this new market. Inspired by the success of file servers from Novell, IBM and Sun, several firms developed dedicated file servers. While 3Server was among the first firms to build a dedicated NAS for desktop operating systems, Auspex Systems was one of the first to develop a dedicated NFS server for use in the UNIX market. A group of Auspex engineers split away to create the integrated network appliance ‘filer’, which supported both Windows and UNIX, in the early 1990s, starting the market for proprietary NAS arrays.
Network attached storage
Network attached storage is regarded as a dedicated server, also termed appliance, used for file storage and sharing. As compared to traditional file serving and direct attached storage, NAS provides advanced functionalities in terms of data storage, access and management. NAS systems are networked appliances that contain one or more storage drives, often arranged into logical, redundant storage containers or RAID (redundant array of inexpensive disks). Network attached storage removes the responsibility of file serving from other servers on the network and provides access to files using network file sharing protocols like NFS (network file system), SMB (server message block) or AFP (Apple file protocol). NAS is regarded as a complete system designed for heavy network systems, which may be processing millions of transactions per minute. It provides a widely supported storage system for any organisation requiring a reliable network system.
Nowadays, organisations search for reliable data storage methods, which can be managed and controlled with their established network systems. NAS allows organisations to store and retrieve humongous amounts of data at an affordable price.Figure 1: Typical SAN infrastructure
The main NAS components are as follows.
- NAS protocol: NAS servers fully support the network file systems and the common interface file systems. NAS also supports numerous different network protocols like SCP and FTP. Reliable communication can be achieved through TCP/IP. The initial purpose of NAS design was file sharing over UNIX across LAN. NAS supports the HTTP/HTTPS protocol, and end users can even download the files using NAS, if connected via a LAN.
- NAS connections: Varied mediums are used for establishing connections with NAS servers like Ethernet, optical fibre and even wireless communication standards like 802.11.
- NAS drives: SCSI is used as default, and various other mediums like ATA disks, optical disc and magnetic media are also supported via NAS. NAS devices are classified into the following three categories.
- Computer based NAS: This is deployed using a computer via FTP/SMB/software server.
- Embedded system based NAS: In this category, MIPS or ARM based processor architecture using RTOS (Real Time Operating System) or an embedded operating system is used to run a NAS server.
- ASIC based NAS: In this, NAS is deployed with a single ASIC chip, using hardware to implement TCP/IP and the file system.
The difference between NAS and SAN
SAN is a dedicated high-performance network for consolidated block level storage. The network interconnects storage devices, switches and hosts. High-end enterprise SANs may also include SAN directors for high performance and efficient utilisation of capacity. Servers primarily identify SAN as local attached storage, so multiple servers can share a storage pool. SANs are not dependent on the LAN and relieve pressure on the local network by offloading data directly from attached servers.
The key differences between NAS and SAN are listed below.
- Operational environment: NAS uses TCP/IP networks, commonly known as Ethernet, whereas SANs run on high-speed fibre channel networks, although more SANs are adopting IP-based fabrics because of the high cost of fibre networks. High performance remains a SAN requirement and flash-based fabric protocols are helping to close the gap between fibre speeds and slower IP.
- Data processing: NAS processes file-based data and SAN processes block data. NAS operates with a global name space and SANs have a dedicated SAN file system.
- Protocols: NAS connects directly to an Ethernet network via a LAN cable to network switch and utilises several protocols to connect with servers like NFS, SMB and HTTP. SAN communicates with SAN disk drive devices using the SCSI protocol, and the network is framed via SAS/SATA fabrics or iSCSI that maps over TCP/IP.
- Performance: NAS devices are not scalable, but high end NAS devices can scale up to petabytes using clusters. On the other hand, scalability is a major parameter for purchasing SANs. Its network architecture is highly suitable for systems administrators to scale performance and capacity.
- Price: NAS costs more than SAN, but is generally difficult to purchase and maintain. SANs are more complex to manage and their annual maintenance costs are more or less the same as NAS.
- Ease of administration: In a one-to-one comparison, NAS wins the ease of management contest. The device easily plugs into the LAN and offers a simplified management interface. SANs require more administration time than the NAS device. Deployment often requires making physical changes to the data centre and ongoing management typically requires specialised admins. The exception to the ‘SAN-is-harder’ argument is multiple NAS devices that do not share a common management console.
- Use cases: NAS is mainly used for file storage and sharing, archives management, Big Data, virtualisation and virtual desktop interface (VDI). On the other hand, SANs are used mostly in database management and ecommerce websites, for fast backup, virtualisation and video editing.
Advantages of NAS
- NAS entry level systems are quite inexpensive and can be purchased with storage capacities of 1TB or 2TB, which enables SMB based companies to deploy them easily. However, they can scale up very well, as there are tons of NAS appliances that support multiple arrays of disks with a storage capacity of more than 1000TB.
- NAS systems support storage of data as files, and support both CIFS (common Internet file system) and NFS protocols, which can be accessed via TCP/IP based Ethernet networks and facilitate access for multiple users.
- NAS technology supports many RAID levels, ranging from RAID 0 and RAID 1 to RAID 5, to make sure that individual disk failures don’t result in data loss.
- NAS appliances come with easy GUI interfaces that can be accessed and administrated from remote locations over TCP networks including the Internet/VPNs/leased lines.
- Most NAS devices support their own cloud service, which allows users to remotely access or even synchronise data on devices with an Internet connection. The sharing can also be done using third party software and cloud systems as per end user requirements.
- NAS devices come with fully functional operating systems, including access to additional applications. This enables end users to download a variety of applications to extend the NAS device functionality including live IP camera monitoring, backup-cum-disaster recovery, etc.
- NAS technology based appliances are small and compact in size, so they consume less power and are highly portable as compared to other servers.
Top open source software for NAS
Backup and recovery software play a critical role for small, medium and even large enterprises, and ensure data is not lost in case of any natural or technical disaster. Home users, too, require backup software to have a lifetime record of all their memories and documents. NAS is a one stop solution for efficient backup of data. Here are the top open source software solutions for NAS that are efficient and easy to use.Figure 4: XigmaNAS
FreeNAS is open source-cum-free network attached storage software based on FreeBSD and the OpenZFS file system. It is licensed under the BSD licence and runs on X86-64 hardware. It provides a simple and comprehensive GUI to systems administrators to create a centralised and easily accessible place for data access. The GUI interface supports all standard administration features like storage pool configuration, user management, sharing options and maintenance. FreeNAS provides strong support for data integrity, anti-data corruption, time snapshotting, replication and lots of levels of redundancy like striping, mirroring, and all three levels of RAID through the OpenZFS file systems.
- Almost every file sharing is supported via FreeNAS, which includes major file systems like SMB/CIFS (Windows file shares), NFS (UNIX files), AFP (Apple file shares), FTP, iSCSI, and WebDAV. It also supports VMware VAAI, Microsoft ODX and Server 2008/2012 R2 clustering.
- It has an angular based Web UI for simplifying complex admin tasks like volume creation, security based permissions, software updates and even disaster recovery.
- A highly resilient ZFS file system provides high end compression, full volume encryption, snapshots, data duplication, and user quotas.
- It has numerous features with regard to network services like support for standard network protocols, LDAP (lightweight directory access protocol)/active directory, VLAN networking, dynamic DNS client, SNMP monitoring and for a wide range of network hardware.
- It supports lots of plugins like Bacula, CouchPotato, BitTorrent, ownCloud, etc.
Latest version: 11.2-RC2
Official website: https://www.freenas.org/Figure 5: Openmediavault
XigmaNAS is open source NAS server software with a user friendly interface designed in PHP language. It is primarily designed from FreeNAS 7 code and well updated with all the latest FreeBSD releases. XigmaNAS supports sharing across Windows, Apple and UNIX-like systems. It includes ZFS v5000, software RAID (0,1,5), disk encryption, Self-Monitoring, Analysis, and Reporting Technology (S.M.A.R.T.) and email reports, etc, with the following protocols: SMB, Samba Active Directory Domain Controller AD, FTP, NFS, TFTP, AFP, rsync, Unison (file synchroniser), iSCSI (initiator and target), HAST, CARP, Bridge, UPnP and BitTorrent.
- Web based interface: XigmaNAS is powered by a fast, stable and responsive Web GUI, which allows the entire server to be configured and managed without the need to interact with the FreeBSD command line.
- Data sharing: It supports all operating systems like Linux, MAC, Windows, iOS, Android with tons of protocols like SMB, LDAP, active directory, FTP, SFTP, NFS, SSH, UPnP, BitTorrent and Bridge, CARP and HAST.
- Boot options: XigmaNAS can be booted from a LiveCD or LiveUSB, and can even be installed on compact Flash, USB flash drive, SSD, hard drive or a number of other bootable devices.
- Monitoring options: It supports historic statistics server (graphical statistics), real-time network and CPU statistics, S.M.A.R.T, email alerts, SNMP, syslog, etc.
- Virtualisation host: XigmaNAS includes an integrated Web based virtualbox host that can run virtual machines managed by noVNC and phpvirtualbox.
Latest version: 184.108.40.206.6195
Official website: https://www.xigmanas.com/
Openmediavault is an advanced, next-generation, open source NAS solution based on Debian Linux. It was designed by Volker Theile mainly for home and small offices, and provides an easy to use GUI solution for managing NAS storage hardware. It contains tons of services like SSH, FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent etc. The software has a completely modular design and can be made more advanced with tons of features using plugins integrated into the base system, and even with third party plugins using the OMV-Extras repository.
- Web interface and notifications: It has an easy and advanced Web UI supported via SSL with an advanced notification system to provide alerts regarding scheduled tasks like monitoring, S.M.A.R.T and cron-apt.
- Storage management: It displays advanced information with regard to S.M.A.R.T, supports RAID 0, 1, 5, 6 and 10, and even supports the LVM2 plugin.
- Services: Openmediavault supports almost all the different types of services like SMB/CIFS, FTP, RSync, NFS, SSH, TFTP, etc.
- Miscellaneous features: These include IPv6 support, Wake on LAN (WoL) and extendible via plugins.
Latest version: 4.1.12
Official website: https://www.openmediavault.org/Figure 6: Openfiler
Openfiler is a Linux based open source operating system that provides file-based network attached storage (NAS) and block-based storage area network (SAN). It enables systems administrators to create reliable, efficient and highly powerful NAS solutions managed via an easy to use browser user interface. OpenFiler supports file-based storage networking protocols like NFS and CIFS, which ensures cross-platform compatibility with Windows, Linux and even UNIX. It also helps iSCSI and fibre channel to be easily implemented in virtualised environments like VMware and XenServer.
With Openfiler’s Web based management system, systems administrators can easily create and manage storage systems using protocols such as NFS 3, SMB/CIFS, WebDAV (Web based distributed authoring and versioning), HTTP/1.1, FTP (file transfer protocol) and iSCSI. You can also configure storage using RAID levels such as 0, 1, 5, 6 and 10. Openfiler can even be integrated with authentication mechanisms such as LDAP, active directory, Network Information Service (NIS) and Hesiod for secure storage access.
- It supports authentication using pluggable authentication modules, configured from the Web interface.
- Openfiler supports both software and hardware RAID with monitoring and alert facilities, volume snapshot and recovery.
- It supports active/passive high availability clustering, multipath I/O (MPIO) and block level replication.
- It supports NIS, LDAP and Windows NT/active directory authentication, flexible quota management and easy-to-use Web based admin GUI.
- It provides file system scalability up to 60TB+, an online file system and volume growth support.
Latest version: 2.99
Official website: http://www.openfiler.com
Rockstor is a specialist CentOS-based Linux distribution designed for NAS and private cloud storage solutions. It is based on popular open source technologies, such as the Btrfs or B-tree file system and Docker for automating the deployment of applications inside software containers. In addition to standard NAS features like file sharing via NFS, Samba, SFTP and AFP, advanced features such as online volume management, CoW (copy-on-write) snapshots, asynchronous replication, compression and bit rot protection are supported based on Btrfs. Rockstor also provides apps like ownCloud, Syncthing, openVPN and Plex to name a few. Apps or ‘Rock-ons’ are powered by a Docker based application hosting framework. These Rock-ons, combined with advanced NAS features, turn Rockstor into a private cloud storage solution accessible from anywhere, giving users complete control of cost, ownership, privacy and data security.
- It efficiently performs storage management including pool and share creation, snapshots, nfs exports, etc.
- It acts on disk alerts, and repairs and removes disks from the system if necessary, without unnecessary disruption.
- It customises the dashboard per admin user by choosing the relevant widgets and their layout.
- It creates snapshots for shares instantly or schedules snapshots to be created periodically.
- Rockstor NUT reconfiguration aims to make UPS setup easy and straightforward.
- It installs on commodity 64-bit hardware or hypervisors like Xen, VMware and KVM.
- Advanced Btrfs features include dynamic pool management, software RAID, and more.
Latest version: 3.9.1
Official website: http://rockstor.comFigure 7: Rockstor Figure 8: CryptoNAS user interface
CryptoNAS is a Linux based NAS server designed to encrypt the drives used with it. It can turn almost any old PC into a secure NAS server. CryptoNAS supports almost all operating systems like Linux, MacOS X and other OSs that support Samba shares. It creates encrypted disk partitions using the LUKS volume; the default encryption algorithm is aes-cbc-essiv:sha256. The algorithms are also accessible directly in Linux or directly in Windows via FreeOTFE.
CryptoNAS provides two packages: CryptoNAS-Server and CryptoNAS-CD. The CryptoNAS-Server package adds hard disk encryption to a file server (running Samba, NFS, DAV, etc) without annoying its users. The CryptoNAS-CD is targeted at users who want to set up an encrypting file server without bothering about complicated administration issues.
- It is a multilingual Debian-based Linux live CD with a Web based front-end that can be installed into a hard disk or USB stick.
- It provides tons of choices with regard to encryption algorithms; the default is AES, which means that any Linux operating system can also access them without using CryptoNAS software.
- It has a very user friendly, Web based front-end for hard disk encryption to a file server.
Latest version: 0.3.5
Official website: http://cryptonas.senselab.org/
Note: All images are for representation only.
source : http://opensourceforu.com