Importing ZFS pool and dataset configuration

BeyondEvil

New Member
Jan 10, 2024
13
1
3
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(?):

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.
 
Since I use sanoid and Syncoid, my zfs datasets are defined based on how I want backup to be packaged = restored (if needed).
I don’t change block size.
Thin provisioning I believe only applies to Zvol, (block storage often used with iSCSI) which I don’t use.
 
Since I use sanoid and Syncoid, my zfs datasets are defined based on how I want backup to be packaged = restored (if needed).
I don’t change block size.
Thin provisioning I believe only applies to Zvol, (block storage often used with iSCSI) which I don’t use.
Sanoid or Syncoid are new to me.

So I can put "everything" into one dataset (if I want everything backed up)? Any downsides to that?

So if I don't input anything into the "block size" field, it will use whatever the pool or dataset was created with?
 
Btw, I personally switched back to Proxmox OS being EXT4 for performance reasons. Not ZFS for os. But my backup of VMs I put on several disks including other mounted NVME with ZFS and a couple of data sets.
 
Aah ok, if unsure, with cli create a new data set or pool, put some files on it and then mount in gui. I don’t allow the gui to mount my Persistent core backup. Only less important pool/dataset go straight into Proxmox gui. Only Syncoid and command line use for my true persistent backup. (Sometimes a have hard shutdowns of Proxmox…)
 
Aah ok, if unsure, with cli create a new data set or pool, put some files on it and then mount in gui. I don’t allow the gui to mount my Persistent core backup. Only less important pool/dataset go straight into Proxmox gui. Only Syncoid and command line use for my true persistent backup. (Sometimes a have hard shutdowns of Proxmox…)
The Proxmox OS is not on ZFS, it's on the first disk (xfs or ext4, can't remember).

But if it's not in Proxmox, I can't create a Directory, meaning I can't use it for VM disks etc?
 
Correct if that is what you want.
For performance and wear reasons I don’t put running VMs onto and on top of ZFS.
 

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!