Learn how to configure the Stratis filesystem on CentOS 8 for advanced storage management. Stratis simplifies volume management with features like pooling, snapshots, and thin provisioning. #centlinux #linux #filesystem
Table of Contents
What is Stratis Filesystem?
Stratis is a Linux local storage management tool that aims to enable easy use of advanced storage features such as thin provisioning, snapshots, and pool-based management & monitoring.
Stratis daemon is originally developed by Red Hat. Stratis is written in RUST language and distributed under Mozilla Public License 2.0. Stratis provides ZFS/Btrfs-style features by integrating layers of existing technology: Linux’s device mapper subsystem, and the XFS filesystem.
In this article, we will install and configure Stratis local storage on CentOS 8.

Stratis Storage Features
Stratis storage provides following advanced features.
- Thin Provisioning
- Pool Based Management and Monitoring
- FileSystem Snapshots
Stratis Storage Building Blocks
To understand Stratis Storage architecture, you need know the following three buidling blocks.
- Block Device: A block device can be a disk, partition or Logical Volume (LVM).
- Storage Pool: A Stratis storage pool consist of one or more Block devices.
- FileSystem: A FileSystem is a final ready to mount storage. It is provisioned from a Storage Pool.
Recommended Training: The Linux Command Line Bootcamp: Beginner To Power User from Colt Steele

