Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Fedora - Getting started with Stratis – up and running

#1
Getting started with Stratis – up and running

When adding storage to a Linux server, system administrators often use commands like pvcreate, vgcreate, lvcreate, and mkfs to integrate the new storage into the system. Stratis is a command-line tool designed to make managing storage much simpler. It creates, modifies, and destroys pools of storage. It also allocates and deallocates filesystems from the storage pools.

Instead of an entirely in-kernel approach like ZFS or Btrfs, Stratis uses a hybrid approach with components in both user space and kernel land. It builds on existing block device managers like device mapper and existing filesystems like XFS. Monitoring and control is performed by a user space daemon.

Stratis tries to avoid some ZFS characteristics like restrictions on adding new hard drives or replacing existing drives with bigger ones. One of its main design goals is to achieve a positive command-line experience.

Install Stratis


Begin by installing the required packages. Several Python-related dependencies will be automatically pulled in. The stratisd package provides the stratisd daemon which creates, manages, and monitors local storage pools. The stratis-cli package provides the stratis command along with several Python libraries.

# yum install -y stratisd stratis-cli

Next, enable the stratisd service.

# systemctl enable --now stratisd

Note that the “enable –now” syntax shown above both permanently enables and immediately starts the service.

After determining what disks/block devices are present and available, the three basic steps to using Stratis are:

  1. Create a pool of the desired disks.
  2. Create a filesystem in the pool.
  3. Mount the filesystem.

In the following example, four virtual disks are available in a virtual machine. Be sure not to use the root/system disk (/dev/vda in this example)!

# sfdisk -s
/dev/vda: 31457280
/dev/vdb:   5242880
/dev/vdc:   5242880
/dev/vdd:   5242880
/dev/vde:   5242880
total: 52428800 blocks

Create a storage pool using Stratis


# stratis pool create testpool /dev/vdb /dev/vdc
# stratis pool list
Name Total Physical Size  Total Physical Used
testpool 10 GiB 56 MiB

After creating the pool, check the status of its block devices:

# stratis blockdev list
Pool Name   Device Node Physical Size   State  Tier
testpool  /dev/vdb            5 GiB  In-use  Data
testpool  /dev/vdc            5 GiB  In-use  Data

Create a filesystem using Stratis


Next, create a filesystem. As mentioned earlier, Stratis uses the existing DM (device mapper) and XFS filesystem technologies to create thinly-provisioned filesystems. By building on these existing technologies, large filesystems can be created and it is possible to add physical storage as storage needs grow.

# stratis fs create testpool testfs
# stratis fs list
Pool Name  Name  Used Created        Device            UUID
testpool  testfs 546 MiB  Apr 18 2020 09:15 /stratis/testpool/testfs  095fb4891a5743d0a589217071ff71dc

Note that “fs” in the example above can optionally be written out as “filesystem”.

Mount the filesystem


Next, create a mount point and mount the filesystem.

# mkdir /testdir
# mount /stratis/testpool/testfs /testdir
# df -h | egrep 'stratis|Filesystem'
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/stratis-1-3e8e[truncated]71dc  1.0T  7.2G 1017G   1% /testdir

The actual space used by a filesystem is shown using the stratis fs list command demonstrated previously. Notice how the testdir filesystem has a virtual size of 1.0T. If the data in a filesystem approaches its virtual size, and there is available space in the storage pool, Stratis will automatically grow the filesystem. Note that beginning with Fedora 34, the form of device path will be /dev/stratis/<pool-name>/<filesystem-name>.

Add the filesystem to fstab


To configure automatic mounting of the filesystem at boot time, run following commands:

# UUID=`lsblk -n -o uuid /stratis/testpool/testfs`
# echo "UUID=${UUID} /testdir xfs defaults 0 0" >> /etc/fstab

After updating fstab, verify that the entry is correct by unmounting and mounting the filesystem:

# umount /testdir
# mount /testdir
# df -h | egrep 'stratis|Filesystem'
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/stratis-1-3e8e[truncated]71dc  1.0T  7.2G 1017G   1% /testdir

Adding cache devices with Stratis


Suppose /dev/vdd is an available SSD (solid state disk). To configure it as a cache device and check its status, use the following commands:

# stratis pool add-cache testpool  /dev/vdd
# stratis blockdev
Pool Name   Device Node Physical Size  State   Tier
testpool   /dev/vdb            5 GiB  In-use   Data
testpool   /dev/vdc            5 GiB  In-use   Data
testpool   /dev/vdd            5 GiB  In-use  Cache

