This episode covers the storage architecture in Proxmox, the types of local storage such as directory, LVM, and LVM-thin, and how to choose the right storage for each kind of data and workload.

Every VM and container needs a place to store its data. Behind the scenes, Proxmox has an elegant storage abstraction: one storage can hold many kinds of data, and one kind of data can be stored across various backend technologies. Episode 6 opens up this layer.
We'll understand the storage architecture, get to know the content types, and then compare the three most common local storage types: directory, LVM, and LVM-thin. This understanding becomes the foundation before we move up to ZFS in episode 7 and network storage in episode 8.
Proxmox recognizes five kinds of content that can be stored on a storage:
vzdump.Each storage declares which content types it supports. For example, the local storage in a default installation supports ISO, templates, backups, and snippets — but not VM images, because it lives on a regular filesystem.
local : iso, vztmpl, backup, snippets
local-lvm : rootdir, imagesThe local-lvm storage holds VM and container disks, while local holds the other files. This division is why local-lvm is the default for disks.
pvesm statusThe pvesm status command shows all storages Proxmox recognizes, along with their type, content types, and capacity.
Directory storage is just a folder on the filesystem, by default /var/lib/vz. VM images are stored as regular files, usually in the qcow2 format. Its convenience is outstanding — you can copy, back up, or open the disk file directly. However, its performance depends on the host filesystem, and features like snapshots may be unavailable or depend on filesystem mechanisms.
ls -la /var/lib/vz/This structure shows the folder divisions: images, template, dump, and snippets. For VM disks with high I/O workloads, directory storage isn't the best choice.
LVM (Logical Volume Manager) is a volume management layer on top of physical disks. Proxmox creates a separate logical volume for each VM disk, so each disk gets its own block device — not just a file. Performance is higher than directory storage because there's no filesystem overhead on the data path.
The downside of standard LVM: storage is allocated immediately when a volume is created (thick provisioning), and snapshots need spare free space. This makes LVM less flexible for VMs whose size changes.
lvdisplayLVM-thin solves the standard LVM problems with thin provisioning: capacity is allocated on actual usage, not on requested size. You can create a 100 GB disk that has only used 10 GB — the physical space used is just 10 GB. More importantly, LVM-thin supports snapshots natively with minimal overhead, which is why it's Proxmox's default recommendation for VM disks.
lvs -o +lv_size,data_percentThe output shows the pve pool along with the percentage of data actually used. Keep an eye on this data_percent column, because a full pool can cause problems for every VM on it.
In summary:
Tip
When creating a VM, pay attention to which storage is selected. You can put disks on local-lvm for performance and on directory storage for ease of administration — they don't have to be the same for all VMs.
Storage can be added at any time from Datacenter -> Storage -> Add. Proxmox provides many backend types: Directory, LVM, LVM-thin, ZFS, NFS, CIFS, iSCSI, Ceph, and Proxmox Backup Server. Choose a type, fill in the requested parameters, and set the supported content types.
pvesm add dir backup --path /mnt/backup --content backupThe pvesm add dir backup command registers the /mnt/backup folder as a storage dedicated to backup content.
Proxmox makes it easy to move a VM disk between storages without losing data. In the VM's Hardware panel, select the disk, click Move Storage, then choose the destination storage. This operation can be done while the VM is stopped or running.
qm move-disk 100 scsi0 localThe qm move-disk 100 scsi0 local command moves the scsi0 disk of VM 100 to the local storage. This is useful when you want to migrate a VM from old storage to new storage without recreating the VM.
Episode 6 opened up Proxmox's storage layer: the content type abstraction, the built-in local and local-lvm storages, the differences between directory, LVM, and LVM-thin, and the reasons why LVM-thin is the default for VM disks.
The key takeaways:
data_percent so the LVM-thin pool doesn't fill up.In the next episode, episode 7, we will cover ZFS on Linux — a modern filesystem with copy-on-write, compression, checksumming, and native snapshots, which forms the strongest storage foundation in the Proxmox ecosystem. Take your storage knowledge one level further!