Environment Specification
We have provisioned a virtual machine with a minimal installation of CentOS 8, ensuring a lightweight, secure, and efficient environment for our setup. A minimal installation includes only the essential system components, reducing unnecessary software and potential security vulnerabilities.
The virtual machine is configured with the following hardware specifications, optimized for stability, performance, and storage management:
- CPU – 3.4 Ghz (2 cores)
- Memory – 1 GB
- Storage – 20 GB
- Operating System – CentOS Linux 8.0
- Hostname – stratis-01.centlinux.com
- IP Address – 192.168.116.206 /24
Mac Book Pro Charger – 96W USB C Charger Fast Charger for USB C Port MacBook pro & MacBook Air, ipad Pro, Samsung Galaxy and All Type C Device, 6.6 ft USBC Cable Included
$17.99 (as of March 7, 2025 18:54 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Install Stratis Filesystem on CentOS 8
Connect with stratis-01.centlinux.com using ssh as root user.
To setup Stratis Filesystem on CentOS 8, we have to install following two packages.
- stratisd – Stratis Daemon
- stratis-cli – Command-line interface to manage stratis local storage.
Both packages are available in default dnf repository, therefore, we are installing it using dnf command.
# dnf install -y stratisd stratis-cli
Installer automatically enables the stratisd service. We are only required to start stratisd service once.
# systemctl start stratisd.service
Stratis has been successfully installed on CentOS 8.
Create Stratis Storage Pools
We have added four additional hard disks, each with a capacity of 10GB, to our CentOS 8 virtual machine. These disks will serve as block storage devices for configuring Stratis storage pools, enabling efficient and flexible storage management.
By utilizing these dedicated block devices, we can take advantage of Stratis’s advanced features.
These four 10GB disks provide a total raw capacity of 40GB, which we will use to configure Stratis, create logical volumes, and set up a robust and scalable storage solution for our CentOS 8 system.
# lsblk | grep 'sd[b-e]'
sdb 8:16 0 10G 0 disk
sdc 8:32 0 10G 0 disk
sdd 8:48 0 10G 0 disk
sde 8:64 0 10G 0 disk
Check current storage pools.
# stratis pool list
Name Total Physical Size Total Physical Used
At this moment, there are no storage pools defined on our CentOS 8 system, meaning we do not yet have a configured Stratis storage environment.
A Stratis storage pool is essential for efficient storage management, as it allows us to:
- Aggregate multiple block devices into a single logical storage unit.
- Simplify volume management with flexible space allocation.
- Enable advanced features like thin provisioning, snapshots, and encryption.
To begin setting up Stratis, we will create a new storage pool using the /dev/sdb block device. This will serve as the foundation for managing Stratis volumes, enabling us to efficiently utilize the available disk space and leverage Stratis’s advanced capabilities.
# stratis pool create db_pool /dev/sdb
Check current storage pools again.
# stratis pool list
Name Total Physical Size Total Physical Used
db_pool 10 GiB 52 MiB
Add a Block Device to Existing Stratis Storage Pool
Let’s add our second disk to the db_pool stratis storage pool.
# stratis pool add-data db_pool /dev/sdc
Check current storage pools list.
# stratis pool list
Name Total Physical Size Total Physical Used
db_pool 20 GiB 56 MiB
You can see that the total size of the db_pool has been increased.
Create Stratis Storage Pool from Multiple Block Devices
As an alternative to creating a Stratis storage pool with a single block device, we can combine multiple block devices into a single storage pool using just one command. This approach allows us to:
- Increase storage capacity by pooling multiple disks together.
- Enhance flexibility by dynamically adding storage as needed.
- Simplify storage management with a unified logical pool instead of handling separate physical disks.
By specifying multiple block devices during the pool creation process, we can efficiently leverage Stratis’s advanced storage features, such as thin provisioning, snapshots, and automated space allocation, ensuring an optimized and scalable storage infrastructure.
# stratis pool create backup_pool /dev/sdd /dev/sde
Check current storage pools now.
# stratis pool list
Name Total Physical Size Total Physical Used
backup_pool 20 GiB 56 MiB
db_pool 20 GiB 56 MiB
Upgraded 2.4GHz Wireless Controller for Xbox Controller, Xbox One Series X|S Consoles, PC Windows, Steam, with 7 Colors RGB Light/Programmable/Turbo Keys,Dual Vibration/3.5mm Audio Jack (Flame White)
$38.97 (as of March 6, 2025 19:40 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Create Stratis FileSystems
We have a Stratis storage pool, we can now use it to provision Stratis filesystems as follows.
# stratis fs create db_pool prod_db_fs
# stratis fs create db_pool test_db_fs
Check the list of Stratis filesystems.
# stratis fs list
Pool Name Name Used Created Device UUID
db_pool prod_db_fs 546 MiB Dec 17 2019 22:22 /stratis/db_pool/prod_db_fs d62f6884dffc40a6b8024784b7f60ca8
db_pool test_db_fs 546 MiB Dec 17 2019 22:22 /stratis/db_pool/test_db_fs 9ce32861f56b408597550d88e9bf5a44
Mounting Stratis FileSystems
We have create two Stratis filesystems, one for our Production database (prod_db_fs) and the other for the Test database (test_db_fs).
Now it’s time to mount these filesystems.
To mount these filesystems, we need to identify the UUID of the filesystems. We can obtain the UUID using following command.
# blkid | grep /dev/mapper/stratis
/dev/mapper/stratis-1-c943c04939f5432cbe4d3d9985cd462e-thin-fs-d62f6884dffc40a6b8024784b7f60ca8: UUID="d62f6884-dffc-40a6-b802-4784b7f60ca8" TYPE="xfs"
/dev/mapper/stratis-1-c943c04939f5432cbe4d3d9985cd462e-thin-fs-9ce32861f56b408597550d88e9bf5a44: UUID="9ce32861-f56b-4085-9755-0d88e9bf5a44" TYPE="xfs"
We can use these UUIDs to persistently mount our Stratis filesystems.
Create directories to mount Stratis filesystems.
# mkdir /mnt/{prod,test}
Edit /etc/fstab to add automount entries.
# vi /etc/fstab
Add entries for our Stratis filesystems therein.
UUID=d62f6884-dffc-40a6-b802-4784b7f60ca8 /mnt/prod xfs defaults,x-systemd.requires=stratisd.service 0 0
UUID=9ce32861-f56b-4085-9755-0d88e9bf5a44 /mnt/test xfs defaults,x-systemd.requires=stratisd.service 0 0
Execute following command to update systemd units generated from this file.
# systemctl daemon-reload
Mount all entries in /etc/fstab using mount command.
# mount -a
Verify that our Stratis filesystem are mounted correctly.
# mount | grep /dev/mapper/stratis
/dev/mapper/stratis-1-c943c04939f5432cbe4d3d9985cd462e-thin-fs-d62f6884dffc40a6b8024784b7f60ca8 on /mnt/prod type xfs (rw,relatime,seclabel,attr2,inode64,sunit=2048,swidth=2048,noquota,x-systemd.requires=stratisd.service)
/dev/mapper/stratis-1-c943c04939f5432cbe4d3d9985cd462e-thin-fs-9ce32861f56b408597550d88e9bf5a44 on /mnt/test type xfs (rw,relatime,seclabel,attr2,inode64,sunit=2048,swidth=2048,noquota,x-systemd.requires=stratisd.service)
Create Snapshot of Stratis FileSystems
Copy some data in /mnt/prod directory.
# cp -r /etc/[a-f]* /mnt/prod
We can take snapshot of the prod_db_fs filesystem using following command.
# stratis fs snapshot db_pool prod_db_fs prod_db_bkp_17dev2019
Check Stratis filesystems.
# stratis fs list
Pool Name Name Used Created Device UUID
db_pool prod_db_bkp_17dev2019 577 MiB Dec 17 2019 23:28 /stratis/db_pool/prod_db_bkp_17dev2019 b4583769df9e40d790a55f11b705b65d
db_pool prod_db_fs 577 MiB Dec 17 2019 22:22 /stratis/db_pool/prod_db_fs d62f6884dffc40a6b8024784b7f60ca8
db_pool test_db_fs 546 MiB Dec 17 2019 22:22 /stratis/db_pool/test_db_fs 9ce32861f56b408597550d88e9bf5a44
A Stratis Snapshot is also a Stratis filesystem, therefore, we can mount it inplace of the actual filesystem to restore a previous state of data, without required to remove the existing filesystem.
Remove a Stratis FileSystem
To remove a filesystem, make sure it is not mounted and then remove it using following command.
# umount /mnt/test
# stratis fs destroy db_pool test_db_pool
Remove a Stratis Storage Pool
To remove a Stratis Storage, make sure that, there isn’t any filesystem exists within that pool.
Remove an existing storage pool using following command.
# stratis pool destroy backup_pool
Linux for Beginners: A Practical and Comprehensive Guide to Learn Linux Operating System and Master Linux Command Line. Contains Self-Evaluation Tests to Verify Your Learning Level
$16.97 (as of March 7, 2025 18:51 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Final Thoughts
Configuring the Stratis filesystem on CentOS 8 enables simplified storage management with powerful features like pooling, snapshots, and thin provisioning. By using Stratis, system administrators can efficiently manage large storage volumes while reducing complexity. Once set up, Stratis provides a flexible and scalable storage solution, making it an excellent choice for both personal and enterprise environments. With its user-friendly approach, Stratis ensures that managing storage on Linux remains efficient, reliable, and future-ready.
From setting up scalable AWS solutions to managing complex Linux environments, I’ve got you covered. Visit my Fiverr profile to get started.
FAQs
1. What is Stratis in CentOS 8?
Stratis is a modern filesystem management tool in CentOS 8 that simplifies volume and storage management by combining LVM (Logical Volume Manager) and XFS under a single, easy-to-use interface.
2. What are the key features of Stratis?
Stratis offers thin provisioning, snapshots, storage pooling, and automatic monitoring, making it an efficient and scalable solution for managing storage volumes.
3. What are the prerequisites for configuring Stratis?
To set up Stratis, ensure your CentOS 8 system has Stratis packages installed, sufficient disk space, and a dedicated block storage device for creating Stratis storage pools.
4. How does Stratis differ from traditional LVM?
Unlike traditional LVM, Stratis automates complex volume management tasks, provides better usability, and integrates advanced features like automatic tiering and encryption with minimal manual configuration.
5. How can I check if my Stratis storage is working properly?
You can verify Stratis storage by using system commands to list storage pools, check available space, and monitor system logs to ensure proper functionality.
Leave a Reply
You must be logged in to post a comment.