stratis
Manage Stratis storage pools and filesystems
TLDR
Start the Stratis service (must be active before managing pools or volumes)
Create a storage pool from one or more devices
Create a filesystem (volume) in a pool
List all Stratis filesystems
Format and mount a Stratis volume manually
Add a volume to /etc/fstab for mounting at boot
Extend an existing pool by adding a new device
Delete a volume
SYNOPSIS
stratis [GLOBAL_OPTIONS]
Common SUBCOMMANDS include:
pool, filesystem, blockdev, report, key, daemon, version, list.
PARAMETERS
--version
Display the stratis version and exit.
--json
Produce output in JSON format, if applicable. Useful for scripting.
--propagate
Propagate daemon errors. Primarily for internal use or debugging.
--help, -h
Display a help message for the main stratis command or a specific subcommand.
--verbose, -v
Increase output verbosity, providing more detailed information.
--quiet, -q
Decrease output verbosity, suppressing non-critical messages.
DESCRIPTION
stratis is an advanced local storage management system for Linux, designed to simplify the complex tasks associated with managing disks and filesystems. It provides a user-friendly interface to create, manage, and monitor storage pools and filesystems.
Built on top of well-established Linux technologies like LVM2 and XFS, stratis offers features such as thin provisioning, copy-on-write snapshots, and data encryption (via LUKS), all with a focus on ease of use. It abstracts away the intricacies of underlying storage layers, allowing administrators to efficiently provision storage for various applications and services without deep knowledge of low-level device management. stratis aims to be a modern, flexible, and robust solution for local storage.
CAVEATS
stratis is specifically designed for local block storage management and is not intended for network-attached storage solutions. It relies on the stratisd daemon running in the background; commands will fail if the daemon is inactive. While it simplifies storage, users should understand that it builds upon LVM and XFS, and complex recovery scenarios might still require lower-level expertise. It typically requires unpartitioned block devices for pool creation.
KEY CONCEPTS
stratis manages storage using a few core concepts:
Pool: The fundamental storage unit, created from one or more block devices, from which filesystems are allocated.
Filesystem: A thin-provisioned filesystem created within a stratis pool.
Snapshot: A read-only, point-in-time copy of a stratis filesystem, useful for backups or testing.
DAEMON REQUIREMENT
The stratis command-line tool communicates with the stratisd daemon. For stratis commands to function correctly, the stratisd service must be running and accessible. It typically runs as a systemd service.
HISTORY
stratis was developed by engineers at Red Hat, aiming to provide a simpler and more consistent user experience for local storage management on Linux systems. Its development began around 2018, with initial releases appearing in Fedora and subsequently Red Hat Enterprise Linux (RHEL). It was conceived as a high-level abstraction over existing mature technologies like Device Mapper, LVM2, and XFS, similar in concept to ZFS or Btrfs but designed to integrate seamlessly with the enterprise Linux ecosystem. Its usage has grown steadily, particularly in server environments where ease of storage provisioning and management is critical.