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