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
| Capability | Community Edition | MooseFS PRO |
|---|---|---|
POSIX file system, mounted with mfsmount | Yes | Yes |
Block device mfsbdev and the libmfsio library | Yes | Yes |
| Windows Client | Not sold with this edition | Yes |
| Snapshots, trash, quotas | Yes | Yes |
| ACLs, extended and extra attributes, file locking | Yes | Yes |
| Storage Classes, labels, patterns, topology | Yes | Yes |
| Copies as a redundancy format | Up to 9 per storage state | Up to 9 per storage state |
| Erasure Coding | 4 or 8 data parts, one parity part | 4 or 8 data parts, 1 to 9 parity parts |
| Storage Classes an instance is created with | 2CP, 3CP, EC4+1, EC8+1 | 2CP, 3CP, EC4+1, EC4+2, EC8+1, EC8+2 |
| Master Servers in one instance | One | Any number |
| Metalogger | Yes | Yes |
| Failover of the Master Server | Manual: a replacement is installed and started from the metadata a Metalogger holds | Automatic, by leader election |
| Rolling upgrade of the Master Server | The one Master Server restarts. The instance is out of service while that restart runs | The Leader role moves to an upgraded machine. The instance keeps serving |
| Locations | One, and no way to add another | Up to 8 |
mfslocadmin, the tool that manages locations | Not in the packages | Yes |
| MULTILAN address remapping | Yes | Yes |
Authentication for I/O: USE_AUTH_FOR_IO in mfsmaster.cfg with export passwords in mfsexports.cfg | N/A | Yes |
GUI and mfscli | Yes | Yes, with a Locations section and a Licence Info section on top |
| Prometheus exporter | Yes | Yes |
mfssupervisor | Reads the state of the Master Server and forces a metadata save | Also 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 instance | Not in the packages | Yes |
mfslicinfo, which prints the license in force | Not in the packages, and no license is read | Yes |
| License file | None, the edition is distributed under GPLv2 | Every Master Server reads one |
| Cap on how much data the instance holds | None 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 represent | The 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.