通过Stratis,便捷的使用精简配置(thin provisioning),快照(snapshots)和基于池(pool-based )的管理和监控等高级存储功能;
Stratis 是一个卷管理文件系统volume-managing filesystem(VMF),类似于 ZFS 和 Btrfs。它使用了存储“池”的核心思想,该思想被各种 VMF 和 形如 LVM 的独立卷管理器采用。使用一个或多个硬盘(或分区)创建存储池,然后在存储池中创建卷volume。与使用 fdisk 或 GParted 执行的传统硬盘分区不同,存储池中的卷分布无需用户指定。
案例:
新增两块5G硬盘
1、配置yum源,安装软件包
[root@kongd ~]# tail -1 /etc/fstab
/dev/sr0 /media/cdrom iso9660 defaults 0 0
[root@kongd ~]# mkdir /media/cdrom
[root@kongd ~]# mount -a
[root@kongd ~]# cat /etc/yum.repos.d/rhel8.repo
[AppStream]
name=AppStream
baseurl=file:///media/cdrom/AppStream
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=file:///media/cdrom/BaseOS
gpgcheck=0
[root@kongd ~]# dnf install -y stratisd stratis-cli
2、启动stratisd服务
[root@kongd ~]# systemctl enable --now stratisd.service
[root@kongd ~]# systemctl is-enabled stratisd.service
enabled
3、创建池
[root@kongd ~]# stratis --version
1.0.0
[root@kongd ~]# stratis pool --help
usage: stratis pool [-h] {create,list,destroy,rename,add-data,add-cache} ...
[root@kongd ~]# stratis pool create redhat /dev/nvme0n2
# 池的名字redhat /dev/nvme0n2--池中加入的设备
[root@kongd ~]# stratis pool list
Name Total Physical Size Total Physical Used
redhat 5 GiB 52 MiB
4、构建文件系统
对于stratis管理的存储分层而言,文件系统是构建在池中的
[root@kongd ~]# stratis filesystem create redhat rhce
[root@kongd ~]# stratis filesystem list
Pool Name Name Used Created Device UUID
redhat rhce 546 MiB Jan 08 2020 00:15 /stratis/redhat/rhce fe32e43bafa046d8b82210bcd7616ac1
5、挂载
[root@kongd ~]# mkdir /mnt/stratis
[root@kongd ~]# mount /stratis/redhat/rhce /mnt/stratis
[root@kongd ~]# df -hT | grep /mnt/stratis
永久挂载
[root@kongd ~]# tail -1 /etc/fstab
/stratis/redhat/rhce /mnt/stratis xfs defaults 0 0
6、扩容
[root@kongd ~]# stratis pool add-data redhat /dev/nvme0n3
[root@kongd ~]# stratis pool list
Name Total Physical Size Total Physical Used
redhat 10 GiB 602 MiB
写入数据
[root@kongd ~]# dd if=/dev/zero of=/mnt/stratis/file bs=1G count=5
记录了5+0 的读入
记录了5+0 的写出
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 13.4471 s, 399 MB/s
7、快照
[root@kongd ~]# stratis filesystem snapshot redhat rhce snap01
[root@kongd ~]# stratis filesystem list
Pool Name Name Used Created Device UUID
redhat rhce 5.53 GiB Jan 08 2020 00:15 /stratis/redhat/rhce fe32e43bafa046d8b82210bcd7616ac1
redhat snap01 5.53 GiB Jan 08 2020 00:23 /stratis/redhat/snap01 66e1027fcb41476786b88155593374ac
挂载快照读取数据
[root@kongd ~]# mkdir /mnt/snap
[root@kongd ~]# mount /stratis/redhat/snap01 /mnt/snap/
[root@kongd ~]# du -sh /mnt/snap/file
5.0G /mnt/snap/file
8、一个池中可以构建多个文件系统
[root@kongd ~]# stratis filesystem create redhat rhce1
[root@kongd ~]# stratis filesystem list redhat
Pool Name Name Used Created Device UUID
redhat rhce 5.53 GiB Jan 08 2020 00:15 /stratis/redhat/rhce fe32e43bafa046d8b82210bcd7616ac1
redhat snap01 5.53 GiB Jan 08 2020 00:23 /stratis/redhat/snap01 66e1027fcb41476786b88155593374ac
redhat rhce1 546 MiB Jan 08 2020 00:26 /stratis/redhat/rhce1 ec549c4e3bb84fa18f432109f435c520
9、文件系统删除
[root@kongd ~]# stratis filesystem destroy redhat rhce1
[root@kongd ~]# stratis filesystem destroy redhat snap01
Execution failure caused by:
ERROR: low-level ioctl error due to nix error: EBUSY: Device or resource busy
注意:文件系统需要先卸载才能删除
[root@kongd ~]# umount /mnt/snap
[root@kongd ~]# stratis filesystem destroy redhat snap01
10、删除池
[root@kongd ~]# umount /mnt/snap
[root@kongd ~]# stratis filesystem destroy redhat snap01
[root@kongd ~]# stratis filesystem destroy redhat rhce
[root@kongd ~]# stratis pool destroy redhat
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)