I have a brand new machine running Proxmox VE 8.2.2 and I'm trying to prepare the storage before adding any VMs and LXCs.
I have 4 NVMEs:
First one is a 1TB with Proxmox itself setup on. I'm planning to use this to store ISOs, Templates etc. Basically things that are easily replaced by either downloading again or configuring again (IaC basically, I use Terraform and Ansible).
Then I have a 1TB WD Red that I'm going to use for caching and transcoding duties etc.
Finally I have two 1TBs setup as a ZFS mirrored pool. This was setup outside of Proxmox, so I now have to import it.
My plan is to run a media center (plex, jellyfin or emby) in an LXC and a Kubernetes cluster. For the Kubernetes cluster I'll start small with 3 VMs (1 master, 2 workers). Inside Kubernetes I'll run all my applications/services, including a Postgres cluster. *arrs, HomeAssistant, etc.
The content for media center is going to be stored on a couple of HDDs managed by mergerfs and snapraid (really "out of scope" for my questions).
The zfs pool currently has two datasets(?):
So the idea is to store things I quickly want to be able to recover and want higher degree of persistence on than content. VM disks, CT Volumes and database(s).
What should my thinking be for datasets?
Should I create a separate dataset for each VM and LXC?
When importing a dataset into Proxmox I can enable "thin provisioning". When is that a good idea? Specifically regarding for what I plan to store?
There's also a "block size" setting, what should I put there?
Sorry if these questions are trivial and/or dumb, but I'm new to both Proxmox and ZFS.
I have 4 NVMEs:
First one is a 1TB with Proxmox itself setup on. I'm planning to use this to store ISOs, Templates etc. Basically things that are easily replaced by either downloading again or configuring again (IaC basically, I use Terraform and Ansible).
Then I have a 1TB WD Red that I'm going to use for caching and transcoding duties etc.
Finally I have two 1TBs setup as a ZFS mirrored pool. This was setup outside of Proxmox, so I now have to import it.
My plan is to run a media center (plex, jellyfin or emby) in an LXC and a Kubernetes cluster. For the Kubernetes cluster I'll start small with 3 VMs (1 master, 2 workers). Inside Kubernetes I'll run all my applications/services, including a Postgres cluster. *arrs, HomeAssistant, etc.
The content for media center is going to be stored on a couple of HDDs managed by mergerfs and snapraid (really "out of scope" for my questions).
The zfs pool currently has two datasets(?):
Code:
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
persistent 2.16M 899G 96K /mnt/persistent
persistent/postgres 160K 899G 96K /mnt/postgres
So the idea is to store things I quickly want to be able to recover and want higher degree of persistence on than content. VM disks, CT Volumes and database(s).
What should my thinking be for datasets?
Should I create a separate dataset for each VM and LXC?
When importing a dataset into Proxmox I can enable "thin provisioning". When is that a good idea? Specifically regarding for what I plan to store?
There's also a "block size" setting, what should I put there?
Sorry if these questions are trivial and/or dumb, but I'm new to both Proxmox and ZFS.