Thin compute-only VMs and storage delegated to NFS

sinister5665

New Member
Jan 18, 2023
1
0
1
I used to run just a Proxmox node with a 500GB HDD (so non-redundant storage) as the entirety of my homelab. All of my data was inside a Nextcloud VM with a 160GB VM disk.

I have a TrueNAS with RAID (the "storage" part) and a Proxmox node with just a 128GB NVMe boot drive (the "compute" part).

It seems to me that "separate storage from compute" typically means something like "keep VM images/backups on the NAS, and make them available to the Proxmox nodes over the network", while I'm thinking about making the VMs themselves compute only, and attaching the required storage via NFS (though I'll still back up the VM images to the NAS where the NFS originates)

Something like this:
1. For every TrueNAS dataset (documents, music etc.) create an NFS share
2. In Proxmox, create thin VMs whose underlying OS mounts one of the NFS shares, and runs some service that depends on the NFS data (e.g. mount music dataset NFS share and put a music server on the same VM)

Academically/conceptually speaking, this approach feels good, because a service inside the VM then is just a (mathematical) function which takes absolute data - `vm(data)` - and generates output in the form of some features on top of the data.

Whereas if I kept all my data in one large VM disk on the NAS, I'd (probably) have to duplicate the drive between many Proxmox nodes and so on.

The things that I'm worried about are portability and manageability: Despite Proxmox supporting adding NFS as storage, it seems like it's more geared at using it for storing VM images rather than allowing the entire share available to a VM/LXC . Perhaps I've missed it, but it seems like it's not possible to mount an NFS share as a virtual VM disk from the GUI. I know bind-mounting is possible for LXC by editing the VM config. The portability concern is that keeping the NFS mount manually in /etc/fstab could cause problems when moving VMs between nodes - rather than having the NFS configured in the Proxmox node, there's an extra requirement that the NAS local url (truenas.local) is resolvable from the network in the new node

Is this approach sane/correct/doesn't make greybeards' blood boil? Is this something that "people do"?
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!