Skip to main content

๐Ÿ—„๏ธ Create a Storage Pool

Storage pools are the foundation of all data storage in MOS.
They define how disks are grouped, how data is protected, and which filesystems are used.

Pools are required for:

  • Shares
  • Docker storage
  • LXC containers
  • Virtual machines
  • Media and backup data
tip

If you want to use ZFS, please take a look at the following section: ZFS

Example:

MOS Storage Pools


โš™๏ธ Pool Configuration Fieldsโ€‹

๐Ÿท๏ธ Nameโ€‹

Defines the name of the storage pool.

Best practice:

  • โœ… Use short, descriptive names
  • โŒ Avoid spaces and special characters

Examples:

  • main
  • data
  • media
  • backup

๐Ÿ”„ Typeโ€‹

Defines how disks are organized within the pool.

Available pool types:

  • single
  • multi
  • mergerfs
  • nonraid (requires additional driver)

Each type serves a different use case and offers different levels of redundancy and flexibility.


๐Ÿงฉ Pool Types Explainedโ€‹

singleโ€‹

Uses a single disk without redundancy.

Characteristics:

  • One disk per pool
  • Maximum usable capacity
  • No data protection

Use cases:

  • Appdata
  • Cache
  • Downloads
  • Media with external backups
warning

If the disk fails, data is lost. Backups are mandatory.


multiโ€‹

Uses multiple disks combined into a RAID-based pool.

Characteristics:

  • Multiple disks
  • Data protection depending on RAID level
  • Managed as a single pool

Available RAID levels:

  • raid0
  • raid1

๐Ÿ“Š RAID Levelsโ€‹

raid0โ€‹

Striping without redundancy

  • Maximum performance and capacity
  • No fault tolerance

Use case:
Temporary or non-critical data


raid1โ€‹

Mirroring

  • Data is mirrored across disks
  • High data safety
  • Reduced usable capacity

Use case:
Critical data, system pools, important shares


๐Ÿงฉ mergerfsโ€‹

Creates a pooled filesystem using multiple independent disks combined via mergerfs, optionally protected by SnapRAID.

Characteristics:

  • Disks remain independent
  • Flexible expansion
  • Parity handled separately via SnapRAID

Requirements:

  • One or more data disks
  • Optional SnapRAID parity disk

Use cases:

  • Media storage
  • Large data pools with mixed disk sizes
  • Home server and NAS setups

Filesystem recommendation:

  • xfs for data disks

Full Policy Referenceโ€‹

For a complete description of all available mergerfs policies, their behavior, and when to use each one, see the official mergerfs documentation:

๐Ÿ‘‰ mergerfs โ€“ Policy Descriptions


nonraidโ€‹

Uses multiple independent disks without traditional RAID.

Characteristics:

  • Each disk has its own filesystem
  • Optional parity disk
  • Flexible and simple disk management
tip

The nonraid driver is not installed by default. After installing the driver you have to reboot. For installation instructions, refer to the MOS Hub documentation.

It must be installed as a plugin via the MOS Hub.

To install:

  1. Open MOS Hub
  2. Search for NonRAID Driver
  3. Select the desired release
  • Click Install

  • Reboot the server

Use cases:

  • Simple parity-based storage
  • Easy disk replacement
  • Home server setups

๐Ÿ–ฅ๏ธ Devicesโ€‹

Select the physical disks that will be assigned to the pool.

note
  • Selected disks may be formatted
  • Existing data can be lost if formatting is enabled

Always verify disk selection carefully.


๐Ÿ“ฆ Filesystemโ€‹

Defines the filesystem used by the pool.

Available options:

  • xfs
  • ext4
  • btrfs
  • vfat

Filesystem Recommendationsโ€‹

  • xfs โ€“ Recommended default for most pools
  • ext4 โ€“ Simple and compatible, but less scalable
  • btrfs โ€“ Required for advanced features like snapshots
  • vfat โ€“ Only for removable or temporary storage
