Virtualizor

Plan and manage storage for Virtualizor KVM (LVM, thin, file)

Choose between LVM, thin LVM and file-based storage in Virtualizor, add storage pools to nodes, set overcommit limits, monitor free space and expand storage safely.

AdvancedVirtualizor admin2 min read

Storage decides how fast customer VPS disks are, how much you can sell, and how painful it is when space runs out. Virtualizor supports several storage types for KVM. Choosing the right one up front saves migrations later.

Before you start

  • Virtualizor admin access and root on the nodes.
  • Your disks set up with RAID (hardware or mdadm) – Virtualizor does not replace redundancy.

Storage types

TypeProsCons
LVM (thick)Fast, simple, space reserved per VPSNo overcommit; full disk allocated at creation
Thin LVMAllocates space as used; allows overcommit; fast snapshotsMust monitor pool usage – a full thin pool can corrupt VMs
File (qcow2/raw)Flexible, easy to copySlower than LVM for I/O-heavy workloads

For most VPS hosting, thick LVM on NVMe/SSD RAID is the safest; thin LVM suits providers who actively monitor usage.

Prepare a volume group

pvcreate /dev/md2 && vgcreate vg_vps /dev/md2

For thin provisioning, create a thin pool inside it, for example lvcreate -l 95%FREE --thinpool vps_pool vg_vps, leaving some free space for metadata growth.

Add storage in Virtualizor

  1. Go to Storage → Add Storage.
  2. Choose the server(s), give it a name and select the type: LVM, Thin LVM or File.
  3. Enter the path – /dev/vg_vps, the thin pool, or a directory for files.
  4. Set an overcommit limit for thin/file storage, if you allow it.
  5. Mark it Primary if new VPS should use it by default, and save.

Plans can target a specific storage, so you can offer "NVMe" and "HDD storage" plans on different pools; see plans.

Monitor free space

  • The admin dashboard and Storage → List Storage show used and free space per pool.
  • On nodes, vgs and lvs -a show volume group and thin pool usage (Data% and Meta%).
  • Alert at 80% for thin pools – they must never reach 100%.

Expand storage

  1. Add disks, create a physical volume and extend the volume group: vgextend vg_vps /dev/sdX.
  2. For thin pools, extend the pool and its metadata: lvextend -l +100%FREE vg_vps/vps_pool.
  3. Virtualizor sees the new capacity automatically after its next storage refresh.

Troubleshooting

  • VPS creation fails: not enough space: pool full or overcommit limit reached.
  • Thin pool full, VMs paused or read-only: extend the pool immediately, then check file systems inside affected VMs.
  • Slow disks: check RAID health and I/O per VM; consider moving heavy users to separate storage.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.