Overview
MooseFS 5 introduces a new mechanic called Multilocations. This feature allows users to divide a cluster into logical segments that correspond to the physical distribution of the machines hosting MooseFS modules.
Locations can represent:
- Different racks within a data center.
- Separate rooms or buildings.
- Geographically distant sites, such as different cities.
Architecture and Modules
Each location consists of a set of modules. At least one chunkserver is required per location to facilitate data storage. Other modules, such as the master or metalogger, can be present but are not mandatory in every location.
Storage Classes and Redundancy
Storage classes feature individual label expression definitions for each location. Every state – CREATE, KEEP, ARCHIVE, and TRASH – is defined per location.
- Granular Control: Not every state must be defined in every location, allowing for precise control over data placement.
- Flexible Formats: Different locations can utilize different redundancy levels and formats. For example, you can maintain standard copies in one location and Erasure Coding (EC) in another.
Management with mfslocadmin
MooseFS 5 introduces mfslocadmin, a dedicated tool for setting up and managing these logical divisions. With mfslocadmin, administrators can:
- Create and delete locations.
- Manage modules via IP mappings to distribute them across locations.
- Perform various administrative maintenance tasks.
The use of Multilocations is not mandatory. Users can upgrade to version 5 and continue using their instance as they did before; the system will simply operate with one "invisible" location.
Key Benefits
- Independent Storage Definitions: Define separate storage rules for groups of chunkservers. Each chunk can be stored according to different label expressions per location, including the possibility of using EC format everywhere.
- Maintenance and Resilience: You can disable a specific location for maintenance or in response to a network failure. This effectively shuts down a portion of the cluster without forcing the entire system into an emergency state.
The Default Location
One location is always designated as the default location. Its primary roles include:
- Module Mapping: It automatically accepts all unmapped modules.
- Master Election: It holds the deciding vote in the event of a tie during leader master elections.
The default location cannot be switched off. In a standard setup (non-location mode), the single hidden location functions as the default.
Limitations
Currently, there is a hard-coded limit of 8 (eight) locations per MooseFS instance.