[SOLVED] Which is better for performance and reliability?

Itay1778

Member
Apr 23, 2021
40
4
8
21
Hi, so because of what's happening to me (described here) I'll probably have to give up passing the disk to VM... (if anyone has a solution for this, it would be best)

So I thought of just using an SSD through the host (as usual) and not pass it to a VM. The question is what to use?
LVM
or
ZFS
Must note that I do not have a free RAM at all... passing everything to the VMs.
I know ZFS because I use it in my NAS, so I know its reliability and I also know that it uses a LOT of RAM... so still use it even though I have almost no RAM (I have on the host left about 1.5GB maybe 2GB of RAM)?
Because one way or another it will be in RAID/Z 0, only this disk for reasons of budget and reasons of physical space (not recommended at all but if I would pass the disk to VM it would be without redundancy anyway)
Then basically create a disk-sized image file for the VM and then use it in the VM

So in order to achieve the highest speed of this disk and reliability of the file-system etc.
Which of the two to use?

Hope I was understood
Thanks
Itay
 
ZFS is slower and needs alot of RAM (4GB + 1GB per 1TB of raw storage) but would be more robust. But without a raid you would still loose the self-healing ability. It can detect corruptions but can't repair them. I always would atleast use a mirror (Raid1) if using ZFS. And ECC RAM + enterprise grade SSDs would be highly recommended too.

If you got no available RAM and only a consumer SSD it would be better to just use LVM and create backups more often and keep them longer.
 
ZFS is slower and needs alot of RAM (4GB + 1GB per 1TB of raw storage) but would be more robust. But without a raid you would still loose the self-healing ability. It can detect corruptions but can't repair them. I always would atleast use a mirror (Raid1) if using ZFS. And ECC RAM + enterprise grade SSDs would be highly recommended too.

If you got no available RAM and only a consumer SSD it would be better to just use LVM and create backups more often and keep them longer.
Thanks for the comment.
I had a feeling that in my case LVM would be better.
So thesis's probably what I'll do if I'm unable to pass the disk directly to the VM.

Just another little question:
In relative to passing the disk directly to the VM and use the LVM then image as a disk, how much performance am I losing if at all?
 
Thanks for the comment.
I had a feeling that in my case LVM would be better.
So thesis's probably what I'll do if I'm unable to pass the disk directly to the VM.

Just another little question:
In relative to passing the disk directly to the VM and use the LVM then image as a disk, how much performance am I losing if at all?
There shouldn't be a any big difference to before. If you "passthrough" just a single disk you are using "qm set" to do it and that isn't a real passthrough. It is still virtualized by virtio just like using a virtual disk so you get the same virtualization overhead and write amplification.
If you want a real passthrough, where the VM can directly and physically access the drive, so there is no overhead, you would need to PCI passthrough the complete storage controller with all drives attached to it to the VM.
 
Last edited:
There shouldn't be a any big difference to before. If you "passthrough" just a single disk you are using "qm set" to do it and that isn't a real passthrough. It is still virtualized by virtio just like using a virtual disk so you get the same virtualization overhead and write amplification.
If you want a real passthrough, where the VM can directly and physically access the drive, so there is no overhead, you would need to PCI passthrough the complete storage controller with all drives attached to it to the VM.
Okay, great so I should expect the same performance. Thankfully I have almost one to one performance from bare metal so I get almost all the performance from the SSD.

I know if I want real passthrough I need to do PCI passthrough
But the Proxmox disk is also in this controller so this is not exactly possible.

M.2 PCi NVME will probably appear to me as a PCI device and then I can pass it in without taking with it the usual storage controller right? Or at least it should be like that... I think....
 
That also depends if the M.2 slot is internally connected to the CPU or the chipset. If it is connected to the chipset it might share a group with other stuff handled by the chipset (like USB, SATA, NIC and so on) and you can't pass it through without also passing through other devices of the same group.
 
That also depends if the M.2 slot is internally connected to the CPU or the chipset. If it is connected to the chipset it might share a group with other stuff handled by the chipset (like USB, SATA, NIC and so on) and you can't pass it through without also passing through other devices of the same group.
Ok thank you. Tomorrow I will probably buy the M.2 SSD so I will know if it will be possible.
Thanks for all the help
 

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!