Growing the storage pool


Suppose the testfs filesystem is close to using all the storage capacity of testpool. You could add an additional disk/block device to the pool with commands similar to the following:

# stratis pool add-data testpool /dev/vde
# stratis blockdev
Pool Name Device Node Physical Size   State   Tier
testpool   /dev/vdb           5 GiB  In-use   Data
testpool   /dev/vdc           5 GiB  In-use   Data
testpool   /dev/vdd           5 GiB  In-use  Cache
testpool   /dev/vde           5 GiB  In-use   Data

After adding the device, verify that the pool shows the added capacity:

# stratis pool
Name      Total Physical Size   Total Physical Used
testpool             15 GiB           606 MiB

Conclusion


Stratis is a tool designed to make managing storage much simpler. Creating a filesystem with enterprise functionalities like thin-provisioning, snapshots, volume management, and caching can be accomplished quickly and easily with just a few basic commands.

See also Getting Started with Stratis Encryption.



https://www.sickgaming.net/blog/2020/11/...d-running/
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  Fedora - Contribute at the Fedora Test Week for Kernel 5.10 xSicKxBot 0 15 12-29-2020, 03:11 AM
Last Post: xSicKxBot
  Fedora - Deploy Fedora CoreOS servers with Terraform xSicKxBot 0 16 12-24-2020, 08:00 AM
Last Post: xSicKxBot
  Fedora - Using pods with Podman on Fedora xSicKxBot 0 25 12-18-2020, 11:21 PM
Last Post: xSicKxBot
  Fedora - Ben Cotton: How Do You Fedora? xSicKxBot 0 25 12-15-2020, 05:53 AM
Last Post: xSicKxBot
  Fedora - Add storage to your Fedora system with LVM xSicKxBot 0 25 12-08-2020, 04:18 AM
Last Post: xSicKxBot
  Fedora - Getting started with Fedora CoreOS xSicKxBot 0 40 11-27-2020, 11:41 PM
Last Post: xSicKxBot
  Fedora - Podman with capabilities on Fedora xSicKxBot 0 44 11-17-2020, 02:07 AM
Last Post: xSicKxBot
  Fedora - Using Fedora 33 with Microsoft’s WSL2 xSicKxBot 0 47 11-11-2020, 10:30 PM
Last Post: xSicKxBot
  Fedora - Getting started with Stratis encryption xSicKxBot 0 46 11-09-2020, 11:05 PM
Last Post: xSicKxBot
  Fedora - How to rebase to Fedora 33 on Silverblue xSicKxBot 0 67 10-31-2020, 12:26 AM
Last Post: xSicKxBot

Forum Jump:

[-]
Active Threads
[1.06] BO4 Zombie Trainer (Call of duty ...
Last Post: Zacattack440
12-30-2020 07:30 PM
» Replies: 37
» Views: 1579
News - These Were The Best-Selling Switc...
Last Post: xSicKxBot
12-30-2020 05:23 PM
» Replies: 0
» Views: 13
(GTA V) [1.50/EV1]-Valance PC Menu v2.5-...
Last Post: testeros
12-30-2020 02:59 PM
» Replies: 1
» Views: 531
Cod Black Ops 3; Online Multi and Zombie...
Last Post: testeros
12-30-2020 02:58 PM
» Replies: 2
» Views: 1736
[Tut] Python — How to Import Modules Fro...
Last Post: xSicKxBot
12-30-2020 11:08 AM
» Replies: 0
» Views: 6
(Indie Deal) FREE 7,62 High Calibre, Out...
Last Post: xSicKxBot
12-30-2020 11:08 AM
» Replies: 0
» Views: 6
News - Level-5 Boss Teases 2021 Announce...
Last Post: xSicKxBot
12-30-2020 11:08 AM
» Replies: 0
» Views: 7
News - Feature: Nintendo Switch Ports We...
Last Post: xSicKxBot
12-30-2020 11:08 AM
» Replies: 0
» Views: 8
News - Spider-Man: Miles Morales' Dinner...
Last Post: xSicKxBot
12-30-2020 11:08 AM
» Replies: 0
» Views: 280
Xbox Wire - This Week on Xbox: December ...
Last Post: xSicKxBot
12-30-2020 01:48 AM
» Replies: 0
» Views: 14

[-]
Twitter

[-]
Sponsored
Get the Deal of the Week at RefurBees.com

Copyright © SickGaming.net 2012-2020