Hello
I am in the planning steps to migrate my current homeserver setup into something more modern now that the hardware is passing a decade in service.
What do I have today
I have two machines. A NAS running TrueNAS Core and a box running Ubuntu Server. The linux box has slowly taken over more and more tasks from the TrueNas box so today it is more of a pure NAS + backup target for the Ubuntu box and two TrueNAS systems belonging to/located at family/friends houses. The Ubuntu box run these services
- Nextcloud (Bare metal)
- Homeassistant (Docker)
- A personal Website (Bare metal)
- Vaultwarden (Docker)
- A gitlab instance (Docker)
- LMS (Docker)
- Plex (Bare metal)
- Unifi Network Application (Docker)
- Some misc thing to play around with (Mostly docker)
What do I want to achieve
- I want to consolidate the two boxes into one to save power and complexity.
- I want to migrate away from TrueNAS Core as it is being de-prioritized as a solution to host applications. God knows what happens with it long term
- I want to get a more performant setup
- I want to increase reliability
Requirements
- I need a âcompatibleâ ZFS replication target for remote TrueNAS hosts. Dad need to be able to setup replication jobs in the TrueNAS GUI (he is going the be migrated to TrueNAS Scale)
- I want to keep the principle âdata is in ZFS datasets, accessible on file levelâ that TrueNAS core had with Jails. I like the separation between data and application
- I need to be able to host VMs (Homeassistant and Nextcloud at a minimum, probably more)
- I need to be able to host my Docker containers. These have their data on ZFS datasets
- The ZFS setup will be 2 pools. One âspeedyâ NVMe pool and a âslowâ HDD pool for bulk storage and backups from the NVMe pool
- Be able to replicate backups of the slow ZFS pool to a remote TrueNAS systems.
- Maybe in the future throw a GPU in to accelerate what can be GPU accelerated
- Good enough performance. I do not have a datacenter and nobody is paying for what I host. But I would like that the upgrade to NVMe is an âupgradeâ over the spinning rust I have today
Now to what I need help with.
I am trying to understand what I should do to achieve this. I think I want to use Proxmox. Where I have trouble is understanding how to string everything together without completely tanking performance or grow even more grey hairs. My understanding is that my options are
1 - Proxmox handle everything
This seems easy to setup. But I understand that my options for how to manage storage are a bit limited. I either use VMs with mounted virtual disks for storage but then loose having file level access on my ZFS snapshots. Or I can use containers and mount datasets directly, so kind of like the jails I am used to(?). How to get remote replication target for the other TrueNAS systems working is a bit unclear, same goes for pushing my replication jobs to a remote system (Sanoid should work with an unknown amount of headache as I understand it)
2 - Proxmox but passthrough and let a TrueNAS VM manage disks
This would allow me to use TrueNAS basically as I am doing today, just virtualized. But here I do not completely understand how to share datasets with the VMs/containers in Proxmox. NFS shares? But how is that in terms of performance/ease of use? Something else much more elegant? And are there other caveats in general?
3 - Proxmox but not as I think
Option 3 is Proxmox but I am utterly wrong about how to use it
4 - Something completely different
Option 4 is that I am wrong about Proxmox and should use something else
Thank you for your help
Edit: Fixed messed up formatting