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.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 |
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.
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]
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
md/unraid: version 2.9.24