What Is Unraid?
wiki.unraid.net
wiki.unraid.net
I ran into an issue once where the Web interface wasn't working properly. I looked online for a way to restart the service via SSH, since none of the commands I could think of worked. I then came across the amazing answer from one of the official forum moderators that basically said "you don't need to know how to restart the service, just stop having the problem." I could have rebooted the entire system, but there were several Dockers running as well as other systems that had the storage mounted that I didn't want to interrupt for a simple web server issue.
There's also the fun BTRFS and Docker issues. Maybe it's just me, but filling up a file system shouldn't completely corrupt it. There are rules you can set such as "don't copy a file unless 30GB is free" but somehow it seems to ignore this. You later find your Dockers no longer work if you restart them, giving the unhelpful error of "Error code 403", despite them working fine moments ago. Sometimes it just seems to do this for fun without the disk filling up.
I could go on and on about all the weird issues and odd design choices.
anyway, you do you.
I still really enjoy unraid for what it does, but I also feel like I can't recommend it any longer.
Kinda seems like this latest release accumulated a lot features and could be part of the relatively slow release pace.
https://forums.unraid.net/bug-reports/prereleases/unraid-os-...
However, their iteration approach seems smart to me. As far as I can tell they have experimented with some of the big features as optional plugins before adding them to an official release.
For example: in between the latest official release and now they released MyServers plugin to remotely monitor and perform high level server operations. It’s great and has been gone from early access alpha to a full fledged product.
Additionally the wireguard integration was released as a plugin first, and will simply be more deeply integrated in the latest upcoming release.
That's on them and their business model, not on the customers.
In software a business needs a source of income, otherwise you have what unraid has currently: a burst of income at the beginning, and less and less resources to handle the support calls that come in later.
Edited to add: It's also why Plex sucks lately. Lifetime members paid up front for maybe $100. When Plex burnt through that money and wasn't getting a return with new subscriptions, they started looking for ways to make Plex more profitable rather than making better software for their users.
I think a lot of peoples perceptions are skewed from SaaS models maybe?
Unraid seems to be targeting a rather niche market of people who are used to building PCs for running Windows and would like to have a home server and self host some apps (usually Plex and the 'arr stack if we're being honest). It does a good job of making all this accessible via a nice web UI with basic hypervisor and container management features. The app store they have for Docker containers is great for exposing new users to what's out there.
The problem I've found is that while it does a good job of offering a low barrier to entry, the ceiling is quite low as well. It seems to me that the type of user they're trying to attract is also the type who would want to learn more and tinker, at which point Unraid's limitations will start to chafe.
If you've used other Linux distros you'll find the lack of a package manager and other atypical features frustrating. Once you want to go beyond their app store for containers the web UI becomes limiting. There's no first-party docker compose support. The hypervisor UI is quite limited as well, lacking even the ability to create and manage snapshots. Of course you can manage all this from the command line, but at that point you may as well use another OS with a more performant and reliable filesystem.
There are also some bizarre security choices that they've seemed to have had difficulty moving past. The web UI is only accessible as root, for example.
for me I use Unraid for my "production" home storage for 3 main reasons
1. It is easy to administer I dont want to have screw with it when I just want to watch a movie from my emby server, or get some file I am working on
2. It allows me to disparate disk sizes, and expand the storage at will. Something TrueNAS and other ZFS based system struggle with
3. The Docker interface is the easiest I have ever found
I want the "one click" service experience for my home services server. I do not want a package manager, or to ssh in to the server and start doing things.
That said i also run 2 other Storage servers that are TrueNAS, I use them for backups, and doing the things you talk about. However with TrueNAS I have to plan out my Storage like I would my enterprise arrays, a 5 year storage plan, and preallocate the space when I build the array, because expanding it after the fact is a pain in the a*. (an no I am not going to keep adding mirror pair vdev's)
That is the key here, use the correct tool for the job, and for a production server to run "home services" like emby, plex, gitea, paperless, SAMBA shares, Home Assistant, etc nothing IMO beats unraid, not even TrueNAS
They also flip the order of Docker port mappings, where `-v "8080:80"` would become "80 <- 8080" or w/e in their UI. And a bunch of other idiosyncrasies with configuring containers.
And yeah, as others have said, "dockers" terminology hurts me deeply.
I feel that overall my unraid experience has been good and they certainly make the implementation of some basic services and plug-ins really easy. However I do find myself looking at more fully manual, open-source “home server” solutions and wonder if it would be worth a switch …
I gave up after the RC update bricked my flashdrive and support told me well your flash drive was just bad and well its your fault you didnt backup.
Im now on Proxmox + ZFS + VMs and I couldnt be happier.
Whilst a lot of unRAID's functionality can be achieved with a bit of tinkering and reading, its UI does save a lot of time and keeps things very simple. For example, I have yet to figure out a way of achieving GPU passthrough on an Optimus laptop without my hair going grey -- a part of me feels like unRAID might simplify it, despite it being an OS for servers rather than laptops.
One thing I'd absolutely wish for is ZFS support. I haven't looked into how ZFS's licence might interfere with its integration, but if integration is possible, it would be magnificent.
Nevertheless, unRAID is splendid at what it strives to do and buying a pro licence for it was absolutely worth it!
ZFS would require the use of all the same size disk, or your udev would be limited to the size of your smallest disk, and make adding new disks much harder
But I’d love to hear any thoughts from others who have tried using both!
Whereas on Proxmox it's a cinch for me to run like 20 different VMs/linux containers that I use for various projects/jobs/etc. Huge ecosystem and really easy to take advantage of massive community of linux/Debian users/Docker/etc.
TrueNAS Scale, which is based on Debian, I think reflects an acknowledgement of the pain points of working around BSD for the types of services a lot of people want to use their NAS for. I don't think I'm ready to switch yet, but maybe in a year or two it will be a great solution.
That said I do think though a NAS is one of the things, even in a lot of homelab environments, that's actually worth its own hardware separate from the VM if one can swing the extra cost & space. I virtualized NAS for a while too but since I wanted to run VMs themselves off the NAS as well as a lot of other stuff, have a good backup/restore story etc, I found it started to get unpleasantly circular in terms of bootstrapping from a cold start or restore. Also, the hardware requirements for a good NAS are fairly distinct from a lot of what I wanted for virtualizing. It's not impossible to cram lots of hot swap drives and full size PCIe cards including GPUs for passthrough and tons of CPU and tons of RAM into a single 4U by any means, but splitting things out made it a lot simpler to optimize each side better. The NAS could be smaller, cooler, quieter and good at its own thing. After all-in-one I ended up with 3 distinct boxes: router/gateway (OPNsense), VM system, and NAS system. I know others have gone totally different directions, from AIO boxes to wild K8s clusters doing it all, but I feel like those provide a decent balance of flexibility and stability/isolation, I can mess with stuff and feel confidence in basic network connectivity or storage. Isolation also means not feeling quite the same pressure if one platform isn't as good at something as another, so long as it's good at its own specialty.
>TrueNAS Scale, which is based on Debian, I think reflects an acknowledgement of the pain points of working around BSD for the types of services a lot of people want to use their NAS for.
I'm a bit bummed philosophically there. I've used BSDs for a very long time, like much of the philosophy if not all the warts, and fundamentally losing diversity in software platforms even if open source is concerning. At the same time it's hard to get around the raw power of network effects in tech, and Linux has a ton of resources and eyes thrown at it at this point. I have no plans or interest in moving in the near future either, but it's hard not to feel like the headwinds are building a bit for TrueNAS Core. Though FreeBSD continues to put out excellent releases, and it's gotten this far. I've found myself on the underdog "but I think it's technically better!" losing side of a lot of tech in my life though :). It's always a balancing act in how much it's worth working on a tool itself vs using the tool to do other work.
This was the first lesson I learned doing homelabbing. Put your necessary networking stuff on it's own system that won't be affected by your "hobby boxes" going down :)
I currently have my stuff split out into one PCEngines box for OPNSense, one Lenovo NUC for HomeAssistant, and one tower for TrueNAS and low importance virtualzation.
Yeah, there is definitely a balance to be struck. Too many single purpose boxes is very inefficient and also results in its own set of problems in terms of backups and restores.
>But it doesn't take much playing around with them to realize the problem with putting all your important stuff on the same machine: it all goes down together.
For me at least even that wasn't the biggest problem. It was more the extra difficulty with getting stuff back up again, basically things turning into classic spaghetti code for IRL metal. If one thing took down the other stuff that'd be annoying, but if merely booting back up again fixed everything I'd have felt less compulsion. But if one doesn't have a functional network/internet (particularly in more rural areas like mine where there is effectively zero cellular coverage so no emergency fallback there) it can be a lot harder to recover from a real fubar. And if there is some level of circular dependencies it was easily possible to end up in situation where order is critically important just for startup let alone recovery, and things like backups get fragmented. If the NAS is virtualized yet other VMs live on the NAS, the NAS VM must come up first or other stuff just won't work, including the network if the router is virtualized too on the same system. And where does the hypervisor and NAS VM itself get backed up to? How do those tie into remote backup automation? If things go pearshaped, how does bootstrapping off an offsite/cloud restore go? What's downtime look like? It's definitely possible to set up orchestration to do all this, or HA clusters with high enough reliability it wouldn't be a limiting factor or a bunch of other solutions. But for homelab/SOHO/SMB too much for my comfort.
On the other hand I'm fine with something like HomeAssistant being virtualized and consider that more reliable. The VM for it runs on the hypervisor box, the data is stored on the NAS box, and the OPNsense box handles the routing. All 3 can stand alone. If any of them go bad, it's clear how I bring each one back up, and I can lean on the the other two. If the whole place burned down, dealing with insurance aside it's still clear how I'd bring the whole thing back up on new hardware at a new location once I had it. And experimentation done in one place isn't likely to leave me in a tricky position to get back to working. If I was really depending on HomeAssistant or the like for critical home functionality maybe I'd give it its own box too, but even then I still feel like the isolation, central backup, protection against data corruption and so on provided by having it virtualized is better. Also easier to rollback the whole thing.
Have to say though also feels amazing that we have so many powerful awesome options all on FOSS and standard hardware now. Can do really great stuff on a budget that not that long ago would have been the domain of enterprise.
- trades more raw storage for slower performance, only one parity drive is needed
- if two drives die, you can still recover the rest of the data, no special recovery software needed
- allows you to mix drive brands, sizes, smr, cmr, etc, etc...
- allows you to expand one drive at a time, buy whatever is on sale when you need it
- drives spin down when not in use, saving on power and replacements
if you got a ton of media, it's pretty solid tech. the one thing i'd like to see is an "unraid lite", a headless solution with a cheap yearly fee. something to keep generating income for the team while allowing the vets more flexibility. because at the 10 year mark, it'll have worked out to $15/year for me and since i'll be virtualizing it again, i only really need security updates for kernel, ssh and samba.
At the end of the day it's critical data for me that while backed up to tarsnap would take a very long time to restore. By just using ZFS and having regular scrubs etc scheduled properly I have very high confidence my array will always be online when I need it.
I could probably build a similar level of trust in another product but ZFS (Under OpenSolaris, then Illumos, then FreeBSD and finally Linux - all the same pool btw!) has earnt my trust over many years.
It's a lot easier to learn to set up smbd, NFS, nginx than deal with kludged together solutions later.
MergeFS over XFS volumes and SnapRaid for redundancy
I found synology features great, but was frustrated about the hardware lock in. I also didn’t want to spend too much time tinkering with a bare bones server. Enter unraid.
I use it as a backup server, fileshare, time machine backup. As well as plex and other popular self hosted docker images.
Regardless, many seem happy with unraid so glad it exists
On the one hand, It's probably one of the most versatile pieces of software that I've ever used. I use it in "production" at home and its filling half a dozen use cases for me.
The first strength is VM support. I have ~25 VMs configured as I'm in grad school and it seems like every professor has a specific OS they want you to use. I use a MacBook at home and most professors require you to download and run a different Linux distro, or they just assume you have a windows PC handy. This wasn't a problem when I was going to school in person where I has access to a computer lab, but it is a problem as a mac user at home. Fedora, Ubuntu, Kali, and Windows 10. This was the OS requirement for just one semester of Advanced Operating Systems, Computer Architecture, and Network Security classes and running multiple VMs on my old laptop at the time was very taxing.
The other beautiful thing about Unraid is how easy it is to pass through a GPU compared to other NAS distros. I have a windows VM configured with a GPU passed through that I use for gaming and the occasional CAD work (for fun). Before Unraid, I tried Proxmox, but after a month of work, I wasn't able to get GPU passthrough to work and the community wasn't any help. On unraid, it took maybe 3 days with plenty of help from the community.
I also plan on running a Home Assistant VM if I ever get more into smart home stuff and move away from Homekit.
I also have 100+ docker containers configured. Many of them are based on a home media streaming stack. *arr stack, ombi, jellyfin for movies and tv. Komga, calibre, and mylar for ebooks and comics. Podgrab and airsonic for podcasts. Jdownloader and deluge for everything else. The rest are small apps used for learning or just self hosting some apps. Things like Nextcloud, Paperless, rss, pihole, and a minecraft server. I had a data scare a couple years ago where I had written some journal entries in an app in college and the app had gone subscription and locked my access to my entries behind a pay wall. Ever since then, I use plain text and self hosted apps for everything important.
I looked at other solutions for home server operating systems but many of them ran freeBSD, and while this did add ZFS support, it came at the cost of using jails instead of docker and at the time I knew that the apps I wanted to use had docker support, but I wasn't sure if they had decent jail support.
The last selling point is the NAS features. I started with just a 1tb m.2 ssd to run a virtualization server and I was able to quickly add capacity via HDDs without screwing up my config. It started with just a small movie collection and quickly spiraled out to downloading every console game made between 1976 and 2007 so I could emulate them from any client device with almost no local storage. While the features of ZFS are great, I wouldn't want to give up the flexibility of adding one disk at a time.
Also the easy to use wireguard UI was a big selling point. I found it much easier to use than configuring it via the terminal for some reason.
On the other hand, it is also one of the buggiest pieces of software that I have ever willingly paid money for. The community support is great and a lot of the development is guided by community involvement, but as I get more familiar with homelabbing, I can feel the rough edges.
I regularly have disks just drop out of the array and when looking online, it looks like this is a well known issue. I found community posts from _years_ ago saying that all you have to do is stop the array, remove the disk, start the array, then stop it again and re-add the disk and wait ~24hr for a parity check to run. This has been a known issue for years and it's still not fixed.
Also if you don't have enough ram in the system and start a vm, the whole system just crashes and drops a random disk before making the web-ui unresponsive. Another known issue that hasn't been fixed. The VM configs also breaks sometimes for no reason. I had a bugged vm template that just froze the entire system the second I started it. No indication of what happened, just had to destroy the vm and delete the template via ssh before making a new one.
The lack of docker-compose support is also frustrating. The terminal experience is also anemic. No package manager installed by default and many other normal system utilities are not pre-installed. This makes working on the system via ssh very frustrating.
I've also lost some data because while Unraid is good at _adding_ disks, it's still terrible at _replacing_ disks. Just swapping out 2 HDDs in the array and 2 SSDs in the cache pool took weeks and the process was nerve racking due to the aforementioned disk dropping issue. I also ended up corrupting some data on some drives. I don't know how bad the damage is, but I know that some docker containers don't work anymore and my windows vm had to be completely reconfigured from scratch. I haven't even tried running some of the Linux distros I have configured but I don't have high hopes after the Windows debacle.
I imagine that the coming ZFS support with RAIDz expansion will alleviate some of these pain points (like the missing snapshots feature), but I still feel like Unraid need to stop adding new features for a year and spend a year coming out with a "Snow Leopard" release. Just something that focuses on basic system stability and usability.
Ultimately, I think I would recommend Unraid to a very small niche of people. If you are just getting started with homelabbing and want a flexable, scalable system, go with Unraid. If you care about stability, have the money to bulk buy drives, and don't mind a little more fiddling, I would probably recommend 2 systems. Something like truenas scale on a box for NAS stuff and something like a Proxmox box for VMs.
EDIT: Speaking of Snow Leopard! I forgot to mention one of my most annoying bugs. I wanted to set up a time machine share on the array to back up my MacBook and it seems like time machine support has been broken for years despite this being an advertised feature! I feel like they should either fix the issue or remove support all together, anything in between is just frustrating. Instead I have to use chronosync and just manually copy files over to an array share but it's not quite as seamless as using the built in time machine feature.
the *arr stack can automatically search dozens of torrent sites for what you want and automatically download the release with your exact specifications. Do you want everything in the highest resolution and bit depth? Do you want HDR and Dolby Surround releases? Do you want everything to be in HEVC to save on space? Do you want special editions of releases instead of theatrical releases? Do you want to download directors commentary for movies and tv shows? You can configure all of this for Radarr and Sonarr. I have hearing loss in both ears so I also use bazarr for downloading subtitles automatically. For Readarr, I found just being able to follow a writer and automatically download their entire back catalog to be a huge time save. I don't use Lidarr very much for music as Apple Music is good enough for my needs. I also had real difficulty getting mylar3 to work properly so I can't comment too much on that.
I've also heard that usenet is better than torrents when it comes to looking for releases but I haven't put in the time and effort into learning how it works yet.
Also, as a small note, I would recommend taking a moment to configure a torrent client with a built in vpn like binhex-delugevpn unless you want a letter from your ISP, as happened with me a few times :(
I used this[1] video to learn how to configure everything and videos by SpaceInvaderOne[2] for everything else Unraid related. I would also really recommend following these "trash" guides[3] if you want to optimize quality and storage settings.
If you need help, I would recommend reaching out to the community via the Unraid Forums or their Discord. I've had a really good success rate there.
[1]: https://www.youtube.com/watch?v=momNnMYkmtQ&t=2471s [2]: https://www.youtube.com/c/SpaceinvaderOne [3]: https://trash-guides.info/Radarr/
Lets assume you have 3 disks:
- 10 TB - 5 TB - 8 TB
Here is how you would partition them:
disk A - 10 TB <_ZFS RAIDZ - disk 1/3 - 5 TB SIZE_> | <_ZFS MIRROR - disk 1/2 - 3 TB SIZE_> | <_ZFS STRIPE - disk 1/1 - 2 TB SIZE_>
disk B - 5 TB <_ZFS RAIDZ - disk 2/3 - 5 TB SIZE_>
disk C - 8 TB <_ZFS RAIDZ - disk 3/3 - 5 TB SIZE_> | <_ZFS MIRROR - disk 2/2 - 3 TB SIZE_>
This way you can create three separate pools: 5 TB each disk ZFS RAIDZ = 10 TB effective space with redundantion
3 TB each disk ZFS MIRROR = 3 TB effective space with redundantion
2 TB single disk ZFS STRIPE = 2 TB effective space without redundantion
You can of course 'connect' the two redundant ZFS pools into one with these commands below on creation.This is a test that I just did on FreeBSD but with GB units instead of TB as with real disks:
# truncate -s 10G disk10
# truncate -s 5G disk5
# truncate -s 8G disk8
# mdconfig.sh -c disk10
IN: created vnode at /dev/md0
# mdconfig.sh -c disk5
IN: created vnode at /dev/md1
# mdconfig.sh -c disk8
IN: created vnode at /dev/md2
# gpart create -s GPT md0
md0 created
# gpart add -t freebsd-zfs -s 5g md0
md0p1 added
# gpart add -t freebsd-zfs -s 3g md0
md0p2 added
# gpart add -t freebsd-zfs md0
md0p3 added
# gpart create -s GPT md1
md1 created
# gpart add -t freebsd-zfs md1
md1p1 added
# gpart create -s GPT md2
md2 created
# gpart add -t freebsd-zfs -s 5g md2
md2p1 added
# gpart add -t freebsd-zfs md2
md2p2 added
# zpool create HYBRID raidz /dev/md0p1 /dev/md1p1 /dev/md2p1 mirror /dev/md0p2 /dev/md2p2
# zpool create NONRED /dev/md0p3
# zpool list HYBRID
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
HYBRID 17.2G 161K 17.2G - - 0% 0% 1.00x ONLINE -
# zfs list HYBRID
NAME USED AVAIL REFER MOUNTPOINT
HYBRID 126K 12.0G 27.3K /HYBRID
# zpool status HYBRID
pool: HYBRID
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
HYBRID ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
md0p1 ONLINE 0 0 0
md1p1 ONLINE 0 0 0
md2p1 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
md0p2 ONLINE 0 0 0
md2p2 ONLINE 0 0 0
errors: No known data errors
# zpool list NONRED
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
NONRED 1.88G 108K 1.87G - - 0% 0% 1.00x ONLINE -
# zfs list NONRED
NAME USED AVAIL REFER MOUNTPOINT
NONRED 108K 1.75G 24K /NONRED
# zpool status NONRED
pool: NONRED
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
NONRED ONLINE 0 0 0
md0p3 ONLINE 0 0 0
errors: No known data errors
This means that instead of that 12 GB space on real 10/8/5 TB disks you would get 12 TB of redundant space and 2 TB of non-redundant space.Instructions for real SATA disks on FreeBSD:
# gpart create -s GPT ada0
ada0 created
# gpart add -t freebsd-zfs -s 5t ada0
ada0p1 added
# gpart add -t freebsd-zfs -s 3t ada0
ada0p2 added
# gpart add -t freebsd-zfs ada0
ada0p3 added
# gpart create -s GPT ada1
ada1 created
# gpart add -t freebsd-zfs ada1
ada1p1 added
# gpart create -s GPT ada2
ada2 created
# gpart add -t freebsd-zfs -s 5t ada2
ada2p1 added
# gpart add -t freebsd-zfs ada2
ada2p2 added
# zpool create HYBRID raidz /dev/ada0p1 /dev/ada1p1 /dev/ada2p1 mirror /dev/ada0p2 /dev/ada2p2
You can also create two separate ZFS pools like that: # zpool create RAID5 raidz /dev/ada0p1 /dev/ada1p1 /dev/ada2p1
# zpool create MIRRORED mirror /dev/ada0p2 /dev/ada2p2
The mdconfig.sh script is here:- https://github.com/vermaden/scripts/blob/master/mdconfig.sh
Hope that helps.
After all the 'stable' years with ZFS/OpenZFS I would just not trust 'some new hybrid RAID' implementation ... not to mention all the ZFS features like compression/deduplication/snapshots/clones/copies/bookmarks/send/recv/...
Regards.
Synology is perfect as a NAS. If you want NAS+ general server, you are better off separating the two.
Last time this came up: https://news.ycombinator.com/item?id=25621753
They release the source for any of the licensed components that they use that require source to be made available. Just like Apple does for OS X at https://opensource.apple.com/releases/
The fact that such downloads exist does not mean that the synology software is open source.
Anyone who says otherwise is lying or misinformed.