Developer | Lime Technology, Inc. |
---|---|
Written in | C, C++ |
OS family | Unix-like (based on Slackware Linux System) |
Working state | Current |
Source model | Closed-source with Open source components |
Initial release | August 26, 2005 [1] |
Latest release | 6.12.13 / August 22, 2024 |
Latest preview | 7.0.0-beta.4 / October 21, 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 |
Platforms | x86_64 |
Kernel type | Monolithic (Linux kernel 6.1.106) |
Influenced by | RAID |
License | Proprietary, Perpetual, Various open source licenses |
Official website | unraid |
Tagline | Unleash 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.
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.
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]
Unraid's capabilities are separated into three core parts: software-defined NAS, application server, and localized virtualization. [5]
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.
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]
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]
Unraid is based on Slackware Linux. Supported file systems: XFS, Btrfs, ZFS and ReiserFS. ReiserFS is only for legacy reasons and for backward compatibility, and as a main-rule, shouldn't be used on new implementations.
Unraid installs to and boots from a USB flash device where it's then loaded into a root RAM file system. 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 attached to the user's specific flash device, specifically a USB flash drive, via GUID. [8]
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.
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.
Damn Small Linux (DSL) is a computer operating system for the x86 family of personal computers. It is free and open-source software under the terms of the GNU GPL and other free and open-source licenses. It was designed to run graphical user interface applications on older PC hardware, for example, machines with 486 and early Pentium microprocessors and very little random-access memory (RAM). DSL is a live CD with a size of 50 megabytes (MB). What originally began as an experiment to see how much software could fit in 50 MB eventually became a full Linux distribution. It can be installed on storage media with small capacities, like bootable business cards, USB flash drives, various memory cards, and Zip drives.
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.
9P is a network protocol developed for the Plan 9 from Bell Labs distributed operating system as the means of connecting the components of a Plan 9 system. Files are key objects in Plan 9. They represent windows, network connections, processes, and almost anything else available in the operating system.
QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for 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.
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.
A live USB is a portable USB-attached external data storage device containing a full operating system that can be booted from. The term is reminiscent of USB flash drives but may encompass an external hard disk drive or solid-state drive, though they may be referred to as "live HDD" and "live SSD" respectively. They are the evolutionary next step after live CDs, but with the added benefit of writable storage, allowing customizations to the booted operating system. Live USBs can be used in embedded systems for system administration, data recovery, or test driving, and can persistently save settings and install software packages on the USB device.
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.
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.
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.
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.
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.
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.
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.
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first released in 2013 and is developed by Docker, Inc.
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.
Enterprise Storage OS, also known as ESOS, is a Linux distribution that serves as a block-level storage server in a storage area network (SAN). ESOS is composed of open-source software projects that are required for a Linux distribution and several proprietary build and install time options. The SCST project is the core component of ESOS; it provides the back-end storage functionality.
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.
md/unraid: version 2.9.24