Unraid

Last updated
Unraid
Unraid-logo-2024.svg
Unraid-6.12.8-dashboard.png
Example of the Unraid dashboard as of version 6.12.8.
Developer Lime Technology, Inc.
Written in C, C++
OS family Unix-like (based on Slackware Linux System)
Working stateCurrent
Source model Closed-source with Open source components
Initial releaseAugust 26, 2005 [1]
Latest release 6.12.14 / November 27, 2024
Latest preview 7.0.0-rc.1 / December 2, 2024
Marketing target Home server, home network
Available in 9 languages [2]
List of languages
Arabic, Chinese, Dutch, English, French, German, Portuguese, Polish, Spanish
Package manager Docker
Platformsx86_64
Kernel type Monolithic (Linux kernel 6.1.106)
Influenced by RAID
License Proprietary, Perpetual, Various open source licenses
Official website unraid.net
TaglineUnleash Your Hardware

Unraid is a proprietary Linux-based operating system designed to run on home servers in order to operate as a network-attached storage (NAS) device, application server, media server and a virtualization host. Unraid is proprietary software developed and maintained by Lime Technology, Inc. Users of the software are encouraged to write and use plugins and Docker applications to extend the functionality of their systems.

Contents

Features

Dashboard management

Usage of Unraid is primarily performed through a web interface (known also as the Unraid dashboard) that offers full-control over the Unraid operating system. The dashboard offers basic controls for common tasks as well as advanced controls for the more technological advanced user; CLI or console management is also possible. The Unraid dashboard is particularly useful flagship feature to users who are new or inexperienced in operating Linux, home servers, NAS, Docker, and more.

Community applications

One of the more popular features of Unraid is the extensive catalog of community applications (apps) or plugins that users can install and run on their Unraid systems. This community-oriented focus allows Unraid to provide a vast catalog of community apps while Unraid provides moderation to ensure users are safe, compatible and have a consistent experience. [3] Specifically, Unraid community apps are created via plugins or Docker containers providing the capability of extending Unraid in nearly any capacity. [4]

Core capabilities

Unraid's capabilities are separated into three core parts: software-defined NAS, application server, and localized virtualization. [5]

Software-defined NAS

Unraid's primary feature is the ability to easily create and manage storage arrays in hardware-agnostic ways, allowing users to use nearly any combination of hard drives to create a disk array, regardless of model, capacity, or connection type. Unraid's NAS functionality consists of a parity-protected array, user shares, and an optional cache pool(s). [5]

Since Unraid saves data to individual drives rather than spreading single files out over multiple drives, users can create shares, which are groups of files that can be written to multiple drives (as determined by the user or system) and allow easy access and management by users. [6] This style of filesystem eliminates the use of traditional RAID-based technologies which provides the ability to scale on-demand by adding more drives while not needing to rebalance existing data.

Application server

Unraid utilizes Docker to allow users to create and manage Docker containers to host applications on the system. In doing so, this allows Unraid users to host applications that may not support the Unraid operating system directly, could be difficult to install & remove, or may not behave correctly with other applications running on the same system. This provides Unraid users with the ability to install, manage, and host any images from the Docker Hub. For example, a user could use a pre-made Docker container to host applications such as Nextcloud, Plex, Jellyfin, and many others. [7]

Virtualization Host

Unraid is designed as a virtualization host, leveraging a hypervisor to partition resources to virtualized guests in a secure and isolated manner. Differing from Docker containers, virtual machines in Unraid offer unique benefits such as running non-Linux operating systems (e.g. Windows), driver support for physical devices independent of Unraid, etc. while offering the same benefits of isolated access to the partitioned resources. The implementation of kernel-based virtual machine (KVM) within Unraid includes QEMU, libvirt, VFIO*, VirtIO, VirtFS, and Open Virtual Machine Firmware (OVMF). These implementations of KVM provide for a wide array of resources to be assigned to virtual machines ranging from storage, compute, network, memory, PCI devices, USB devices, and more. Additionally, Unraid provides support for emulating different machine types such as i440fx, Q35, etc. which provide support for CPU pinning, SSD optimization, and more. [5]

