Create a file system from a Stratis Pool
What is Stratis?
Features of Stratis
Components on Stratis
1. Next-generation Volume Managing Filesystem
-
What is a Volume Managing Filesystem?
- A volume managing filesystem combines the features of volume management (like LVM) with a filesystem (like XFS or ext4). It allows users to manage storage pools, create filesystems, and handle advanced storage features seamlessly.
- Stratis eliminates the need for separately configuring tools like LVM or manually setting up filesystems.
-
Thin Provisioning by Default:
- Thin provisioning is a feature that allows storage volumes to appear as though they have more space than is physically available. Actual disk space is allocated only when data is written.
- This optimizes storage usage, prevents overprovisioning, and supports dynamic growth of volumes.
2. Implemented in User Space
-
What does “user space” mean?
- In Linux, there are two main areas of execution:
- Kernel Space: Where the operating system kernel operates (e.g., LVM, traditional filesystems).
- User Space: Where user applications and libraries run, separate from the kernel.
- Stratis is implemented in user space, which means it does not operate as part of the Linux kernel. Instead, it interacts with kernel features like Device Mapper, Thin Provisioning, and XFS.
- In Linux, there are two main areas of execution:
-
Benefits of User Space Implementation:
- Easier Development and Maintenance: Since Stratis is not tightly integrated with the kernel, updates and improvements can be made without modifying or recompiling the kernel.
- API Access: Stratis provides a D-Bus API, which makes it easy for applications to interact with and automate storage management.
- Faster Development Cycles: Features can be introduced or patched faster than kernel-based solutions.
Key Features of Stratis
-
Thin Provisioning:
- Allocate space dynamically as needed, improving storage efficiency.
-
Snapshots:
- Quickly capture the state of a filesystem, which is useful for backups and recovery.
-
Storage Pooling:
- Combine multiple disks or partitions into a single storage pool, simplifying management.
-
Simplified Commands:
- User-friendly commands (via
stratis
CLI) for creating, managing, and monitoring storage pools and filesystems.
- User-friendly commands (via
-
Built on Proven Technologies:
- Stratis leverages XFS for its filesystem and Device Mapper for managing storage volumes, providing reliability and performance.
Comparison: Stratis vs. LVM
Feature | Stratis | LVM |
---|---|---|
Thin Provisioning | Enabled by default | Must be explicitly set up |
Snapshots | Simplified implementation | More manual steps required |
User Space | Yes (D-Bus API available) | Kernel-based |
Ease of Use | Simplified commands | More complex to configure |
Storage Pooling | Supports pooling | Requires separate configuration |
Use Case of Stratis
Stratis is ideal for users who:
- Want a simplified approach to managing storage.
- Need dynamic storage allocation (thin provisioning).
- Prefer user-space solutions for easier automation and updates.
- Work in environments where snapshotting and storage pooling are frequently needed.
Conclusion
Stratis is a modern alternative to LVM for managing storage in Linux. Its user-space implementation and API access make it easier to use and automate, while its thin provisioning, snapshotting, and storage pooling features offer advanced functionality with minimal complexity.