Skip to main content
Version: 0.0.15 (latest)

Storage Concepts

MASS organizes storage in a two-level hierarchy:

Volume Group (capacity carved out of the cluster, e.g. 10 TiB)
β”œβ”€β”€ Volume A
└── Volume B

Volume Group​

A volume group reserves capacity from the storage nodes. It defines the requested size, how that capacity is split between metadata and bulk data, and the redundancy every volume in it must meet.

Size​

The create dialog shows the minimum and maximum size it can actually satisfy, and says which resource sets the ceiling (metadata/DRAM capacity, or disk capacity on the smallest engine). The maximum number of volume groups scales with the cluster's real capacity rather than a fixed number; when the limit is reached, the error names the current maximum and the bottleneck.

Storage Optimization​

This setting reserves space for metadata versus bulk data. Metadata is held in node memory, so a higher metadata share lets the volume group hold more small files at the cost of more memory on each node. Per-operation performance is similar across the profiles β€” only the space split changes, which determines how many small files the volume group can hold.

ProfileMetadata shareBest for
Small-file workload6%Mostly small files (tens of kB or smaller). Holds the most small files, at the cost of more node memory.
Mixed workload1%A mix of small and large files. General-purpose default.
Large-file workload0.5%Mostly large files (hundreds of kB or larger). Fewest small files, lowest memory usage.
Custom…you chooseAny metadata percentage between 0 and 100. Shown as X% metadata / Y% data.

A choice is required β€” there is no silent default.

Data Protection​

Redundancy factor is the minimum number of fault domains a volume in this group must tolerate: No redundancy (0) through 3. The concrete layout β€” replication or erasure coding β€” is chosen per volume via its Protection scheme. A redundancy factor is only offered if the cluster has enough fault domains for it.

Configuration Mode​

ModeWhat it does
PresetUses the storage profile defaults with no additional overrides. The normal choice.
ExpertAccepts a raw JSON object of key/value overrides, e.g. {"compression":"lz4","checksum":"crc32"}.

Deleting a volume group​

Deleting a volume group destroys the underlying data. There is no retain option β€” preserve data with a snapshot, a backup, or an external copy before deleting.

If a volume group cannot be torn down cleanly, force-delete removes it together with all of its volumes and leaves the backend storage behind as an orphan, which you can reclaim from Storage β†’ Orphan Storage. See Managing Storage.

Volume​

A volume is a named dataset within a volume group. Clients mount it once it reaches Ready.

Access Type​

The Create Volume dialog offers Filesystem β€” a POSIX filesystem mount. Other access types (object store, HDF5, block device) are not currently selectable; volumes created with them by earlier versions continue to display and work normally.

Size​

Volumes have no size field. Storage is thin-provisioned from the parent volume group, so a volume consumes only what its data actually occupies.

Ownership and Permissions​

Every volume has an owner (and optionally an owner group), which becomes the POSIX owner of the mount root, plus a mode β€” POSIX permission bits in octal, defaulting to 0755. The mode is fixed once the volume is created.

Protection Scheme​

Each volume either inherits its data layout from the parent volume group's redundancy factor (the default) or sets a specific scheme β€” replication N-way, or erasure coding K+P. A custom scheme must tolerate at least as many failures as the parent volume group requires.

Access Mode​

ModeMeaning
RestrictedIdentity-based authentication required. The default.
Open β€” Read OnlyAnyone can read without authenticating
Open β€” Read & WriteAnyone can read and write without authenticating
warning

Open modes allow unauthenticated access. Use them only in isolated network environments.

Snapshots and Backups​

Volumes support point-in-time snapshots inside the cluster, and backups to an external location. See Protection Concepts.