Technical specifications

Operating system/licensing

Unraid is based on Slackware Linux. Supported file systems: XFS, Btrfs, ZFS and ReiserFS.

Unraid installs to and boots from a USB flash drive and runs entirely in memory. All configuration data related to the operating system is stored on the flash device and loaded at the same time as the operating system itself. This style of operation allows for operation on nearly any X86-64 bit system with minimal use of system resources. [5] Additionally, the Unraid user license is bound to the user's USB flash drive via GUID. [8]

GPL compliance

Unraid uses the Linux kernel and its filesystems. It most notably contains a greatly modified version of Linux md facilities named md_unraid. [9] The source code is distributed as part of the USB system image and is visible in the Unraid OS in /usr/src. binwalk can be used to extract the file from bzroot without booting.

Related Research Articles

<span class="mw-page-title-main">Live CD</span> Complete, bootable computer installation that runs directly from a CD-ROM

A live CD is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

<span class="mw-page-title-main">Network-attached storage</span> Computer data storage server

Network-attached storage (NAS) is a file-level computer data storage server connected to a computer network providing data access to a heterogeneous group of clients. The term "NAS" can refer to both the technology and systems involved, or a specialized device built for such functionality.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator that uses dynamic binary translation to emulate the processor of a computer. It provides a variety of hardware and device models for the virtual machine, enabling it to run different guest operating systems. QEMU can be used in conjunction with a Kernel-based Virtual Machine (KVM) to emulate hardware at near-native speeds. Additionally, it supports user-level processes, allowing applications compiled for one processor architecture to run on another.

OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, including containers, zones, virtual private servers (OpenVZ), partitions, virtual environments (VEs), virtual kernels, and jails. Such instances may look like real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can see all resources of that computer. Programs running inside a container can only see the container's contents and devices assigned to the container.

<span class="mw-page-title-main">OpenVZ</span> Operating-system level virtualization technology

OpenVZ is an operating-system-level virtualization technology for Linux. It allows a physical server to run multiple isolated operating system instances, called containers, virtual private servers (VPSs), or virtual environments (VEs). OpenVZ is similar to Solaris Containers and LXC.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

A home server is a computing server located in a private computing residence providing services to other devices inside or outside the household through a home network or the Internet. Such services may include file and printer serving, media center serving, home automation control, web serving, web caching, file sharing and synchronization, video surveillance and digital video recorder, calendar and contact sharing and synchronization, account authentication, and backup services. In the recent times, it has become very common to run hundreds of applications as containers, isolated from the host operating system.

Turbo is a set of software products and services developed by the Code Systems Corporation for application virtualization, portable application creation, and digital distribution. Code Systems Corporation is an American corporation headquartered in Seattle, Washington, and is best known for its Turbo products that include Browser Sandbox, Turbo Studio, TurboServer, and Turbo.

oVirt Free, open-source virtualization management platform

oVirt is a free, open-source virtualization management platform. It was founded by Red Hat as a community project on which Red Hat Virtualization is based. It allows centralized management of virtual machines, compute, storage and networking resources, from an easy-to-use web-based front-end with platform independent access. KVM on x86-64, PowerPC64 and s390x architecture are the only hypervisors supported, but there is an ongoing effort to support ARM architecture in a future releases.

<span class="mw-page-title-main">Virtualization</span> Methods for dividing computing resources

In computing, virtualization (v12n) is a series of technologies that allows dividing of physical computing resources into a series of virtual machines, operating systems, processes or containers.

<span class="mw-page-title-main">TurnKey Linux Virtual Appliance Library</span> Open-Source virtual appliance library

The TurnKey Linux Virtual Appliance Library is a free open-source software project which develops a range of Debian-based pre-packaged server software appliances. Turnkey appliances can be deployed as a virtual machine, in cloud computing services such as Amazon Web Services or installed in physical computers.

<span class="mw-page-title-main">LXC</span> Operating system-level virtualization for Linux

Linux Containers (LXC) is an operating system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.

QVD is an open-source virtual desktop infrastructure (VDI) product built on Linux. Its main purpose is to provide remote desktops to users.

