Hi, I’m planning a home server upgrade and at the same time I hope I can make things easier to maintain or at least not the opposite.
I’m currently using an old Core2 Duo E6700 machine to serve Nextcloud, Home-Assistant, Emby etc. Pretty light usage. I’m using mostly Nextcloud and emby to access my files. I would like to have more traditional NAS functionality like network shares in addition to the Nextcloud sync and Emby. Also would like to have some redundancy for the storage.
This gets me thinking if I should have a separate NAS in addition to the server and then have Nextcloud and Emby access it. A separate NAS would be great from the maintenance point of view but I don’t see those as very attractive otherwise. Also, would it be very inefficient if Nextcloud would serve files from an external NAS over a 1GB network connection?
The other way, i guess would be to have the NAS and other services run on the same server. To ease the maintenance I would like to virtualize and containerize these services as much as I can. Maybe using proxmox. But if I run a virtualized instance of TrueNas and Nextcloud in a container for example, would I be introducing the same bottleneck between the storage and the service? Maybe I could run the storage directly from the VM host, but would it be any better?
I was planning to use an old i7-3770K machine for the “new” server build, but now I’m a bit unsure if I would need more cores for doing VMs?
- Is it inefficient to serve files from an external NAS?
- Would running the NAS and services on the same machine virtualized or not, solve the bottleneck?
- Do I need many cores to run services in VMs?
Thanks in advance for any ideas and happy new year!
Local storage is always faster. Virtualized TrueNAS needs drive/controller passthrough to work properly, so you will rely on your network to get that data. I’m personally running 10Gbit networking, so all works fine and well.
Certainly. Best would be a NAS system that can run all your services as a VM/container. TrueNAS being FreeBSD is a bit limited on what kind of VMs/containers you can run, but offers very good plugins (pre-made containers maintained by either iX Systems or the Community)
I personally used the Nextcloud plugin myself and it was rather easy to set up. I just check for Emby on my NAS and there is a plugin available for Emby but I don’t have any experience with it myself. If that’s all you need, I wouldn’t bother with an additional hypervisor that complicates things.
You know your CPU load the best, that won’t change much when virtualized properly. What additional load comes with a NAS isn’t really much either.
But if using ZFS (e.g. TrueNAS) there is some noticeable CPU usage for file system compression, but if you stick to lz4 I wouldn’t worry. That old Ivy Bridge i7 has both Hyperthreading and VT-x, so perfectly viable unless you expand your needs with more demanding loads. Even commercial NAS servers have minimal CPU fitted. Memory is more important here, the more the better.
- Backup your stuff! If migrating to ZFS, drives will be formatted. Otherwise TrueNAS is really great at detecting wierd old ZFS pools at boot and during operation.
- Get TrueNAS Core ISO
- Install and check if hardware works
- See if you like the functionality and UI
- Check if Nextcloud+Emby plugins work for you
From what you told us, plain simple TrueNAS or Unraid or any other modern NAS OS will work just fine. The rest is a matter of taste.
Don’t forget TrueNAS Scale is nearing full release and is likely very usable already.
It is Debian based (IIRC) and comes with a Kubernetes based container system with Docker support.
It has some official containers and already has a big unofficial (but seemingly endorsed by ixsystems) repo called TrueCharts that has a ton of containers.
TrueCharts already has Emby, Nextcloud and Home-Assistant apps in the stable repo.
My answer for the topic:
If you aren’t doing a real heavy workload, using a combined NAS solution is the best.
- Local storage will always be faster than network storage.
- Running them all on the same machine would likely work well as long as you aren’t running some heavy duty stuff. As-in you aren’t running any services that could eat up the entire CPU and make it so you aren’t able to use the share
- I don’t have a good answer for the last one outside of more cores makes running more things at once easier in general but you won’t necessarily be bogged down. Try and see how it runs before worrying about upgrading to something with more cores.
Thanks for the suggestions.
It seems that the separate NAS doesn’t make sense. I think it would only make sense if I could separate the NAS as an appliance and that doesn’t seem to be feasible. I also don’t like the idea of running a NAS OS as the host and running applications using plugins. I’d like to have the VM / container layer as generic as possible. So, proxmox or maybe even just some plain linux as the host. Then everything else in containers and VMs.
Also ZFS seems a bit too complex for my taste, so that rules TrueNAS out. I’ll need to study other options like snapraid first.
I think I’ll have to play with proxmox a little and see how I can setup the storage. Also I need to test drive the old hw, maybe max out the ram with some second hand DDR3. Max seems to be only 32GB though and I already have 16GB… Then again this is a lot more than the current Core2 Duo server has.