Before getting started with an Unraid build, you might be thinking to yourself: What even is Unraid, and how does it function? The answer might not be quite as simple as you first imagined. But don’t worry, that doesn’t mean that Unraid itself is complicated or difficult to set up. In the past, I’ve talked about how I primarily use Unraid machine as Network-Attached Storage (NAS). The truth is that that is only a part of what Unraid can do. Other than acting as a NAS, you can use Unraid as an Application Server and Virtualisation Host.
A storage server connected to a computer network providing data access to clients.
A server that hosts web or desktop apps. Unraid uses Docker containers for security and to isolate apps.
Using a hypervisor to partition resources to virtualised guests. Virtual machines offer isolated access.
This article will guide you through all three use-cases of Unraid. Depending on what you need from your Unraid build, you might go with a combination of all three possibilities or just using a single one. Please remember that there is no best way of doing things. What you do with your Unraid machine might differ greatly from how I use mine. The goal is simply to let you answer the question: What is Unraid?
A short history of Unraid
Unraid started its journey in the early 2000s as a software engineer’s side project. The engineer’s goal was, as with many side projects, to solve one of their own problems. While RAID (Redundant Array of Independent Disks) technology was available to store, access, and reliably backup significant amounts of data, it came with many restrictions that were implausible for the average consumer.
A new, hardware-agnostic approach for network-attached storage (NAS) had to be found. Luckily for us users of Unraid today, it was found and subsequently shared with the world. An Unraid NAS doesn’t care what CPU you use (as long as it is x86 and 64-bit capable) or what size, brand, and speed your hard drives are. Unraid uses a non-standard software RAID and doesn’t require any expensive add-in cards to work.
Almost 10 years later, the developers of Unraid took on their next big challenge. Unraid should no longer be powering just network-attached storage, but also desktop computers. The way that problem was solved was by integrating enterprise virtualization technology into the Unraid operating system.
With the enterprise virtualization technology, it was possible to easily add one or multiple full desktop operating systems to an Unraid server as a virtual machine (VM). Be it any Linux Distribution, Windows, or macOS (I do not condone unlicensed macOS VMs on Unraid).
Other than on many other virtualization hosts, it was possible to interact with the VMs using locally attached displays and peripherals. As a virtualization host, users no longer had to run Unraid on a dedicated machine. Instead, they could use their already existing desktop computer. As one machine is cheaper than two machines, this feature made Unraid more economical and more flexible.
Unraid for Network-Attached Storage (NAS)
As written in the short history of Unraid above, Unraid first set out to be the perfect operating system for network-attached storage (NAS). Until now, Unraid is most likely still used primarily for that case by most users. The advantages of Unraid are that you can run it on just about any x86 and 64-bit CPU, and that it doesn’t care about your hard drives in the slightest.
Hard drives can vary in size, speed, vendor, and even protocol. Compared to other operating systems with a similar function to Unraid, such as TrueNAS CORE, and standard RAIDs, you can also add one hard drive at a time.
Despite not buying free, Unraid will most likely end up being the most economical operating system for a NAS out of all the different options. Unraid gives you the possibility to buy discounted drives and add them whenever you want. With other systems, you would have to add three or four drives to expand your storage capacity.
It is for that reason that many choose standard computer cases, such as the excellent Fractal Design Meshify 2, for their builds. By adding three or four disks at a time, you would quickly run out of space in your NAS, unless you are using Unraid to which single drives can be added.
Unraid as an Application Server
Because Unraid uses the Linux Kernel, implementing Docker for application management was the logical thing to do. In contrast to virtual machines (VMs), Docker containers share the host operating system’s (in this case, Unraid’s) kernel. With VMs, each instance has an operating system and requires virtualized hardware. The advantage of using Docker is that multiple workloads can run on one single operating system, such as Unraid. This makes Docker containers smaller, faster to speed up, and easier going on your hardware compared to running a dedicated VM for each application.
Virtual machines are often used to be able to completely isolate an application from the host system and any other applications. Docker provides each application with its own isolated Linux environment (container), isolating compatibility or coexistence conflicts with other applications.
In Docker, applications can’t “break out” of their container and won’t mess with other applications or the Unraid operating system, making them much more secure than native applications. If an application is causing you problems, you can simply stop the Docker container or remove it using Unraid’s web interface.
Unraid Community Applications (CA)
The recommended way of adding Docker containers to Unraid is by using the Community Applications (CA) plugin. This Unraid plugin will essentially add what can loosely be described as an app store to your web interface.
Using the Unraid Community Applications plugin, you can install any Docker container that has been added in a matter of seconds. Docker containers in the Community Applications plugin come as so-called templates. The template generally includes all the required settings to allow it to run on Unraid.
Even though Docker containers can be easily added using the CA plugin, you might want to or have to configure it before using it. In regard to networking, you can choose between Bridge and Host as the network type. Generally speaking, you should leave the default value, as specified by the application template, and not mess around with it.
Almost definitely more important are the volume mappings. Docker containers won’t be able to access any of your shares “out-of-the-box”. Let’s say you use a torrent application to download Linux ISOs and want those to be stored in a share, so you can access them from another computer or another Docker container. You wouldn’t be able to do that without mapping the volume in the container’s settings.
Finally, you can also map individual ports. If you are not happy with the port a Docker container template has defined, or it is one that is already reserved, you can change the application’s port outside the container by mapping them.
Unraid as a Virtualisation Host
The third and final use-case of Unraid is using it as a virtualization host. Unraid can leverage a hypervisor (software that creates and runs virtual machines) to partition resources to a virtualized guest in a secure and isolated manner. One advantage VMs have over Docker containers is that they can be assigned a wider array of resources, such a GPU, using pass-through.
While Docker can only cater to Linux applications, it is possible to run a Windows VM and have Windows applications continuously running on it. To be able to use virtualization in Unraid, your CPU will need to be capable of it and the option enabled in the system’s BIOS. Intel generally uses the Intel VT-x or Intel VT-d description for their virtualisation capable CPUs, and AMD uses AMD-V or AMD-Vi.