Skip to main content

CE and PRO: feature matrix

MooseFS is built in two editions, Community Edition and MooseFS PRO. This page lists the capabilities one at a time and says which edition includes which. Use it to decide before anything is installed. Editions: Community and PRO covers what an edition is and why the choice is made this early.

Both editions come from one source tree. In that tree, the PRO parts are marked as such. A Community Edition build leaves those parts out. When the Community Edition column denies a capability, the Community Edition packages therefore do not include it at all. No setting brings it back.

A cell that reads N/A says something else. The capability appeared in a version that Community Edition has not reached. The code is not marked as PRO, so a Community Edition build would include the capability, but no released Community Edition build includes it. The current release lines are 4.59.x for Community Edition and 5.x for PRO.

The two PRO tiers carry the same capabilities​

MooseFS PRO is sold as PRO Personal and as PRO Enterprise. The tiers differ in the terms of the license, not in what the software does. The same packages serve both tiers. The license file that the Master Servers read tells the tiers apart. The matrix therefore has one column for PRO. PRO Personal covers the Personal tier and what it may be used for. How licensing works covers what a license includes and what it limits.

The matrix says which edition carries which capability​

CapabilityCommunity EditionMooseFS PRO
POSIX file system, mounted with mfsmountYesYes
Block device mfsbdev and the libmfsio libraryYesYes
Windows ClientNot sold with this editionYes
Snapshots, trash, quotasYesYes
ACLs, extended and extra attributes, file lockingYesYes
Storage Classes, labels, patterns, topologyYesYes
Copies as a redundancy formatUp to 9 per storage stateUp to 9 per storage state
Erasure Coding4 or 8 data parts, one parity part4 or 8 data parts, 1 to 9 parity parts
Storage Classes an instance is created with2CP, 3CP, EC4+1, EC8+12CP, 3CP, EC4+1, EC4+2, EC8+1, EC8+2
Master Servers in one instanceOneAny number
MetaloggerYesYes
Failover of the Master ServerManual: a replacement is installed and started from the metadata a Metalogger holdsAutomatic, by leader election
Rolling upgrade of the Master ServerThe one Master Server restarts. The instance is out of service while that restart runsThe Leader role moves to an upgraded machine. The instance keeps serving
LocationsOne, and no way to add anotherUp to 8
mfslocadmin, the tool that manages locationsNot in the packagesYes
MULTILAN address remappingYesYes
Authentication for I/O: USE_AUTH_FOR_IO in mfsmaster.cfg with export passwords in mfsexports.cfgN/AYes
GUI and mfscliYesYes, with a Locations section and a Licence Info section on top
Prometheus exporterYesYes
mfssupervisorReads the state of the Master Server and forces a metadata saveAlso moves the Leader role, resolves an unsettled group, checks the metadata checksums of the Master Servers against each other, and compares the configuration of the Followers with the Leader's
mfspatch, which builds a patch between two snapshotted directories, to be applied on another instanceNot in the packagesYes
mfslicinfo, which prints the license in forceNot in the packages, and no license is readYes
License fileNone, the edition is distributed under GPLv2Every Master Server reads one
Cap on how much data the instance holdsNone in the software. The ceiling is set by the disks you attach, by the memory the Master Server needs for the metadata, and by the 16 EiB the counters representThe used raw space the license allows

A Storage Class defined under PRO keeps its definition under Community Edition and loses part of its effect. A class that requires more than one parity part is read as though it required one. The surplus parity parts are removed as the cluster works through the chunks. Resolve this case before an instance changes edition. Moving between CE and PRO covers that case in detail.

The server side runs one edition throughout​

Mixing the editions inside one instance is an error and is not supported. A PRO Master Server refuses to register a Chunkserver built as Community Edition. Every other pairing of a Master Server with a module of the other edition raises an alert of its own, listed in Alerts. The GUI raises a further alert when its own edition differs from the cluster's.

Clients are the exception. A client of either edition works against a cluster of the other edition, with one limit: a Community Edition client does not implement a part of the MooseFS protocol that a PRO cluster uses. The cluster raises an alert for that pairing and names the risk: unpredicted behavior, including data loss. The version of a client, rather than its edition, determines which redundancy formats the client can read. Version compatibility covers what a Master Server refuses because of the client version, and which version of which component may run ahead of which.

The release lines are not shared either. The current Community Edition releases have 4.59.x version numbers. The current PRO releases have 5.x version numbers. The two release lines have run on schedules of their own since the code was split in 2013. History shows when each line reached its users. Moving between CE and PRO covers both directions of the move, the order in which the packages are replaced, and what the move back costs.

License terms and support are bought separately​

The matrix says what the software does. The pages below cover two separate questions: what you are allowed to do with the software, and who answers when something breaks.

  • How licensing works covers the license Community Edition is distributed under, the license a PRO instance runs on, and the limit that license sets.
  • PRO Personal covers the Personal tier.
  • Support is bought separately from any license, for a term of its own, and is offered for Community Edition as well. The level of the contract, rather than the edition, determines what that support covers. How licensing works covers both points, and what they mean for a cluster whose support term has ended.
  • Installing the license file is a procedure, so the deployment pages cover it: Install a license.