<span class="mw-page-title-main">OpenMediaVault</span> NAS operating system

OpenMediaVault (OMV) is a free Linux distribution designed for network-attached storage (NAS). The project's lead developer is Volker Theile, who instituted it in 2009. OMV is based on the Debian operating system, and is licensed through the GNU General Public License v3.

<span class="mw-page-title-main">Univention Corporate Server</span> Linux distribution

Univention Corporate Server (UCS) is a server operating system derived from Debian with an integrated management system for the central and cross-platform administration of servers, services, clients, desktops and users as well as virtualized computers operated in UCS. In addition to the operation of local, virtual instances, UCS can also be operated in cloud environments. Via the integration of the open source software Samba 4, Univention also supports the functions provided in many companies by Microsoft Active Directory for the administration of computers operated with Microsoft Windows. UCS-based components and UCS-certified, third-party products can be installed via the Univention App Center. UCS provides all App Center applications with a runtime environment and services for the operation including a central, consistent management of the apps. Docker containers can also be run on UCS systems and several of the apps available in the App Center are Docker-based.

<span class="mw-page-title-main">SmartOS</span> Operating system

SmartOS is a free and open-source SVR4 hypervisor based on the UNIX operating system that combines OpenSolaris technology with bhyve and KVM virtualization. Its core kernel contributes to the illumos project. It features several technologies: Crossbow, DTrace, bhyve, KVM, ZFS, and Zones. Unlike other illumos distributions, SmartOS employs NetBSD pkgsrc package management. SmartOS is designed to be particularly suitable for building clouds and generating appliances. It was originally developed for and by Joyent, who announced in April 2022 that they had sold their business supporting and developing of Triton Datacenter and SmartOS to MNX Solutions. It is open-source and free for anyone to use.

bhyve is a type-2 (hosted) hypervisor initially written for FreeBSD. It can also be used on a number of illumos based distributions including SmartOS, OpenIndiana, and OmniOS. A port of bhyve to macOS called xhyve is also available.

<span class="mw-page-title-main">Proxmox Virtual Environment</span> Linux distribution for server virtualization

Proxmox Virtual Environment is a virtualization platform designed for the provisioning of hyper-converged infrastructure.

Container Linux is a discontinued open-source lightweight operating system based on the Linux kernel and designed for providing infrastructure for clustered deployments. One of its focuses was scalability. As an operating system, Container Linux provided only the minimal functionality required for deploying applications inside software containers, together with built-in mechanisms for service discovery and configuration sharing.

<span class="mw-page-title-main">Jellyfin</span> Media server software

Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices. Jellyfin consists of a server application installed on a machine running Microsoft Windows, macOS, Linux or in a Docker container, and another application running on a client device such as a smartphone, tablet, smart TV, streaming media player, game console or in a web browser. Jellyfin also can serve media to DLNA and Chromecast-enabled devices. It is a fork of Emby.

References

  1. "Unraid's 14th Birthday: A Q&A with the CEO on the Past, Present, and Future of Unraid". Unraid. Retrieved 2022-07-14.
  2. "Multi-Language Support | Unraid Docs". docs.unraid.net. Retrieved 2024-04-27.
  3. Squid (2020-01-09). "CA - Application Policies & Notes". Unraid. Retrieved 2024-04-27.
  4. "Community Applications | Unraid Docs". docs.unraid.net. Retrieved 2024-04-27.
  5. 1 2 3 4 "What is Unraid? | Unraid Docs". docs.unraid.net. Retrieved 2024-04-27.
  6. "Should you build your own NAS or buy one? Unraid vs. TrueNAS vs. Synology". 9to5Toys. 2021-06-04. Retrieved 2022-07-14.
  7. S, Ganesh T. "Lime Technology's unRAID 6 Brings Containers and Virtualization to NAS Units". www.anandtech.com. Retrieved 2022-07-14.
  8. "Getting started | Unraid Docs". docs.unraid.net. Retrieved 2024-04-27.
  9. "Version 6.11.5 2022-11-20". md/unraid: version 2.9.24