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
| Type | Pros | Cons |
|---|---|---|
| LVM (thick) | Fast, simple, space reserved per VPS | No overcommit; full disk allocated at creation |
| Thin LVM | Allocates space as used; allows overcommit; fast snapshots | Must monitor pool usage – a full thin pool can corrupt VMs |
| File (qcow2/raw) | Flexible, easy to copy | Slower 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/md2For 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
- Go to Storage → Add Storage.
- Choose the server(s), give it a name and select the type: LVM, Thin LVM or File.
- Enter the path –
/dev/vg_vps, the thin pool, or a directory for files. - Set an overcommit limit for thin/file storage, if you allow it.
- 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,
vgsandlvs -ashow volume group and thin pool usage (Data%andMeta%). - Alert at 80% for thin pools – they must never reach 100%.
Expand storage
- Add disks, create a physical volume and extend the volume group:
vgextend vg_vps /dev/sdX. - For thin pools, extend the pool and its metadata:
lvextend -l +100%FREE vg_vps/vps_pool. - 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.
