Hi I need some help with Proxmox. If you can please redirect me to useful ressources (I read the official Doku but it didn’t really help)
I am having problem understanding the different types of storages and how to access them in a vm for example. Example words are:
- ZFS, ISCI, LVM, LVM-thin…
- Bus Controller (Virtio SCSI, IDE,… )
I feel like these are basic topics but I don’t seem to understand anything. My latest problem was me trying to pass a third of an ssd (1TB) an another 128 GB from another ssd. I wanted to use the small volume as boot and the big volume as slow storage in a Windows vm but I got an error message about a bus beeing used multiple times. [sorry I don’t have the config anymore]
So if someone could redirect me to sth which would help me understand the whole storage virtualization and storage config for vms topic, I would be very grateful.
Thank you in advanced kind stranger.
Sounds like you’re conflating terms a bit. The example storage volumes you gave sounds like ProxMox volumes, but then you switched to VM volumes in your example.
The hypervisor (ProxMox) has storage volumes that are used for multiple things; these are sometimes called Datastores. One will be for the local ProxMox OS, another might be for sending logs to, and lastly you’ll have one for VM storage. The VM Storage volume(s) are where your virtual machine files live, to include any virtual disks you provision.
The storage type for the volume you create in ProxMox will dictate what you can and can’t do with VM disks in that storage. They provide a list here: https://pve.proxmox.com/wiki/Storage
Pay attention to things like if you can take a live VM snapshots and such.
Getting back to your original issue, it sounds like you tried to create multiple VM disks using the same bus channel (i.e. SCSI0 or IDE0). You have to specify a different channel for each disk. First disk is channel 0, next is 1, etc.
Assuming you configure a datastore for each storage class (slow spinny, fast ssd, super fast flash), you would then configure a virtual disk for the VM backed by each respective datastore depending on the storage class you want. Let’s assume you’re using you’re the SCSI storage driver, disk 0 is your boot drive, and you want that on datastore0 which super fast NVMe, disk 1 is your general OS drive and you want that on datastore1 which is fast ssd, and disk 2 is your data drive and you want that on slow hdd. You’d configure your disks similar to the following: Disk0 SCSI0 Datastore0
Disk1 SCSI1 Datastore1
Disk2 SCSI2 Datastore2
Lastly, if you’re wondering what storage driver to use, it comes down to performance and compatibility of your VM. IDE is slowest but has good compatibility with pretty much everything, although I’ve heard rumors that newer systems may be dropping support for IDE
SCSI is usually a good happy medium but has compatibility issues with older legacy systems
VirtIO is generally supposed be fastest, but has more compatibility with a wider range of “older” systems
Compatibility issues for each can/may be resolved with the right drivers, but then you might need to custom build your boot image to support them, especially in Windows.
There’s an older post in the forum that goes over the differences that should still be relevant here: https://forum.proxmox.com/threads/differences-between-ide-virtio-scsi.8356/
I’ve only been using ProxMox for a couple years in my homelab, and mostly use VMware so I may have crossed the terms a bit, but hopefully this gives you the gist. I hope I understood your question/issue and that this helps.
This is a terrific answer.