Lime Technology's unRAID 6 Brings Containers and Virtualization to NAS Units
by Ganesh T S on July 27, 2015 8:00 AM EST- Posted in
- NAS
- Storage
- RAID
- Lime Technology
Consumers looking for network-attached storage have plenty of options. Most businesses go for a commercial off-the-shelf (COTS) unit, while enthusiasts and home users can go for either COTS or do-it-yourself (DIY) units. There are plenty of excellent COTS NAS vendors in the market, including, but not restricted to Asustor, QNAP, Seagate, Synology and Western Digital. QNAP and Synology have been at the forefront of bringing new features to COTS NAS units. On the DIY front, consumers can go for a dedicated NAS build or re-purpose an existing PC.
Some of the popular operating system options for DIY NAS units include Windows and its server variants, NAS4Free, FreeNAS, Rockstor etc. While NAS4Free, FreeNAS and Rockstor are free open source solutions, Windows and its server variants are paid options. Lime Technology's unRAID is a Linux-based embedded NAS OS that belongs to the latter category.
The following trends have been observed in the evolution of NAS operating systems over the last couple of years:
- An attempt to move from the traditional EXT3 / EXT4 to the more robust and modern ZFS and btrfs file-systems
- Movement of enterprise features such as high availability down the product stack
- Extensive focus on SDKs for enabling third-party applications / mobile-OS-like app stores
- Extending core functionality via features such as virtualization (NAS acting as a host for virtual machines) etc.
In the COTS space, QNAP's QTS brought about virtualization support more than a year back. Synology's high availability feature has been around in their business-class units for some time now. In addition, Synology's DSM 5.2 as well as QNAP's QTS 4.2 beta brought about Docker support. Recently, Lime Technology issued a press release to highlight the release of their unRAID Server OS 6.0 and proclaimed it to be the first non-beta NAS OS with support for both virtualization and containers (Docker). Where does unRAID stand in the current ecosystem of NAS units? Is it a good choice for your particular use-case? Read on for our analysis of the press release.
How does unRAID Work?
Traditional RAID systems use RAID 0, RAID 1, RAID 5, RAID 6 or some combination thereof. These RAID levels stripe data over multiple disks and, for non-RAID 0 or RAID 1 systems, also distribute parity blocks across the member disks. unRAID is not like these traditional RAID systems. The closest it can be compared to is RAID 4, a system in which data is striped across member disks and parity is always written to a dedicated parity disk. In the case of unRAID, the data is never striped. A given file is written to only one of the member disks. A dedicated parity disk enables recovery in case of a single disk failure. In addition, the disks can be of different sizes, as long as the parity disks is the largest of the lot.
unRAID 6 is a lightweight system in the sense that it can be booted off even a 512 MB flash drive on any x86_64 system. Usage as a NAS only requires 1 GB of RAM, and the whole system is loaded into and run off the RAM. Earlier versions of unRAID used ReiserFS, but unRAID 6.0 uses XFS by default. The use of a dedicated parity disk has a couple of drawbacks - the stress on the parity disk is comparatively higher when compared to traditional RAID systems, and the performance is bottlenecked by the performance of the parity disk. In addition, with UnRAID's policy of not striping data across the member disks, the performance is often what one disk can provide. To alleviate these shortcomings, unRAID provides the option of cache pools.
Cache pools can be made up of multiple disks protected using a traditional RAID-1 configuration. Unlike the main pool formatted in XFS, the cache pools are formatted in btrfs. unRAID 6.0 comes in three falvors - Basic ($59), Plus ($89) and Pro ($129). They differ only in the number of supported devices, as shown in the table below.
NAS Units as VM Hosts
We have already covered the usage of COTS NAS units as hosts for virtual machines using QNAP's QTS. unRAID 6 uses the same KVM / QEMU combination. Like QTS, unRAID also requires Intel VT-x / AMD-V support for running virtual machines.
In addition, unRAID 6 also supports pass-through of PCIe devices such as GPUs. To give an example, it is possible to run Windows as a guest OS on unRAID 6 and also have it take advantage of discrete GPUs in the PCIe slot. This feature is in the works for QNAP's QTS, but unRAID seems to be the first to bring it to a stable release. It is important to note that PCI device pass-through requires IOMMU (VT-d / AMD-Vi) support.
Docker - Containers for Lightweight Virtualization
Over the last couple of years, OS-level virtualization has taken off, with Docker leading the way. It enables applications to be deployed inside software containers. Portable applications made using VMWare's ThinApp or Microsoft App-V are very popular in Windows - one can think of Docker as enabling similar functionality on Linux. Arguably, Linux is much more fragmented (with respect to the number of distros) compared to Windows. Docker enables seamless deployment of one application build on a variety of Linux distros / versions. Each application has its own isolated environment, preventing the creation of software compatibility / co-existence conflicts with others.
It must be noted that container technology is not an alternative for full-blown virtualization. To be more specific, the KVM/QEMU combination allows users to run even Windows on top of a Linux OS. On the other hand, Docker allows only apps written for any Linux distro / version to run on a particular machine. Obviously, the hardware requirements and stress on the host machine are comparatively lower for Docker compared to KVM/QEMU.
The benefits of Docker in the server space are not touched upon - unRAID's Docker feature is meant for use in a home environment.
Concluding Remarks
The nature of unRAID's approach to data protection severely restricts the target market for the OS, unlike, say, the approach of FreeNAS, NAS4Free or Rockstor. Realizing this, Lime Technology has gone to great lengths to ensure that UnRAID 6 targets power users and enthusiasts with media serving / storage needs. The presence of both Docker and full-blown virtualization with PCIe device pass-through enables it to target users with gaming PCs that need to double up as media storage servers.
unRAID has been having a loyal following (I have been following them on AVSForum since 2009). The new features in unRAID 6.0 will serve to bring in more people into the fold. unRAID's approach does have some advantages for media serving scenarios:
- Avoiding striping ensures that it is trivial to take out a disk, mount it on another Linux system and copy off its contents. To drive home the advantage of this aspect - in case of simultaneous failure of two or more disks, it is possible to recover at least some data from the array by mounting the remaining good disks on another PC. (In the case of a RAID-5 array, the whole data is toast).
- Avoiding striping ensures that only the relevant disk needs to be spun up to read or write data. This may result in substantial power savings for multi-bay units where the power consumption of the member disks far outweighs the consumption of the system components.
However, there is plenty of scope for improvement - particularly since many users tend to have a single NAS for storing both media as well as other data:
- Improvement in data transfer rates across all types of accesses
- Automatic / continuous protection against bit-rot (available for the btrfs cache pool, but not the main XFS volume)
- Increasing disk sizes (and URE ratings remaining the same) make it a risky proposition to run multi-bay storage servers that can withstand only the failure of one disk.
- Compared to solutions like FreeNAS, NAS4Free and Rockstor, unRAID is closed-source and carries a licensing fee (ranging from $59 for the Basic version to $129 for the Pro).
We have provided a brief overview of unRAID and what v6.0 brings to the table. More information can be gleaned from Lime Technology's FAQs. If you are an unRAID user, feel free to chime in with more information / opinions in the comments section.
Source: Lime Technology: UnRAID Server OS 6 Released
25 Comments
View All Comments
nathanddrews - Monday, July 27, 2015 - link
I'm sure it's not a fair comparison, but I chose to run with StableBit for my WHS a few years ago instead of unRAID, FreeNAS, or FlexRAID and it's been really great. For my home file/media server, I'm just not sure the extra features are worthwhile. I really need to educate myself on VT to see what it can do for me.DanNeely - Monday, July 27, 2015 - link
I've been doing the same and it's worked great; but if I go with Windows for my next nas (vs FreeNAS, Synology, or QNAP) at the end of the year I'll probably just use the W10 version of the drive pool features added in W8.nathanddrews - Monday, July 27, 2015 - link
Have they fixed the performance problems? The reason I didn't migrate to it was most folks were reporting single-digit reads/writes. As far as I know, Storage Spaces doesn't automatically monitor SMART data, scan disks, or move data off of failing drives like StableBit does. This feature alone saved me a lot of data loss from multiple drive failures.Gigaplex - Monday, July 27, 2015 - link
Not really, their "fix" was to add SSD caching as a feature of Storage Spaces, which makes the whole setup overpriced and still underperforms compared to Linux software RAID. You still can't expand the parity pool in a flexible manner (if you started with 5 drives, you have to increase with 5 drive increments), and the pool still doesn't rebalance when capacity is added. Avoid it at all costs.kmmatney - Monday, July 27, 2015 - link
I plan on doing the same, but will probably not use Windows Storage Spaces. I don't like the data being unreadable if their is any corruption. There are a lot of nightmare stories out there about people trying to recover data from a failed storage space. At least with stablebit, you can always read the data on the drive no matter what. It's worth the $20.kmmatney - Monday, July 27, 2015 - link
I'm also running stablebit drivepool in my WHS server, with 9 hard drives. I bought WHS for $59, and run it from an 80GB SSD, and then have a drive pool of 8 drives of various sizes (even a few laptop drives). The best thing I like about Stablebit is that it uses the normal windows file system - you can pull any drive out and insert it into another computer, and read the files as normal. It automatically backs up 8 computers in the house, and runs 2 Minecraft servers, as well as the normal media stuff (Airvideo and Plex server). I'll probably go to Windows 10 for my next NAS, and buy DrivePool again - I don't want to use the Windows built-in drive pool, since the drives are not readable when taken out of the pool. I just have to figure out how to do automatic backups of the other computers int eh house (Ur backup?)nathanddrews - Monday, July 27, 2015 - link
I've been using the built-in WHS backup system to store image backups of other computers on the network. Then I have an external HDD for critical backup data (personal files/pictures). Carbonite keeps a continuous online backup of everything the server, except I don't bother with DVD/Blu-ray MKVs since I the original discs are the backup (and it would take months to upload it all and download it all). Carbonite also backs up all our mobile devices for no additional cost, so that's been a pretty solid purchase ($60/yr).I am thinking about trying BackBlaze or CrashPlan - one of those two will let you backup offsite to a friend/family's computer and vice versa, but I forget which one. That way I can keep some HDDs in my friend's server as a large off-site backup, but much easier faster/easier than shipping drives or re-downloading everything.
Mr Perfect - Monday, July 27, 2015 - link
How does the parity drive work, exactly? In the example shown, there are 13TBs of unique data storage and only 4TB of parity.DanNeely - Monday, July 27, 2015 - link
2 GB of the parity drive contains parity data across all 4 data drives, the 3rd contains parity across 3 drives (2x4gb, 1x gb), and the final GB of the parity drive has 2way parity across the 2 4gb data drives.Navvie - Tuesday, July 28, 2015 - link
I've never understood the point of unRAID. Most people I've encountered who were using it - and making lots of noise about only needing / losing 1 drive for parity - are now moving to systems that support ZFS due to greater data protection. I guess it's like a starter NAS?