Stratis 是一个卷管理文件系统volume-managing filesystem(VMF),类似于 ZFS 和 Btrfs。它使用了存储“池”的核心思想,该思想被各种 VMF 和 形如 LVM 的独立卷管理器采用。使用一个或多个硬盘(或分区)创建存储池,然后在存储池中创建卷volume。与使用 fdisk 或 GParted 执行的传统硬盘分区不同,存储池中的卷分布无需用户指定。
VMF 更进一步与文件系统层结合起来。用户无需在卷上部署选取的文件系统,因为文件系统和卷已经被合并在一起,成为一个概念上的文件树(ZFS 称之为数据集dataset,Brtfs 称之为子卷subvolume,Stratis 称之为文件系统),文件数据位于存储池中,但文件大小仅受存储池整体容量限制。
换一个角度来看:正如文件系统对其中单个文件的真实存储块的实际位置做了一层抽象abstract,而 VMF 对存储池中单个文件系统的真实存储块的实际位置做了一层抽象。
基于存储池,我们可以启用其它有用的特性。特性中的一部分理所当然地来自典型的 VMF 实现implementation,例如文件系统快照,毕竟存储池中的多个文件系统可以共享物理数据块physical data block;冗余redundancy,分层,完整性integrity等其它特性也很符合逻辑,因为存储池是操作系统中管理所有文件系统上述特性的重要场所。
上述结果表明,相比独立的卷管理器和文件系统层,VMF 的搭建和管理更简单,启用高级存储特性也更容易。
Stratis架构:
Stratis讲磁盘设备放置于一个精简配置的共享池中,stratis文件系统没有固定大小,也不会预分配未使用的块空间。一个共享池中可以创建多个文件系统,文件系统类型为xfs。因为在上文中提到,stratis基于xfs,默认为xfs系统。
这幅图中我们可以看到,几个硬盘转变为一个池,池化,而文件系统大小从池中来获取。
那么Stratis的优点是什么呢?
stratis注重文件系统的精简分配,可以实现我们用一个文件系统的时候不用指定任何大小。
没有限制,精简分配。
例如如图,我们把几块盘做成一个池,称之为池化。
最大就是池的大小,也就是几块硬盘合起来之后的大小,只需要将池子创建出来,文件系统不需要指定大小,需要多大的空间,直接从池子里面取。
Vdo的讲解:
Vdo高级存储功能:
红帽企业Linux8使用vdo功能,可以优化块设备上数据空间占用问题,它可以减少块设备上的磁盘使用空间,同时最大限度减少数据重复,从而节省磁盘空间。
Vdo包含两个模块:Kvdo用于控制数据压缩,uds用于重复数据的删除。
vdo层位于现在块设备(RAID或者本地磁盘)之上,存储层(如LVM和文件系统)位于vdo之上。
下图显示了KVM虚拟机架构中,vdo所在的位置。
Vdo的重删压缩?
比如 挂载到/data上,那么这个目录上如果有重复的数据,那么vdo就可以对这个目录上重复的数据进行删除重复和压缩的。这个功能是默认的
关于vdo的特性说明:
1、利用vdo创建的逻辑设备成为ydo卷,vdo卷与磁盘类似,可以将这些卷格式化为所需要的文件系统
类型。此外,还可以将vdo卷用作LVM物理卷。
2、在创建ydo卷时, 可以指定块设备,以及vdo向用户显示的逻辑设备的名称。也可以指定vdo卷的逻
辑大小,vdo卷的逻辑大小可以大于实际块设备的物理大小。
3、如果未指定逻辑大小, 则ydo会将实际物理大小视为卷的逻辑大小,这种方式有利于提高性能,但是
会降低存储空间的使用效率,应视情况而定。
P. 由于ydo卷采用了精简配置,因此用户只能看到正在使用的逻辑空间,而无法了解实际可用的物理空
间。
4、vdo卷的逻辑大小超过实际物理大小, 应使用vdostatus -verbose命令查看实际使用情况。
配置过程:
首先安装vdo的软件包
创建vdo卷
改名,再上传一次相同的数据