tip

If you want to use ZFS, please take a look at the following section: ZFS


๐Ÿ› ๏ธ Advanced Optionsโ€‹

๐Ÿ”„ Automountโ€‹

Automatically mounts the pool during system startup.

โœ… Recommended: Enabled


๐Ÿ—‘๏ธ Formatโ€‹

Formats the selected disks during pool creation.

warning

Enabling this option will permanently delete all data on the selected disks.


๐Ÿ” Encryptโ€‹

Enables disk encryption for the pool.

warning
  • Increases data security
  • Slight performance overhead
  • Encryption key must be stored securely

๐Ÿ” Skip Size check (Mergerfs + SnapRAID only)โ€‹

Warning: This option requires 5 clicks to enable. This is intentional to ensure you understand the implications.

When enabled, MOS will skip the size validation check when creating a Mergerfs pool with SnapRAID. This allows you to use disks with different sizes, but may lead to unexpected behavior if not configured correctly.

warning
  • Only available for Mergerfs pools with SnapRAID
  • Not available for nonraid pools
  • Requires 5 clicks to enable (intentional safety measure)
  • May cause issues if disks have significantly different sizes
  • Use only if you understand the risks

โš ๏ธ Usage Warningโ€‹

note

Note: The translation for this feature is not yet finalized in the current MOS 0.4.8-beta release. The UI labels may still be in German and will be updated in a future release.

The Usage Warning feature allows you to receive notifications when a storage pool reaches certain capacity thresholds. This helps you proactively manage storage space and avoid unexpected issues.

How It Worksโ€‹

  • The system checks pool usage every 10 minutes
  • When the pool reaches your configured threshold, you will receive a warning or alarm notification
  • Two threshold levels are available: Warning and Alarm

Configurationโ€‹

To configure Usage Warning for a pool:

  1. Navigate to Pools
  2. Select the pool you want to monitor
  3. Click the three dots (โ€ขโ€ขโ€ข) menu
  4. Select Usage Warning
  5. Configure the thresholds:
    • Warning: Percentage threshold for warning notifications
    • Alarm: Percentage threshold for alarm notifications

Usage Warning Menu

Location of the Usage Warning option in the pool menu

Usage Warning Settings

Usage Warning configuration dialog

Threshold Recommendationsโ€‹

  • Warning (70%): Receive a warning when the pool reaches this level
  • Alarm (90%): Receive an alarm when the pool reaches this critical level

Best Practicesโ€‹

  • Set Warning at a level that gives you enough time to respond (e.g., 70%)
  • Set Alarm at a critical level that requires immediate action (e.g., 90%)
  • Consider your storage growth rate when setting thresholds
  • Monitor notifications and take action before reaching the Alarm level

๐Ÿ”„ Pool Actionsโ€‹

Each pool in the Pools list has an action menu (โ€ขโ€ขโ€ข) with the following options:

ActionDescription
Unmount PoolUnmounts the pool without deleting it. The pool data remains intact and can be remounted later
Delete poolPermanently removes the pool and its configuration. Data on the disks is NOT deleted
Spin Up PoolWakes up all disks in the pool from sleep/standby mode
Spin Down PoolPuts all disks in the pool into sleep/standby mode to save power and reduce noise
Usage AlertsConfigure warning and alarm thresholds for pool capacity (see Usage Warning)
tip

Use Spin Down Pool for pools that are not frequently accessed (e.g., backup pools) to reduce power consumption and disk wear. Use Spin Up Pool before accessing the pool to wake the disks.

warning

Spinning down disks frequently can reduce their lifespan. Only use spin down for pools that are accessed infrequently (e.g., once per day or less).


๐Ÿงน Btrfs Operations & Schedulesโ€‹

When a pool is formatted with btrfs, MOS provides additional maintenance operations that help keep the filesystem healthy and performant.

These operations are only available for btrfs pools and can be scheduled to run automatically.

Where to Findโ€‹

