[pve-devel] MooseFS plugin for Proxmox - further work and request for help

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Jun 6 12:20:29 CEST 2023

> Benjamin via pve-devel <pve-devel at lists.proxmox.com> hat am 06.06.2023 09:55 CEST geschrieben:
> Hey there!
> So, a while ago I emailed about my MooseFS plugin for Proxmox -
> https://github.com/Zorlin/pve-moosefs
> It was in pretty rough shape and didn't work yet. It works now, and allows
> you to mount MooseFS and MooseFS Pro nicely as shared storage. I'm planning
> to expand it to have instant copy-on-write snapshots (via mfssnapshot) so
> that you can snapshot and rollback VMs essentially instantly.
> I need help with the following issues if anyone has time to look at them:
> * I can't edit the storage in the storage menu (Datacenter -> Storage ->
> "moosefs" -> Edit), but no logs appear in the host I am trying to do that
> on.
> * MooseFS doesn't appear in the "Add" dropdown within the storage menu.

see Y2OXuexwf1tv8roV at rck.sh / https://lists.proxmox.com/pipermail/pve-devel/2022-November/054466.html and https://bugzilla.proxmox.com/show_bug.cgi?id=3420#c1

I assume both the Linbit/DRBD and Blockbridge devs would be interested in such a feature, maybe you could coordinate with them and submit a rough draft for further discussion?

> * MooseFS doesn't show up as shared storage, so can't be used for VM
> migrations.

I think you need to add the shared option to your plugin (like the dir plugin does), and then the storage instance needs to be marked as shared in storage.cfg (which is a bit unclean, since AFAIU moosefs would always be shared?), or the base plugin code needs to be adapted to honor a new shared flag from plugindata - the one you set, but which doesn't actually exist ;) - instead of having a hard coded list of "always shared" plugin types. that would be a bit cleaner, and since external plugins cannot currently mark themselves as always shared, it would "only" require coordination with drbd (which is always shared by virtue of still being included in that hard coded list, despite being an external plugin nowadays), or a transition period where both the list and the flag are honored, before the list can be dropped entirely.

> * Despite setting plugindata to support images, vztmpl, iso, backup,
> snippets, only images show up as supported (I think this might be me doing
> it wrong though, see below)
> sub plugindata {
>     return {
>         content => [ { images => 1, vztmpl => 1, iso => 1, backup => 1,
> snippets => 1},
>                     { images => 1 } ],
>         format => [ { raw => 1, qcow2 => 1, vmdk => 1 } , 'raw' ],
>         shared => 1,
>     };
> }

that means all content types are supported, but images is the default value. did you override that default in your storage.cfg entry?

> I'm looking forward to developing this further and the MooseFS folks are
> excited about it and may possibly offer some resources towards it too.
> Any help is appreciated! Would love to get this fully working with an edit
> menu and everything.
> ~ Benjamin

More information about the pve-devel mailing list