Hi,
I'm planing the installation of a new proxmox instance, and I'm thinking about the storage model to follow.
In my case, I will have a 2x Samsung SSD 860 PRO 250Gb disks on mirror mode for proxmox boot, then I'll create a ZFS pool of mirrors (raid10) for storing data.
My initial idea was to create the ZFS pool (say "zfsa") with thin provisioning, then the following datasets:
zfsa/vm
zfsa/iso
zfsa/backup
Their names reflect their contents . The idea would be to better organize data and for instance to be able to replicate the "zfsa/vm" datasource to a remote zfs, but not the other datasources.
I found some information online regarding setting a dataset to store VMs vs storing the VMs directly on the zfs pool, but the advantages/disadvantages are not clear (assuming there are any).
I also did some testing, and found that for instance, a vm disk "vm-100-disk-0" on the pool, when moved to a dataset, it will give the option for "raw" or "qcow2" (for instance), and selecting any of them will move the vm disk to the storage and add the appropriate file extension ".raw" or ".qcow2". That did allow me to understand the mechanics of it, but gave me no headlights about the best solution.
So I ended up with some questions, that I'm hopping to clarify on this forum what would be the best option, or best practice (if we can say so) for dealing with a zfs storage.
1. Storing the vm disks directly on a zfs pool will always be raw?
2. Is there any advantage of putting the vm on the pool instead of a specific dataset?
3. Are there any performance penalties I shoud consider when putting vm data on zfs pool, vs dataset, and even between formats (raw, qcow2, ...)?
4. Is there any problem on either approach for storing vm disks if zfs storage is set as thin provisioning?
5. Or should I just use the zfs pool, and store iso and backup data somewhere else?
Thank you.
Best Regards.
zecas
I'm planing the installation of a new proxmox instance, and I'm thinking about the storage model to follow.
In my case, I will have a 2x Samsung SSD 860 PRO 250Gb disks on mirror mode for proxmox boot, then I'll create a ZFS pool of mirrors (raid10) for storing data.
My initial idea was to create the ZFS pool (say "zfsa") with thin provisioning, then the following datasets:
zfsa/vm
zfsa/iso
zfsa/backup
Their names reflect their contents . The idea would be to better organize data and for instance to be able to replicate the "zfsa/vm" datasource to a remote zfs, but not the other datasources.
I found some information online regarding setting a dataset to store VMs vs storing the VMs directly on the zfs pool, but the advantages/disadvantages are not clear (assuming there are any).
I also did some testing, and found that for instance, a vm disk "vm-100-disk-0" on the pool, when moved to a dataset, it will give the option for "raw" or "qcow2" (for instance), and selecting any of them will move the vm disk to the storage and add the appropriate file extension ".raw" or ".qcow2". That did allow me to understand the mechanics of it, but gave me no headlights about the best solution.
So I ended up with some questions, that I'm hopping to clarify on this forum what would be the best option, or best practice (if we can say so) for dealing with a zfs storage.
1. Storing the vm disks directly on a zfs pool will always be raw?
2. Is there any advantage of putting the vm on the pool instead of a specific dataset?
3. Are there any performance penalties I shoud consider when putting vm data on zfs pool, vs dataset, and even between formats (raw, qcow2, ...)?
4. Is there any problem on either approach for storing vm disks if zfs storage is set as thin provisioning?
5. Or should I just use the zfs pool, and store iso and backup data somewhere else?
Thank you.
Best Regards.
zecas