#注:stratis 和 vdo 目前都是属于redhat的预览技术,并没有实际投入到生产环境
stratis 精简卷(适用于海量应用场景,只需关注精简池容量,无需去管文件系统):
stratis (redhat8的新功能)会吧磁盘放在一个精简配置的共享池子里面(精简存储池),stratis 文件系统也是没有固定的大小,也不会提前分配没有使用的磁盘块空间(主要用于KVM虚拟化的存储)。一个共享池子中可以创建多个文件系统,文件系统类型统一为 xfs,无法选择。
#stratis 主要解决了逻辑卷的扩容问题
注:如上图所示,最终卷被创建后是没有大小,也没有使用空间,该卷创建出来后默认大小为1T(实际存储量是根据精简存储池来定),并且随着使用量会自动加大,逐渐变成2T,3T...这样自动扩容;
所以这样来看我们无需关注文件系统的大小是否足够使用,只需要关注存储池中的资源是否足够使用,如果出现资源不够使用的情况直接扩容存储池即可,无需关心卷的扩容;
并且卷的实际大小是使用了多少算多少,不会出现创建出来后容量就直接被使用掉的现象。
制作stratis示例:
第1步:安装 stratis-cli(客户端工具)和stratisd(服务的名称),并启动服务
yum install stratis-cli stratisd -y
systemctl enable --now stratisd
第2步:创建精简池并验证
stratis pool create 池子名称 分区1路径 分区2路径
stratis pool list
#Properties 为池子的属性,其中Ca,Cr表示开启了超分配
第3步:创建文件系统并验证
stratis filesystem create 池子名称 文件系统名称
stratis filesystem list
第4步:挂载测试
注:文件系统的容量是没有一样的,需要以精简存储池的容量为准
#设置开机自动挂载时需要注意,不要直接在/etc/fstab 中直接已标准的形式去挂载,因为stratis 是 stratisd 这个服务所产生的卷,所以需要服务先起来,再来挂载,否则会开机直接挂...,可以使用延时挂载来解决
UUID=* /* xfs defaults,x-systemd.requires=stratisd.service 0 0
扩容精简存储池
stratis pool add-data 池子名称 分区路径 #向精简池中添加块设备
#所以在这里可以看出,在容量不够的情况下,我直接扩容精简存储池即可,不用再去对文件系统做拉伸
#查看存储池使用了哪些块设备
stratis blockdev list
#stratis快照
stratis filesystem snapshot 池子 文件系统 快照
恢复stratis快照
#因为 stratis 的快照是可以独立存在使用的,所以恢复快照就是将原来的快照重新做成文件系统
stratis filesystem snapshot pool01 snap01 fs01
删除stratis示例:
第1步:删除stratis文件系统
stratis filesystem destroy 池子名称 文件系统
第2步:删除stratis 精简池
stratis pool destroy 池子名称
vdo 压缩卷(redhat8中提出,redhat9中已经被废除,及其不稳定==》数据丢失无法找回):
#但是在redhat9中,vdo功能融合到lvm中,可以将底层的pv有vdo的属性标签,让其有压缩重删的功能,让lvm的性能和效率得到提升==》可以让底层实现超分配,超使用
背景:vdo主要是围绕现在的云业务进行的设计,可以作为虚拟化的底层存储,设计之初就是为了KVM
#例如系统盘中绝大部分数据都是相同的,例如内核文件,各种设备的文件等等,至少有70%以上的文件都是相同的,如果我每个虚拟机系统盘占用20G,那么三台虚拟机就需要占用60G的空间;
#那么这时候vdo的作用就发挥了,它会使用uds对block进行重删,让40G的空间搞定60G的内容,极大的让存储资源实现资源最大化
*所以vdo的劣势也就在这里,让业务跑在这上面,数据丢失是无法找回的。。。
vdo包含了两个内核的模块:
kvdo 控制数据压缩 ==》对于大文件的置0的数据,可以通过kvdo进行数据压缩例如使原本900M的数据只占用500M
uds 删除重复数据 ==》字面意思,对于磁盘中有一模一样的数据,可以进行重删
<<EOF
这里可以使用vdo来创建(逻辑设备)vdo卷,vdo卷与磁盘类似,可以将这些卷进行格式化,使其成为所需要使用的
文件系统;
创建vdo卷的时候,也可以指定块设备和逻辑设备的名称,大小等等,并且vdo卷的逻辑大小可以大于实际物理设备的
大小,但是需注意,当vdo的逻辑大小大于物理设备时,它的性能也会对应降低;
EOF
配置vdo:
安装:
yum install vdo kmod-kvdo -y #redhat8 中会自动安装
启动:
systemctl enable --now vdo.service
创建vdo:
vdo create --name=vdo0 --device=/dev/sdb1 --vdoLogicalSize=50G
格式化vdo:
mkfs.xfs /dev/mapper/vdo0
vdo常见操作:
vdo list #查看当前正在使用的卷
vdo status --name vdo0 #查看vdo卷的特性
vdo --human-readable #查看卷的状态
vdo remove --name vdo0 #删除vdo卷
标签:10,process,oss,---,image,菜鸡,stratis,vdo
From: https://blog.51cto.com/u_16170308/6947161