this post was submitted on 13 Feb 2024
50 points (96.3% liked)

Selfhosted

40220 readers
1025 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hey again! I’ve progressed in my NAS project and I’ve chosen to go for a DIY NAS. I can’t wait for the parts to arrive!

Now I’m a bit struggling to choose an OS. I am starting with 2x10To HDD + 1To NVMe SSD. I plan to use 1 HDD for parity and to add more disks later.

I plan to use this server purely as a NAS because I will be getting a second more powerful server some time next year. But in the meantime, this NAS is a big upgrade over my rpi 4, so I will run some containers or VMs.

I don’t want to go with TrueNAS as I don’t want to use ZFS (my RAM is limited and I’m not sure I can add drives with different sizes). I’ve read btrfs is the second best for NAS, so I may use this.

Unraid seemed like the perfect fit. But the more I read about it, the more I wonder if I shouldn’t switch to Proxmox.

What I like about Unraid is the ability to add a disk without worrying about the size. I don’t care much about the applications Unraid provides and since docker-compose is not fully supported, I’m afraid I won’t be able to do things I could have done easily with a docker-compose.yml I also like that’s it’s easy to share a folder. What I don’t like about Unraid is the cache system and the mover. I understand why the system works this way but I’m not a fan.

I’ve asked myself if I needed instant parity for all my data and if I should put everything in the array.

The thing is that for some of my data I don’t care about parity. For instance, I’m good with only backing up my application data and to have parity for the backup. For my tv shows I don’t care about parity nor backup while I want both for my photos.

After some more research, I found mergerfs and snapraid. I feel that they are more flexible and fix the cache/mover issue from Unraid. Although I’m not sure if snapraid can run with only 2 disks.

If I go with Proxmox I think I would use OpenMediaVault to setup shares.

Is anyone using something like this? What are your recommendations?

Thanks!

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 9 months ago

Unraid is the absolute goat 🐐, been in production for years at my house and I’m debating deploying a second dedicated machine. 11/10 recommend.

[–] [email protected] 13 points 9 months ago (1 children)

Unraid "supports" docker compose. You can install and use it but you won't be able to utilize how unraid handles docker containers.

All that unraid does is make docker more accessible for the normal user. In the end the container template constructs a docker run command.

So you could use portainer to manage stacks through a webui or install compose and have to SSH into the unraid server all the time.

[–] [email protected] 2 points 9 months ago

Thanks I wasn’t sure if this was a possibility

[–] [email protected] 12 points 9 months ago* (last edited 9 months ago) (2 children)

https://xigmanas.com/xnaswp/download/

For a pure NAS purpose this is my go to. Serves drives, supports multiple file systems, and has a few extras like a basic web server and RSync built into a nice embedded system. The OS can run on a USB stick and manage the drives separately for the data.

On the ZFS front, a common misconception is that it eats a ton of RAM. What it does actually is use idle RAM for the 'arc' which caches the most frequent and/or most recently used files to avoid pulling them from disk. That RAM though will get dumped and made available to the system on demand though if for whatever reason the OS needs it. Idle RAM is wasted RAM so it's a nice thing to have available.

[–] [email protected] 4 points 9 months ago (1 children)

Indeed, ZFS uses a percentage of RAM for cache. That amount is configurable. ZFS has a easier CLI, I'd recommend it for a NAS. And, allow me to say that I am not sure the comparison is between truenas scale and proxmox really. This thread reminds me of the usual distro wars when people don't know about desktop environments (kde, gnome, xfce, etc.) as in: you can use ZFS in proxmox ;O

[–] [email protected] 0 points 9 months ago

I was comparing Proxmox and Unraid. I had ruled out TrueNAS because it only supports ZFS. I was wrong about the RAM for ZFS, but another issue is that it doesn’t support different disk sizes

[–] [email protected] 2 points 9 months ago (1 children)

Indeed, it wasn’t clear that it was how it worked. That seems better than the cache/mover system from Unraid.

Another point as to why I didn’t consider ZFS, is that it only works with disks having the same capacities. As I will be adding disks over time, I think I will be wasting disk space

[–] [email protected] 5 points 9 months ago* (last edited 9 months ago) (1 children)

The disk size also doesn't have to match. Creating a drive array for ZFS is a 2 phase thing:

Creating a series of 'vdev' which can be single disks or mirrored pairs,

Then you combine the vdevs into a 'zpool' regardless of their sizes and it all becomes one big pool, and it acts somewhere between raid and disk spanning where it reads and writes to all but once any given vdevs is full it just stops going there. I currently have vdevs sets in 12, 8, 6 and three 4 TB sizes for a total of 38 TB of space minus formatting loss.

