Stratis属于RHEL发行版附属功能,可以用于本地存储管理具有可用性和便捷性。经常用来提供对高级存储功能访问,Stratis用XFS文件系统并提供用户访问高级存储功能权限,比如可支持精简配置、文件系统快照、分层、基于池的管理和监控。
池是一个或者多个块设备组成,池总大小等同于块设备的总和。blockdev是块设备,如磁盘分区。文件系统是一个精简配置层,大小不孤单,文件系统的实际大小会根据数据增加而增长。当数据大小接近文件系统虚拟大小时,Stratis会自动增长文件系统大小。而Stratis是由一个或多个本地磁盘/磁盘分区创建的存储池,Stratis可办证过户ixt管理者设置和管理更复杂的存储配置。
通常和Stratis搭配使用的块设备包含LVM逻辑卷、卢克斯、SSD、设备映射器多路径、互联网SCISI、HDD、NVMe存储设备等。Stratis是由Stratis-cli和Stratisd守护进程组成,Stratis-cil属于Stratis附带命令行工具,Stratisd是一个创建和管理块设备的守护进程,起到提供DBUS API作用。想要在RHEL8/9中安装和配置Stratis,需要先用root身份登录和运行命令:
# dnf install stratisd stratis-cli
查询更多已安装软件包:
# rpm -qi stratisd stratis-cli
启动服务:
#systemctl enable--now stratisd
检查Stratis状态:
# systemctl status stratisd
创建Stratis池要未使用/未安装的块设备,另外如Stratisd服务已经启动和运行,还要求块设备大小至少要1GB。在RHEL8/9系统上如有额外四个块设备,想要/dev/xvdd显示/dev/xvde块设备运行:
# lsblk
确认设备没有分区表:
# blkid -p /dev/xvdb
如果没有输出,就说明该块设备上不存在任何分区表。如果输出存在分区表可以删除:
# wipefs -a /<device-path>
从一个块设备创建Stratis池:
# stratis pool create <pool-name> <block-device>
/dev/xvdb中如运行命令创建一个池:
# stratis pool create my_pool_1 /dev/xvdb
确认池运行:
# stratis pool list
从多个设备创建池,先列出全部设备:
# stratis pool create <pool_name> device-1 device-2 device-n
创建池/dev/xvdc,/dev/xvdd,需要运行:
# stratis pool create my_pool_2 /dev/xvdc /dev/xvdd/ /dev/xvde
再列出全部可用池:
# stratis pool list
此时应该可以看到两个可用池,在可用池中创建文件系统:
# stratis fs create <poolname> <filesystemname>
例如,要分别从my_pool_1和my_pool_2创建filesystem-1和filesystem-2:
# stratis fs create my_pool_1 filesystem-1
# stratis fs create my_pool_2 filesystem-2
查看新创建文件系统,运行:
# stratis fs list
将文件系统的结果缩小到一个池,请运行以下命令:
# stratis fs list <poolname>
检查my_pool_2中的文件系统,请运行该命令。
# stratis fs list my_pool_2
再运行lsblk:
# lsblk
对现有文件系统进行挂载,先创建挂载点,第一个池中文件系统:
# mkdir /data
# mount /stratis/my_pool_1/filesystem-1 /data
第二个池中文件系统:
# mkdir /block
# mount /stratis/my_pool_2/filesystem-2 /block
验证挂载点:
# df -Th | grep stratis
让挂载点永久存在,先获取每个UUID再运行:
# blkid -p /stratis/my_pool_1/filesystem-1
# blkid -p /stratis/my_pool_2/filesystem-2
继续把UUID和挂载点复制到/etc/fstab:
# echo "UUID=c632dcf5-3e23-46c8-82b6-b06a4cc9d6a7 /data xfs defaults 0 0" | sudo tee -a /etc/fstab
# echo "UUID=b485ce80-be18-4a06-8631-925132bbfd78 /block xfs defaults 0 0" | sudo tee -a /etc/fstab
为了使系统注册新配置,请运行以下命令:
# systemctl daemon-reload
查询配置是否按预期工作:
# mount /data
# mount /block
删除Stratis文件系统
# umount /mount-point
磁盘添加到现有池:
# stratis pool add-data <poolname> /<devicepath>
向 my_pool_1 添加附加磁盘/dev/xvdf,请运行以下命令:
# stratis pool add-data my_pool_1 /dev/xvdf
创建Stratis快照:
# stratis fs snapshot <poolname> <fsname> <snapshotname>