Skip to content

moosefs/pve-moosefs

Repository files navigation

pve-moosefs

MooseFS integration for Proxmox VE

This plugin enables native support for MooseFS as a storage backend in Proxmox VE.

⚠️ Disclaimer

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.

📷 Preview

image

✨ Features

Ask DeepWiki

  • 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

🚧 Planned Features

  • Instant cloning

🚀 Installation & Usage

Prerequisites

  • Proxmox VE 9.0 or newer

Option 1: Easy Install

  1. Upgrade to Proxmox 9.0
  2. Download and install the .deb package from the Releases page.

Option 2: Manual Build

  1. Upgrade to Proxmox 9.0

  2. Clone this repository:

    git clone https://github.com/yourusername/pve-moosefs.git
    cd pve-moosefs
  3. Build the package:

    make
  4. Install it:

    dpkg -i *.deb

🖥️ Mounting MooseFS Storage

Via GUI

  1. Open the Proxmox Web Interface
  2. Navigate to Datacenter → Storage
  3. Click Add → MooseFS and complete the wizard

Via Command Line

pvesm add moosefs moosefs-vm-storage --path /mnt/mfs

This command creates a custom storage named moosefs-vm-storage using the MooseFS plugin.

Optional parameters:

  • --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

🙏 Credits

Contributors:

Inspiration and references (for plugin skeleton and packaging):

Changelog

v0.1.10 - Critical bug fixes

  • 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

v0.1.7 - Critical Bug Fixes

  • Fixes rare but major crash condition for VMs and LXCs
  • Adds support for Proxmox VE 9.0

v0.1.5 - Bug Fixes

  • Improvements to LXC snapshot support
  • Reduced debugging log noise

v0.1.4 – Bug Fixes

  • Multiple small and defensive fixes
  • Improved support for LXC
  • Enhancements for live migration, unmapping, and cloning

v0.1.3 – New Features

  • Full support for MooseFS block device (mfsbdev)

v0.1.2 – Initial Block Device Support

  • Basic mfsbdev support added

v0.1.1 – Enhancements

  • GUI support for container storage
  • Allowed leading / in mfssubfolder paths

v0.1.0 – Initial Release

  • Core features implemented
  • MooseFS mount/unmount and shared storage setup
  • Snapshots not functional in this version