Example how I have it laid out, it'd be ideal to have them all the same size to balance it better, but it's not required.

[–] [email protected] 2 points 9 months ago

Thanks, I’ll check ZFS again!

[–] [email protected] 11 points 9 months ago* (last edited 9 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
LTS Long Term Support software version
LXC Linux Containers
NAS Network-Attached Storage
RAID Redundant Array of Independent Disks for mass storage
SSD Solid State Drive mass storage
SSH Secure Shell for remote terminal access
ZFS Solaris/Linux filesystem focusing on data integrity

7 acronyms in this thread; the most compressed thread commented on today has 10 acronyms.

[Thread #510 for this sub, first seen 13th Feb 2024, 18:35] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 10 points 9 months ago* (last edited 9 months ago) (3 children)

Use Debian, no need for those over bloated systems. BTRFS as filesystem. Then setup LXD/Incus to run containers and VMs and you'll get a very Proxmox like experience without the bloat or the nagging to buy licenses.

Some people also like Cockpit which comes with a nice UI, has basic virtual machine management features and has a Samba plugin to manage users and shares.

[–] [email protected] 7 points 9 months ago (2 children)

I’m going to disagree with this. I’ve setup everything in one Debian server before and it became unwieldy to keep in check when you’re trying new things, because you can end up with all kinds of dependencies and leftover files from shit that you didn’t like.

I’m sure this can be avoided with forethought and more so if you’re experienced with Debian, but I’m going to assume that OP is not some guru and is also interested in trying new things, and that’s why he’s asked this question.

Proxmox is perfectly fine. For many years I had an OMV VM for my file server and another server for my containers. If you don’t like what you’ve done it is much easier to just remove one VM doing one thing and switch to some other solution.

[–] [email protected] 3 points 9 months ago (1 children)

I’m going to disagree with this. I’ve setup everything in one Debian server before and it became unwieldy to keep in check when you’re trying new things, because you can end up with all kinds of dependencies and leftover files from shit that you didn’t like.

Run your new things inside Docker OR LXD/Incus and destroy the containers/VMs when not required anymore. I don't get your comment.

Proxmox is perfectly fine. For many years I had an OMV VM for my file server and another server for my containers. If you don’t like what you’ve done it is much easier to just remove one VM doing one thing and switch to some other solution.

And you can use LXD/Incus for that as described. LXD replaces Proxmox the difference is that it isn't an entire OS with quirks but a simple thing you install on Debian. It will allow you to create, move, remove VMs and containers, and also has a WebUI for those interested. The irony here is that in your Proxmox setup, if you're using containers, you're already using LXC containers, a technology effectively created by the same people who made LXD.

But as I said, even if you don't want LXD/Incus you can also use Cockpit, it also provides a WebUI you can use to create and manage your VMs.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (2 children)

Look, I never said you were wrong man. Clearly you probably have a lot more experience than i do. Which is why I said what I said. Because I personally believe Proxmox is way easier for someone who is a casual like me. That’s all.

Edit: Also, though it doesn’t really matter, I don’t use LXC.

[–] [email protected] 9 points 9 months ago* (last edited 9 months ago) (1 children)

This dude has been aggressively pushing lxc/incus like he's paid to do it...

[–] [email protected] 1 points 9 months ago

Think about it, if I was payed at least I was pushing for something that is actually useful and decent. :P

[–] [email protected] 3 points 9 months ago

end up with all kinds of dependencies and leftover files from shit that you didn’t like.

I've been using debian for 10 years and never had this problem. Apt keeps everything very neat and tidy

Are you downloading random .deb packages off the internet and installing them manually?

[–] [email protected] 3 points 9 months ago (1 children)

I read a 2021 Ars Technica article on BTRFS and it was extensively critical, to put it mildly. Have things changed since then? I'm down with LXD or Incus but I don't know if that's the file system for me.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

People like to complain a lot about things that aren't particularly true. The default file system in Fedora and SUSE is BTRFS and I think that speaks volumes, besides others (including me) having been using BTRFS in production for serious stuff for years now. Even Synology is all up for BTRFS: https://www.synology.com/en-global/dsm/Btrfs

There are also advantages of using LXD/Incus with BTRFS, most likely taking advantage of the sub volume features and snapshots so VMs and containers run faster (each machine gets a sub volume that works like a classic partition and is better / faster than a simple folder with files). Snapshots are also a good feature as you can use them to backup and rollback your base system or the containers/VMs as well.

[–] [email protected] 2 points 9 months ago (1 children)

Don’t I need mergerfs and snapraid with BTRFS?

Also it’s not clear what LXD/Incus replaces? Is it Promox or Promox + OMV?

[–] [email protected] 9 points 9 months ago (1 children)

TrueNAS supports different drive sizes, in the same way other systems do, from what I've read.

[–] [email protected] 0 points 9 months ago

Oh ok I wasn’t sure about this. But I think TrueNAS only supports ZFS and this would be an issue on my system

[–] [email protected] 7 points 9 months ago* (last edited 9 months ago) (1 children)

Tried OpenMediaVault but found vanilla Debian on Proxmox is the easiest to troubleshoot. This guide helped me set it up. MergerFS works great with mismatched sizes of drives, and doing parity on media server content is a good use for SnapRAID.

[–] [email protected] 3 points 9 months ago (1 children)

Yes this is where I first heard of mergerfs/SnapRAID. But I didn’t realize this guide wasn’t using any software on top of Proxmox. I’ll read again, thanks!

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

One note which may not apply to you, I installed my Proxmox to boot from 2 256G SSDs as a basic RAID 1 mirror and only have the bare minimum data in VM storage to reduce size of backups. Backup retention on the boot drives is limited because a cron job on the VM handles copying backups to the MergerFS pool for longer term storage.

Moving docker's data directory to the 'slow' drives was a helpful decision, this post covers the old/wrong ways to do that and the way which worked (data-root). Docker data doesn't take up a huge amount of space, but it saved me some work recently when I found my media server had been down for a while and couldn't remember when it worked last to identify a working backup. I spun up a fresh Debian image and ran through the steps to reinstall the stack, and point to the same Docker data path. Running the same Docker compose command got most services working with the old metadata, though others i renamed/removed the service's path and reconfigured.

My docker-compose and its revisions are the extent of a backup I need for a piracy box as my internet is quick enough to recreate my library within a couple days if needed.

[–] [email protected] 4 points 9 months ago

While I personally use Unraid, something similar you can do is use MergerFS and SnapRAID. This will provide you with similar functionality to Unraid, where you can pool your drives together and create a parity disk. Open media vault has easy plugins for both SnapRAID and MergerFS.

[–] [email protected] 3 points 9 months ago (2 children)

I enjoy Ubuntu server. At the end of the day I just want something simple. I run most of my services in docker compose, and zfs for the filesystem.

[–] [email protected] 3 points 9 months ago (1 children)

@normalexit out of curiosity: Why not a plain debian? What are the benefits of Ubuntu server?

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

I use Ubuntu server as well and for me it mainly was that I was already familiar with the Ubuntu way of doing things. :D And Ubuntu Server has a few more convenience features like kernel livepatching. And I think the software on Ubuntu LTS is a bit less outdated than that on Debian stable

[–] [email protected] 1 points 9 months ago

How do you manage your shares?

[–] [email protected] 3 points 9 months ago (1 children)
[–] [email protected] 1 points 9 months ago

Yea I use debian for my server

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

Many good suggestions on here. I have Rockstor running on mine. When I built my NAS, it was the only OS that used BTRFS for the FS (and I really like BTRFS) so I went with it.

Edit: also I have it running in Proxmox as a VM.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

I’m personally running Ubuntu Server (but I’d recommend Debian), and manage my RAID with mdadm. That way I’ve got just a generic server, and I can install whatever I want.

Then for my share, I use my own WebDAV server, Nephele:

https://hub.docker.com/r/sciactive/nephele

It’s nice because it’s got a browser client that works in basically any browser. I’ve got that running behind Nginx Proxy Manager reverse proxy, so I can have a bunch of services on subdomains running on the same server.

Samba is faster than WebDAV when you’re dealing with a lot of files, but it doesn’t work with a browser, which is more important for me.

[–] [email protected] 0 points 9 months ago (1 children)

I just found out that Blue Iris is made for Windows, so I guess I'll be running BlueIris, NAS, and torrents back on windows, probably ltsc.

I know I could try a vm or other such, but I don't feel like fighting BlueIris preferences.

Blows my mind that a "security and privacy" system like BI isn't native to Linux.

[–] [email protected] 1 points 9 months ago (1 children)

If you're not running it in a grocery store switch to frigate. It's a little daunting at first but so much easier to maintain, especially with ai detection. And if you're using home assistant it's even better.

[–] [email protected] 1 points 9 months ago (1 children)

I'll have to take a look! Not heard of frigate, and thus far no, I'm not running Home Assistant.

[–] [email protected] 2 points 9 months ago

I thought about it, and the one thing blueiris really gives you is a stellar mobile app.