1.stratis存储介绍
1.1.重要提示
Stratis 只是一个技术预览功能。技术预览功能不被红帽产品服务等级协议(SLA)支持,且功能可能并不完善。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview。
1.2.Stratis存储简介
Stratis将磁盘设备放置于一个精简配置的共享池中,stratis 文件系统没有固定大小,也不会预分配未使用的块空间。一个共享池中可以创建多个文件系统,文件系统类型为xfs.stratis存储的高级特性:自动精简配置Thin provisioning文件系统快照File system snapshots基于池的存储管理Pool-based management存储监控Monitoring
1.3.支持的系统
rhel 8.0或者以上的版本
1.4.支持的设备
可与 Stratis 一起使用的存储设备。支持的设备Stratis 池已被测试以可用于这些块设备:LUKSLVM 逻辑卷MD RAIDDM MultipathiSCSIHDD 和 SSDNVMe 设备不支持的设备:因为 Stratis 包含精简置备层,因此红帽不推荐将 Stratis 池放在已经精简置备的块设备中。注意:创建 Stratis 池的每个块设备至少为 1 GB
1.5.stratis的专业术语
blockdev:这是一个块设备,例如磁盘或磁盘分区。Pool池:一个池由一个或多个具有固定总大小的块设备组成,其大小等于块设备的总大小。filesystem文件系统:每个池可以包含一个或多个文件系统,用于存储文件。文件系统没有固定的总大小,如果数据的大小接近文件系统的虚拟大小,分层就会自动增加卷和文件系统空间大小,只要池的物理空间充够大,就不用担心文件系统空间会爆掉。
2.安装stratis
2.1.安装 Stratis并开启服务
yum install stratisd stratis-cli -ysystemctl enable --now stratisd
2.2.创建精简池
#创建池,并将块设备加入池stratis pool create {pool-name block-device}stratis pool create pool1 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4stratis pool create pool1 /dev/sda /dev/sdb#往精简池里面添加一块盘,增加池的容量stratis pool add-data pool1 /dev/sdd2.3.查看所有精简池信息
[root@localhost ~]# stratis pool listName Total Physical Properties UUIDpool1 6 GiB / 591.65 MiB / 5.42 GiB ~Ca,~Cr b5f20f6e-399d-4456-bf56-be0245d2a49f
2.4.查看精简池中的硬盘
[root@localhost ~]# stratis blockdev list pool1Pool Name Device Node Physical Size Tierpool1 /dev/nvme0n2 2 GiB Datapool1 /dev/nvme0n3 2 GiB Datapool1 /dev/nvme0n4 2 GiB Data
3.配置stratis文件系统
3.1配置stratis文件系统
stratis filesystem create pool1 fs1
3.2查看文件系统
#可以发现,这个文件系统的大小,位置,uuid都已经自动创建成功,与lvm相比节省了很多步骤。可以直接进行挂载,不需要再进行格式化,因为stratis基于xfs,所以文件系统默认为xfs[root@localhost ~]# stratis filesystem list Pool Name Name Used Created Device UUID pool1 fs1 546 MiB Jul 16202410:26 /dev/stratis/pool1/fs1 2fba6d0e-c87f-432a-890a-9807fb6b90d4
3.3挂载stratis文件系统
lsblk --output=UUID /dev/stratis/pool1/fs1
3.4配置自动挂载
vim /etc/fstab UUID=3f5b3145-6c43-48e2-9a11-a628ec08dc2a /data/stratis xfs defaults,x-systemd.requires=stratisd.service 00#挂载目录mount -a
3.5查看挂载的信息
[root@localhost ~]# df -hT |grep stratistmpfs tmpfs 1.0M 01.0M 0% /run/stratisd/keyfiles/dev/mapper/stratis-1-b5f20f6e399d4456bf56be0245d2a49f-thin-fs-2fba6d0ec87f432a890a9807fb6b90d4 xfs 1.0T 7.2G 1017G 1% /data[root@localhost ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 3.8G 03.8G 0% /devtmpfs tmpfs 3.8G 03.8G 0% /dev/shmtmpfs tmpfs 3.8G 9.0M 3.8G 1% /runtmpfs tmpfs 3.8G 03.8G 0% /sys/fs/cgroup/dev/mapper/cl-root xfs 61G 2.5G 59G 5% //dev/mapper/cl-home xfs 30G 245M 30G 1% /home/dev/nvme0n1p2 xfs 1014M 212M 803M 21% /boot/dev/nvme0n1p1 vfat 599M 7.3M 592M 2% /boot/efitmpfs tmpfs 1.0M 01.0M 0% /run/stratisd/keyfilestmpfs tmpfs 775M 0 775M 0% /run/user/0/dev/mapper/stratis-1-b5f20f6e399d4456bf56be0245d2a49f-thin-fs-2fba6d0ec87f432a890a9807fb6b90d4 xfs 1.0T 11G 1013G 2% /data#可以看到,文件系统为xfs,这个1.1T是假的空间大小,真实空间大小就是这个池的大小。不要相信这个1.1T。不可能那么大的。
3.6向精简池添加设备
stratis pool add-data pool1 /dev/sdd
3.7stratis快照设置
#在恢复快照之前要先把挂载给卸载掉#创建快照stratis filesystem snapshot pool1 fs1 snap1[root@localhost ~]# stratis filesystem snapshot pool1 fs1 snap1[root@localhost ~]# stratis filesystem list pool1Pool Name Name Used Created Device UUID pool1 snap1 4.01 GiB Jul 17202407:40 /dev/stratis/pool1/snap1 0e2d53f7-72c2-456d-8ad5-e81904790078pool1 fs1 4.01 GiB Jul 16202410:26 /dev/stratis/pool1/fs1 2fba6d0e-c87f-432a-890a-9807fb6b90d4#可以看到 这个快照和源文件有着同等的大小,甚至有着自己的路径。但是,stratis和lvm快照的最大区别就是,lvm的快照和源文件有一定的关系,而stratis的快照做好之后,和之前的源文件就没有任何关系了。#删除文件系统[root@localhost ~]# umount /dev/stratis/pool1/fs1#删除原文件系统[root@localhost ~]# stratis filesystem destroy pool1 fs1#可以看到fs1没了[root@localhost ~]# stratis filesystem list pool1Pool Name Name Used Created Device UUID pool1 snap1 4.01 GiB Jul 17202407:40 /dev/stratis/pool1/snap1 0e2d53f7-72c2-456d-8ad5-e81904790078#恢复快照[root@localhost ~]# stratis filesystem snapshot pool1 snap1 fs1[root@localhost ~]# stratis filesystem list pool1Pool Name Name Used Created Device UUID pool1 fs1 4.01 GiB Jul 17202407:44 /dev/stratis/pool1/fs1 ba7a3c00-8d96-4e2f-bbd9-0dceb2930c3apool1 snap1 4.01 GiB Jul 17202407:40 /dev/stratis/pool1/snap1 0e2d53f7-72c2-456d-8ad5-e81904790078#挂载文件系统[root@localhost ~]# mount /dev/stratis/pool1/fs1 /data/#相关命令stratis filesystem destroy pool1 fs还原文件系统stratis filesystem snapshot pool1 snap1 fs1查看文件系统stratis filesystem list