Centralised network storage technologies improve the utilisation of disks and facilitate fast access of data. NAS and SAN storage solutions offer file-level and block-level access to data, respectively. This article discusses NAS and SAN in detail and mentions a few open source storage solutions.
Centralised storage options, unlike the directly attached storage (DAS) ones that are locally attached to a machine, allow all servers to access the same pool of storage space. NAS (network attached storage) and SAN (storage area network) are the most common among these. Storage systems are very much like servers, consisting of a motherboard, CPU, memory, DRAM, disk subsystems and NIC cards. All these components are in the same unit called a controller or a head. A proprietary operating system from the vendor, which is installed in the controller, controls communications to the client over the network and runs all the features on the storage system, like deduplication and compression. NAS is a file level storage system designed for serving files. It uses the standard network and file sharing protocols, such as FTP, SBM and CIFS. Unlike NAS, SAN operates on blocks. It uses IP and fibre channels to connect with servers. Figures 1, 2 and 3 show the architecture of DAS, NAS and SAN storage systems, respectively.
Benefits of centralised storage
There are several benefits of moving away from DAS to a centralised storage system. A few important ones to consider are:
a) Centralised storage improves the utilisation of disks. Thin provisioning makes it appear to the servers that they have more storage than has actually been paid for. Disk utilisation of centralised storage can be further improved by space-saving technologies such as deduplication and compression. Deduplication detects and eliminates identical blocks, and the eliminated blocks are replaced by a pointer to a single copy of the block on the disk. Compression detects and eliminates redundant data and white spaces in files.
b) Storage costs are reduced because of cost savings on hardware, rack space, power and cooling.
c) Centralised storage supports technologies like RAID (redundant array of inexpensive disks), which help to stripe data across multiple disks in enterprise class storage systems, improving performance and capacity for data in disks. NAS and SAN storage systems are built for resiliency. If a disk fails, redundant components can take its place.
d) It is much easier to manage storage from a centralised location than separately across servers.
e) SAN protocols allow clients to boot from logical disks on remote storage and, therefore, the clients, such as blade servers, do not need to contain any disks.
f) Centralised storage systems allow for storage tiering, which analyses and stores data on media with different attributes. For example, ‘hot’ data is stored in high-performance SSDs, and ‘cold’ data gets archived into high-capacity and low-performance SATA drives.
g) Centralised storage provides centralised backup solutions.
h) It allows snapshots, for convenient backup and restoration.
i) It also allows replicating data to a disaster recovery site.
j) Virtualisation support and vMotion: Software such as VMware and Hyper-V allow multiple virtual servers to run in the same underlying physical server. Virtual servers can be moved between physical servers on the fly.
Differences between NAS and SAN
The key difference between NAS and SAN storage is that NAS provides file-level access and SAN is a block storage solution. In NAS, data transmission occurs via Ethernet or TCP/IP protocols, whereas SAN uses fibre channel or IP protocols. NAS storage uses the existing LAN for network infrastructure and SAN uses a separate dedicated network infrastructure. SAN storages are usually used for servers, unlike NAS. SAN looks like a local disk, and diskless servers are possible while using it. While SAN doesn’t offer metadata support, NAS does. SAN is costlier than NAS and is more complex. The various NAS protocols are common Internet file system (CIFS), server message block (SMB) and network file system (NFS). SAN protocols are fibre channel (FC), Internet small computer systems interface (iSCSI), fibre channel over Ethernet (FCoE) and non-volatile memory express over fabric (NVMeOF). Modern storage systems support both NAS and SAN.
Popular open source NAS and SAN solutions
While selecting a storage type, several factors are considered, such as budget, type of data, scaling considerations and usage patterns. To design a cost-efficient storage system using open source, a solution that suits one’s unique use-case must be chosen.
Many options are available in the open source world for implementing NAS and SAN. A few of these are – FreeNAS (on Windows, Linux, Mac), XigmaNAS (on Windows, Linux, Mac), OpenMediaVault (on Debian Linux), Rockstor (on CentOS Linux), Openfiler Community Edition (on Linux), Amahi (on Fedora and Ubuntu), PetaSAN and CryptoNAS.
XigmaNAS: An embedded open source solution for designing NAS
XigmaNAS can be installed on a wide range of hardware, across multiple operating systems (Windows, Apple, UNIX-like OS), over a number of standard network protocols. It can be installed on a CD/USB/SSD key, hard disk or booted from a LiveCD/LiveUSB with a small USB key for config storage.
XigmaNAS installation and configuration involves three steps:
1) Download the LiveCD/LiveUSB, write it to a CD/USB stick and boot from the media you just created. After booting, the initial configuration is done via the console setup menu. XigmaNAS will then be installed and run from your drive.
2) Perform the basic configuration via the WebGUI.
3) Perform the advanced configuration and tuning via WebGUI and command shell, wherein the ZFS, RAID configuration, localisation, service configuration and tuning can be performed. Figures 4-8 show the various screenshots of XigmaNAS.
Infrastructure layouts often use NAS and SAN for centralised file and block data storage, but these are not the only technologies that are used in modern infrastructure designs. Object storage, which organises information into containers that span multiple nodes and geographies, is popular today due to its potential for scalability. Public cloud providers use object storage for storing blobs of data. Today, converged and hyperconverged infrastructure are also hugely popular and offer alternate ways of purchasing and deploying storage.