The Btrfs operations and schedules are accessible from the pool list:

  1. Navigate to Pools
  2. Click the three dots (โ€ขโ€ขโ€ข) menu on a btrfs pool
  3. Select Btrfs Operations or Btrfs Schedules

Btrfs Menu

Accessing the Btrfs options from the pool menu


๐Ÿ“‹ Btrfs Operationsโ€‹

The Btrfs Operations dialog shows the available maintenance tasks for the selected pool.

Btrfs Operations

Btrfs Operations dialog


๐Ÿ” Scrubโ€‹

A scrub reads all data and metadata on a btrfs filesystem and verifies it against known checksums.
If corrupted data is found and a valid mirrored or RAID copy exists, btrfs can automatically repair the affected blocks.

What it does:

  • Detects silent data corruption (bit rot)
  • Repairs corrupted blocks when redundant copies are available
  • Reports errors that cannot be repaired automatically

Advantages:

  • โœ… Ensures long-term data integrity
  • โœ… Can repair corruption automatically on mirrored/RAID1 pools
  • โœ… Runs online without unmounting the pool

Disadvantages:

  • โŒ Causes additional disk I/O during the scrub
  • โŒ On single-disk pools without redundancy, corruption can only be detected but not repaired
tip

Scrub is especially valuable on multi + raid1 btrfs pools, where corrupted data can be repaired automatically from the mirror.


โš–๏ธ Balanceโ€‹

A balance reorganizes data across the disks in a btrfs pool.
It redistributes data chunks to reclaim unused space, reduce fragmentation, and enforce RAID profiles evenly across all devices.

note

A balance is only available for multi-device pools (at least 2 disks). On single-disk btrfs pools, the balance operation is not available because there are no additional devices to redistribute data across.

What it does:

  • Reclaims allocated but unused space
  • Reduces file fragmentation
  • Redistributes data evenly across all disks in multi-device pools

Advantages:

  • โœ… Can free up space that is allocated but not actually used
  • โœ… Improves read performance by reducing fragmentation
  • โœ… Keeps data evenly distributed across disks

Disadvantages:

  • โŒ Causes significant disk I/O and can take a long time on large pools
  • โŒ Temporarily increases wear on the disks
  • โŒ Running it too frequently offers little benefit while adding unnecessary load

๐Ÿ“… Schedulesโ€‹

Both Scrub and Balance can be enabled as scheduled tasks in MOS.
When enabled, MOS will run the selected operation automatically at the configured interval.

Btrfs Schedules

Btrfs Schedules overview

Btrfs Schedules Options

Btrfs Schedules configuration options

Should you enable schedules?

OperationSchedule recommended?Reason
Scrubโœ… YesRegularly verifies data integrity and repairs silent corruption early
Balanceโš ๏ธ OptionalOnly needed when space allocation issues or fragmentation occur; not required on a regular basis

Best practices:

  • โœ… Enable a regular Scrub schedule (e.g., monthly) to detect and repair corruption early
  • โš ๏ธ Only enable a Balance schedule if you experience unallocated space issues or high fragmentation
  • ๐Ÿ•’ Schedule maintenance during low-activity periods (e.g., nightly) to minimize impact on performance
  • ๐Ÿ“Š Monitor the results of each run in the MOS task history
warning

A balance operation can generate heavy I/O load. Avoid running it during peak usage hours or on pools with active workloads.


โœ… Summaryโ€‹

Choosing the correct pool type and filesystem is essential for a stable and reliable system.

Quick recommendations:

  • single + xfs โ†’ Appdata, cache, downloads
  • multi + raid1 โ†’ Critical data
  • mergerfs + SnapRAID โ†’ Media storage
  • mergerfs + nonraid โ†’ Flexible parity-based storage (driver required)

Plan your pool layout carefully before creating pools.


Parts of this documentation were created with the assistance of AI tools. All AI-generated content has undergone review, but it may still contain inaccuracies, omissions, or outdated information.