Best configuration for NAS, Plex, Blue Iris Machine

New to the forum; hello all. I’m looking to add storage space and NAS capabilities to my server PC. Right now my setup is as follows: Ryzen 5 2400g, Asrock b450 Steel Legend matx, Noctua NH-L12s, 16gb Corsair 3200, Seasonic Focus Gold 450w PSU, all in a Silverstone ML03 HTPC case. Win 10 on 500gb WD m.2, with WD Purple 4tb and WD Red 4tb for storage. Currently it is dedicated to Plex and Blue Iris duties. BI runs two 1080p 2MP cameras, recording on activation only. Plex typically runs 2-3 direct play streams, with occasional stream recording and single remote transcoding. I now know Intel would have been a better solution for both Plex and BI, but live and learn.

I want to incorporate >20tb NAS with redundancy capabilities to this system. Researching related forum topics has brought about many unfamiliar topics such as VMs, Linux, unraid, freenas, etc. I’ve built a couple of PCs and am comfortable with Windows 10, but virtualization, alternative OS, and RAID (hardware or software) are all foreign to me. With my current hardware specs (aside from case and HDD changes), what are my best options to accomplish this? Is virtualization necessary or better? Is a software solution better than hardware RAID? Thanks in advance.

I think unraid would probably do the trick for you as you can add drives easily whenever you need more space and it has apps for blue iris and plex or you could easily run a docker or vm for plex. You just run unraid off a usb so you could get some drives for storage use your old drives towards your storage goal and use your 500gb ssd as a cache drive. I would defiantly look into unraid if i was in your situation. Although remember unraid does cost money.

1 Like

In almost all cases, software RAID is better.

With hardware raid, if your controller dies, you might have issues getting the array detected on another controller (even of the same model). Whereas with software RAID, it would be just a matter of replacing the broken part and booting up again. You can even take the drives to an entirely different system, plug them in, mount and you are good to go.

Also, with some software raid (specifically RAID using BTRFS or ZFS), there is a decent amount of protection from bitrot, because they checksum your files, and if a drive loses something or lies, the filesystem can detect it and fix it with the other copy.

AFAIK Blue Iris is windows only right?

Linux and FreeBSD are better at software raid than windows is.

So presumably, you would want to run Linux on the bare metal, and then have a windows 10 virtual machine for blue iris.

Thanks for the input. I’ve been reading on this, but I’m still a little fuzzy on the details. I’ve read unraid has to boot off a flash drive So I can run Plex on unraid, all off a flash drive, and then a windows 10 vm inside that? If that’s the case, that’s simply amazing. How does the hardware work with accessing widows on a separate drive from the unraid os? Sorry for my ignorance, I’m having a hard time wrapping my brain around this. And again, I have no experience with vm or Linux. So if I’m way off base please ELI5. Thanks, again.

Kind of.

Unraid itself boots off of the flash drive, but it needs HDDs and/or SSD for the actual data storage. So for Plex on unraid, you would have the storage for plex on your internal disks. And for any VMs, the storage for virtual disk image again is stored on your HDDs/SSDs.

I don’t quite understand what you are asking here.

Everyone has to start somewhere. The best thing is just to do a search on any keywords you don’t understand, which basically does lead to endless rabbit holes, but that’s not necessarily a bad thing.

I don’t really have a great set of resources for learning about VMs, most of the stuff I have bookmarked is specific areas, not a general introduction.

This video is still pretty applicable, minus the stuff about seamless mode. It does use virtualbox, not KVM/QEMU (which is what unRAID uses), but the concepts are the same.

1 Like

Virtualization 101:

Unraid (it’s using Linux/KVM underneath) will reserve some ram, let’s 8G. It’ll copy a “fake?” UEFI in there, and it’ll run it. KVM (using something called QEMU and virtio) will emulate hardware, so when uefi looks for disks, it’ll get a file or one /two/three partitions or even something that might be ona
network somewhere, or it might compute the contents and substitute it in reply, the guest OS e.g. windows will think and act like it’s talking to real hardware. In reality, software on the host/unraid/kvm/qemu will be processing and translating what the windows/guest os drivers are asking for.

On a real machine, normally, os drivers will normally talk to hardware using memory mapped io. Your GPU will say to your CPU: “Hi, I am a piece of ram between addresss 171TB - 171TB+5GB” and the os drivers running on a cpu will poke/prod/read/write at this memory to get the GPU to do things. Virtualization relies on configuring the cpu to intercept these “fake/not memory” reads and writes, and substitute your own data in there, or process what was written in some other way, that’s what KVM does.

Turns out, these poking and prodding patterns of behavior that work well for software talking to hardware and keep hardware simple, are not the most efficient for letting one piece of software talk to another piece of software. That’s where virtio comes in. The hardware that’s emulated will be of particular virtio brand and model, and the guest os will load a driver for virtio, and it’ll do the network/disk/… poking and prodding a lot more efficiently.

Turns out, sometimes you want to use actual real hardware from your VM directly, with real drivers, and don’t want to translate anything into something it’s not and don’t want to lose any speed either, like your GPU where you want to game on. Well, turns out that much like your CPU pokes/prods at the GPU using fake ram, your GPU will typically poke/prod at real ram to talk to the system. Your GPU needs to think that a piece of ram you’ve reserved for one of your VMs is all the ram there is on that machine, that’s what iommu/vfio do, they setup the memory controller that the GPU would talk to, to translate/map/rewrite/redirect addresses between your pcie cards and actual system ram.

That’s roughly it. You can carve as many pieces of 8GB as you want, run software in there, it’ll think it’s talking to real hardware that can be backed by software, or can be backed by actual real pieces of hardware that can be configured to only see that small piece of the system.


A small part of unraid let’s you deal with setting these things up using a webui in a clicky-clicky way.

In practice, for blue iris you’d use something like remote desktop to reach the windows running in a VM over a real network to unraid machine+emulated network to the VM. That windows would see a single very large disk, that disk would be emulated by some Linux software that unraid will setup for you and you’ll get your reliability and performance and it’ll be backed by actual physical disks. You can carve out more of your virtual disks, for more VMs, or you can resize (increase) existing ones.

2 Likes