Hi everyone,
I am publishing BASTRIX SharedLVM, a free and open-source community storage
plugin for Proxmox VE 9.
The project provides two explicitly selectable allocation modes over an
existing dedicated shared LVM volume_STA group:
• Thin
One LVM-thin pool per VM, providing space-efficient allocation, snapshots,
rollback and guarded autogrow.
• Thick Generations
Fully allocated VM disks with independent, fully materialized snapshot
generations and deterministic physical-space reservation.
Both modes are included in the same Debian package. They can be configured as
separate Proxmox storage IDs over the same pinned shared VG and used side by
side. An ordinary Proxmox Storage Move can convert a disk from Thin to Thick
Generations or in the opposite direction.
Thick Generations uses persistent dm-clone only as a temporary transition
mechanism during snapshot and rollback materialization. Once materialization
finishes, the active disk and every retained snapshot are independent ordinary
linear LVs. There is no permanent snapshot or backing-volume chain in the
steady-state guest data path.
RC5.4 TG12 has been qualified on the Proxmox VE 9.2.x release line with Storage
API 14 and 15. Qualification included:
• Thin and Thick allocation, snapshot, rollback, resize and deletion;
• cross-node reconstruction and live migration;
• Thin-to-Thick and Thick-to-Thin Storage Move with block-hash verification;
• native Proxmox backup and cross-mode restore;
• Veeam HotAdd backup of Thin, Thick and mixed guests;
• supported-console Veeam restores to Thin, Thick and mixed layouts;
• two-node and three-node quorum and fail-closed behavior;
• installation and reinstallation across a three-node API 14/15 cluster;
• crash and partial-transaction recovery testing;
• a clean four-hour dual-mode endurance run;
• 156 Python tests and 236 Perl tests;
• reproducible Debian package builds.
The design remains deliberately safety-focused:
• storage identity, ownership, quorum and cluster locking are positively
verified before mutation;
• missing storage is treated as UNAVAILABLE, never as empty;
• foreign, legacy, unknown or ambiguous objects are not adopted or deleted;
• partial failures preserve data rather than attempting speculative cleanup;
• unknown block devices are never initialized automatically;
• the plugin performs no automatic metadata repair.
The plugin does not configure SAN connectivity, multipath, fencing or quorum.
It does not replace the storage array's availability and data-protection
mechanisms. Existing guest I/O during complete path loss remains governed by
QEMU, device-mapper, multipath and the underlying SAN.
RC5.4 TG12 is still a pre-release. It should first be validated on disposable
storage matching the intended production SAN, HBA, firmware, multipath and
failure policies. Multipathed iSCSI and a virtual Linux FCoE laboratory target
were exercised; representative physical enterprise FC hardware was not
available and is therefore not claimed as qualified.
GitHub:
https://github.com/delltech1/proxmox-sharedlvmthin
RC5.4 TG12 release and DEB:
https://github.com/delltech1/proxmox-sharedlvmthin/releases/tag/v0.9.0-rc5.4-tg12
Allocation modes:
https://github.com/delltech1/proxmo...k-generations/docs/allocationocation-modes.md
Installation guide:
https://github.com/delltech1/proxmo...mental/thick-generations/docs/installation.md
Feedback, reproducible issue reports, GitHub Stars and anonymized compatibility
results for Proxmox VE, SAN arrays, HBAs, multipath configurations and firmware
versions are very welcome.
Please do not include credentials, private IP addresses, WWIDs or other
sensitive infrastructure identifiers in public reports.
I am publishing BASTRIX SharedLVM, a free and open-source community storage
plugin for Proxmox VE 9.
The project provides two explicitly selectable allocation modes over an
existing dedicated shared LVM volume_STA group:
• Thin
One LVM-thin pool per VM, providing space-efficient allocation, snapshots,
rollback and guarded autogrow.
• Thick Generations
Fully allocated VM disks with independent, fully materialized snapshot
generations and deterministic physical-space reservation.
Both modes are included in the same Debian package. They can be configured as
separate Proxmox storage IDs over the same pinned shared VG and used side by
side. An ordinary Proxmox Storage Move can convert a disk from Thin to Thick
Generations or in the opposite direction.
Thick Generations uses persistent dm-clone only as a temporary transition
mechanism during snapshot and rollback materialization. Once materialization
finishes, the active disk and every retained snapshot are independent ordinary
linear LVs. There is no permanent snapshot or backing-volume chain in the
steady-state guest data path.
RC5.4 TG12 has been qualified on the Proxmox VE 9.2.x release line with Storage
API 14 and 15. Qualification included:
• Thin and Thick allocation, snapshot, rollback, resize and deletion;
• cross-node reconstruction and live migration;
• Thin-to-Thick and Thick-to-Thin Storage Move with block-hash verification;
• native Proxmox backup and cross-mode restore;
• Veeam HotAdd backup of Thin, Thick and mixed guests;
• supported-console Veeam restores to Thin, Thick and mixed layouts;
• two-node and three-node quorum and fail-closed behavior;
• installation and reinstallation across a three-node API 14/15 cluster;
• crash and partial-transaction recovery testing;
• a clean four-hour dual-mode endurance run;
• 156 Python tests and 236 Perl tests;
• reproducible Debian package builds.
The design remains deliberately safety-focused:
• storage identity, ownership, quorum and cluster locking are positively
verified before mutation;
• missing storage is treated as UNAVAILABLE, never as empty;
• foreign, legacy, unknown or ambiguous objects are not adopted or deleted;
• partial failures preserve data rather than attempting speculative cleanup;
• unknown block devices are never initialized automatically;
• the plugin performs no automatic metadata repair.
The plugin does not configure SAN connectivity, multipath, fencing or quorum.
It does not replace the storage array's availability and data-protection
mechanisms. Existing guest I/O during complete path loss remains governed by
QEMU, device-mapper, multipath and the underlying SAN.
RC5.4 TG12 is still a pre-release. It should first be validated on disposable
storage matching the intended production SAN, HBA, firmware, multipath and
failure policies. Multipathed iSCSI and a virtual Linux FCoE laboratory target
were exercised; representative physical enterprise FC hardware was not
available and is therefore not claimed as qualified.
GitHub:
https://github.com/delltech1/proxmox-sharedlvmthin
RC5.4 TG12 release and DEB:
https://github.com/delltech1/proxmox-sharedlvmthin/releases/tag/v0.9.0-rc5.4-tg12
Allocation modes:
https://github.com/delltech1/proxmo...k-generations/docs/allocationocation-modes.md
Installation guide:
https://github.com/delltech1/proxmo...mental/thick-generations/docs/installation.md
Feedback, reproducible issue reports, GitHub Stars and anonymized compatibility
results for Proxmox VE, SAN arrays, HBAs, multipath configurations and firmware
versions are very welcome.
Please do not include credentials, private IP addresses, WWIDs or other
sensitive infrastructure identifiers in public reports.
Last edited: