当前位置: 首页 > 工具软件 > Stratis > 使用案例 >

分层存储Stratis和管理快照

白子默
2023-12-01

分层存储Stratis

  • Stratis称为卷管理文件系统,以管理物理存储设备池的服务形式运行,透明的为所创建的文件系统创建和管理卷

  • 相较于Lvm操作简化了,Stratis可以动态管理卷层,不需要预分配未使用的块设备空间(不需要提前设置大小信息)

  • 使用存储的元数据来识别所管理的池、卷和文件系统

  • 文件系统的大小取决于池的大小,池的大小取决于池化设备的大小

  • 不建议手动重新格式化或重新配置,可能会导致源数据丢失。建议使用Stratis工具和命令进行管理

  • Stratis的三个概念:blockdevs块设备(eg:磁盘或磁盘分区)、池和文件系统。使用不同的块儿设备可以创建多个池,每个池可以创建一个或多个文件系统,每个池对多创建2^24个文件系统

 

Stratis的优点:

  • 管理快照和精简配置

  • 根据需要自动增加文件系统的大小

  • 维护文件系统

 

1、安装stratisd stratis-cli软件包

[root@njw ~]# mount /dev/cdrom /mnt

[root@njw ~]# yum -y install stratisd stratis-cli

[root@njw ~]# rpm -q stratisd stratis-cli

2、重启程序

[root@njw ~]# systemctl restart stratisd.service

3、添加新的硬盘(即:sdb,sdc...),查看存储设备

[root@njw ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sdb 8:16 0 2G 0 disk

sdc 8:32 0 2G 0 disk

sdd 8:48 0 2G 0 disk

sde 8:64 0 4G 0 disk

├─sde1 8:65 0 1G 0 part

└─sde2 8:66 0 1G 0 part

4、创建stratis存储池,将设备/dev/sdb创建为存储池,存储池名为pool1

[root@njw ~]# stratis pool create pool1 /dev/sdb #创建存储池

[root@njw ~]# stratis pool list #查看stratis存储池信息

Name Total Physical Properties

pool1 2 GiB / 37.63 MiB / 1.96 GiB ~Ca,~Cr #pool1池大小为2G,已物理使用37.63M

5、扩大pool1池的大小,添加设备/dev/sdc

[root@njw ~]# stratis pool add-data pool1 /dev/sdc #扩大pool1池

[root@njw ~]# stratis pool list

Name Total Physical Properties

pool1 4 GiB / 41.63 MiB / 3.96 GiB ~Ca,~Cr

[root@njw ~]# stratis blockdev list #查看池中的块设备信息

Pool Name Device Node Physical Size Tier

pool1 /dev/sdb 2 GiB Data

pool1 /dev/sdc 2 GiB Data #pool1池的组成

6、使用块设备分区创建、添加块设备,并查看池信息

[root@njw ~]# stratis pool create pool2 /dev/sde1

[root@njw ~]# stratis pool add-data pool2 /dev/sde2

[root@njw ~]# stratis pool list

Name Total Physical Properties

pool2 2 GiB / 41.63 MiB / 1.96 GiB ~Ca,~Cr

[root@njw ~]# stratis blockdev list

Pool Name Device Node Physical Size Tier

pool2 /dev/sde1 1 GiB Data

pool2 /dev/sde2 1 GiB Data

7、为池创建文件系统

[root@njw ~]# stratis filesystem create pool1 fs1 #给存储池pool1创建一个名为fs1的文件系统

[root@njw ~]# stratis filesystem list #查看可用文件系统的列表

Pool Name Name Used Created Device UUID

pool1 fs1 546 MiB May 26 2021 19:37 /stratis/pool1/fs1 a2b91a4d78d2465096531d385b0b0206

8、创建挂载点并进行手动挂载

[root@njw ~]# mkdir /opt/fs1 #创建挂载点

[root@njw ~]# mount /stratis/pool1/fs1 /opt/fs1 #将文件系统fs1,挂载到/opt/fs1

[root@njw ~]# mount #查看挂载信息

/dev/mapper/stratis-1-fe2829e762874269a7c9572257c6fc3c-thin-fs-a2b91a4d78d2465096531d385b0b0206 on /opt/fs1 type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,sunit=2048,swidth=2048,noquota)

#从挂载点信息中可以看到文件系统类型是xfs

9、设置开机自动挂载

[root@njw ~]# lsblk --output=UUID /stratis/pool1/fs1 #获取UUID

[root@njw ~]# vim /etc/fstab

UUID=a2b91a4d-78d2-4650-9653-1d385b0b0206 /opt/fs1 xfs defaults,x-systemd.requires=stratisd.service 0 0

#x-systemd.requires=stratisd.service挂载选项可以延迟挂载文件系统,直到systemd在启动过程中启动stratisd.service为止。若不添加此选项,在下次重启时会发生引导错误。

重启验证是否自动挂载成功

[root@njw ~]# reboot

[root@njw ~]# df -h

10、创建存储池文件系统的快照

快照:

  • 快照是将快照卷挂载到某个挂载点目录

  • 快照卷存放的不是原分区的所有数据信息,而是创建一个快照的监视器,来监视原分区中所有元数据信息

  • 当数据区有数据更新时,首先将数据区的数据备份到快照卷中,再更新数据区信息

[root@njw ~]# stratis fs list #先查看未复制文件时的文件大小,初始文件系统的默认大小(546 M)

[root@njw ~]# cp -r /var/log/* /opt/fs1

[root@njw ~]# stratis fs list #查看复制文件后文件系统大小

[root@njw ~]# stratis fs snapshot pool1 fs1 fs1_snap_01 #对pool1池中的fs1拍摄名为fs1_snap_01的快照

[root@njw ~]# stratis fs list #查看文件系统列表

Pool Name Name Used Created Device UUID

pool1 fs1 576 MiB May 26 2021 19:37 /stratis/pool1/fs1 a2b91a4d78d2465096531d385b0b0206

pool1 fs1_snap_01 576 MiB May 26 2021 20:42 /stratis/pool1/fs1_snap_01 88a44cdc760142d0b8e83bed8a2e97d8

#多了一个名为fs1_snap_01的快照文件系统

进行验证:

[root@njw ~]# rm -rf /opt/fs1/* 删除/opt/fs1中所有的文件信息

[root@njw ~]# ll /opt/fs1 #查看已无数据文件信息

通过快照恢复数据信息:

[root@njw ~]# mount /stratis/pool1/fs1_snap_01 /opt/fs1 #通过挂载快照卷,来获取数据文件信息,来达到恢复数据的目的

[root@njw ~]# ll /opt/fs1 #查看发现恢复数据文件信息

 

 

 

 

 

 类似资料: