MooseFS integration for Proxmox VE
This plugin enables native support for MooseFS as a storage backend in Proxmox VE.
This project is under active development but should still be considered beta.
β οΈ Keep backups of your data. Snapshots are unsafe and may result in data loss. Snapshot support is still under active development and will remain experimental until this warning is removed.β οΈ β οΈ β οΈ There is currently a known snapshotting issue with pve-moosefs running in mfsbdev mode discovered 2025-10-04 - a fix is coming ASAP, eta 1-3 days.
- Native MooseFS support in Proxmox VE
- Support for MooseFS clusters with passwords and subfolders
- Live VM migration across Proxmox hosts with MooseFS-backed storage
- Clean unmounting when MooseFS storage is removed
- MooseFS block device (
mfsbdev) support for high performance - Instant snapshots and near instant rollbacks
- Instant cloning
- Proxmox VE 9.0 or newer
- Upgrade to Proxmox 9.0
- Download and install the
.debpackage from the Releases page.
-
Upgrade to Proxmox 9.0
-
Clone this repository:
git clone https://github.com/yourusername/pve-moosefs.git cd pve-moosefs -
Build the package:
make
-
Install it:
dpkg -i *.deb
- Open the Proxmox Web Interface
- Navigate to Datacenter β Storage
- Click Add β MooseFS and complete the wizard
pvesm add moosefs moosefs-vm-storage --path /mnt/mfsThis command creates a custom storage named moosefs-vm-storage using the MooseFS plugin.
--mfsmaster <hostname>β specify the MooseFS metadata server--mfspassword <password>β use if your MooseFS export requires authentication--mfssubfolder <folder>β mount a subfolder rather than the root of the MooseFS volume--mfsport <port>β mount a MooseFS filesystem that uses a custom master port
Contributors:
- @Zorlin β Principal author, testing, automation and quality control
- @anwright β major fixes, snapshots, and cleanup
- @pkonopelko β general advice and support
Inspiration and references (for plugin skeleton and packaging):
- mityarzn/pve-storage-custom-mpnetapp
- ServeTheHome Forums
- Official Proxmox GlusterFS and CephFS storage plugins
Critical Fixes:
-
Fixed: Multi-disk VMs can now hot-migrate successfully (#54)
- Added intelligent retry logic with exponential backoff for NBD mapping
- Resolves "link exists" errors when migrating VMs with multiple disks
- Improved race condition handling during concurrent disk operations
-
Fixed: Windows VMs with TPM 2.0 now start correctly (#51)
- Enhanced TPM state directory path resolution
- Automatic creation of TPM directories with proper permissions
- Ensures compatibility with Windows 11 TPM requirements
-
Fixed: LXC storage migration safety and data corruption (#50)
- Graceful cleanup on allocation failures prevents orphaned resources
- Improved error handling prevents cascade failures during cleanup
- Snapshot operations now safely unmap NBD before execution
-
Fixed: LXC resize and creation with mfsbdev (#52)
- Create image files before NBD mapping (mfsbdev requirement)
- Better error messages for NBD module and device availability
- Improved NBD device handling and LXC compatibility
-
Fixed: LXC snapshot backups with taint mode (#48)
- Proper path untainting for vzdump compatibility
- Enhanced snapshot operation safety
-
Fixed: NBD daemon crashes during snapshot operations (#53)
- Added
with_nbd_unmappedwrapper for safe snapshot operations - Prevents daemon crashes by unmapping before snapshots
- Added
-
Fixed: Helpful error messages when MooseFS master unreachable (#38)
- Clearer diagnostics for connection issues
New Features:
- Multiple MooseFS cluster support via
mfsnbdlinkproperty - Rust-based patch generator tool for easier development
- UI support for mfsnbdlink configuration
Reliability Enhancements:
- Graceful cleanup on allocation failures
- Snapshot safety wrapper prevents daemon crashes
- Improved NBD device collision detection
- Better error handling for concurrent storage operations
- Enhanced logging for troubleshooting
Known Issues:
- #47: Post-migration mfsbdev state preservation under investigation
Note: This release represents a major step toward production-grade reliability. As always, maintain backups and test in non-production environments first.
- Improve mount detection, fix subfolder bug in bdev adapter
- Improve NBD handling
- Only allow "raw" image type in bdev mode
- Further NBD logic fixes and tuning
- Fix issue with free_image SUPER delegation
- Fix volume attributes/notes
- Switch to mfsrmsnapshot instead of rm for snapshots
- Add mfsport support
- Support optional password for mfsbdev
- Fixes rare but major crash condition for VMs and LXCs
- Adds support for Proxmox VE 9.0
- Improvements to LXC snapshot support
- Reduced debugging log noise
- Multiple small and defensive fixes
- Improved support for LXC
- Enhancements for live migration, unmapping, and cloning
- Full support for MooseFS block device (
mfsbdev)
- Basic
mfsbdevsupport added
- GUI support for container storage
- Allowed leading
/inmfssubfolderpaths
- Core features implemented
- MooseFS mount/unmount and shared storage setup
- Snapshots not functional in this version