CPFS数据生命周期管理实践

简介: 验证CPFS可以通过设定策略方式实现根据数据文件属性自动在不同性能和容量的存储资源上分布或者迁移数据,达到对外提供兼顾性能和容量的高性能存储。

前提

完成线下CPFS环境部署,该CPFS至少包含2个存储池storage pool,在本次验证环境中,包含2个存储池,1个是system pool,另一个是data01 pool(容量型)。system pool对应的是由NVME SSD盘组成的性能型存储池,data01对应的是有NL-SAS盘组成的容量型存储池。

实践操作

1, 编写规则文件1,该规则实现了依据文件路径,对文件存放位置进行设置;
首先创建两个fileset,分别对应不同的storage pool,并创建关联的目录:
mmcrfileset cpfs ilm_systemfs1 --inode-space new --inode-limit 200000 -t 'test fileset on system pool'
mmcrfileset cpfs ilm_data01fs1 --inode-space new --inode-limit 200000 -t 'test fileset on data01 pool'
mmlinkfileset cpfs ilm_systemfs1 /cpfs/ilm_systemfs
mmlinkfileset cpfs ilm_data01fs1 /cpfs/ilm_data01fs
编写policy文件./t1.policy,该policy的功能说明如下:
将存储在ilm_data01fs1 fileset(目录)下的文件默认存储在data01 storage pool中,将存储在ilm_systemfs1 fileset(目录)下的文件默认存储在system storage pool;
Policy文件内容如下:
cat ./t1.policy
RULE 'slowfile' SET POOL 'data01'

 FOR fileset ('ilm_data01fs1')

RULE 'fastfile' SET POOL 'system'

 FOR fileset ('ilm_systemfs1')

RULE 'Default' SET POOL 'data01'
安装plicy:
mmchpolicy cpfs ./t1.policy
验证Policy效果:
查看在不同fileset下生成文件的物理存放位置,如下图,可以看到,在ilm_data01fs目录下生成的文件其存储位置在data01 storage pool,在ilm_systemfs目录下生成的文件,其存储位置在system storage pool。
image.png

2, 编写规则文件2,依据文件名、大小、路径、时间等属性,对文件执行迁移类操作;
编写policy文件./t2.policy,该policy的功能说明如下:
当system 存储池的容量使用率超过12%后,触发lowSpaceEvents,将system 存储池上后缀名为.xml和.json文件按时间顺序迁移到data01存储池,直到system存储池容量使用率到8%。
Policy文件内容如下:
cat ./t2.policy
/* Define low space migration rule
This threshold sets the low space trigger value for the system pool */
RULE 'r1' MIGRATE FROM POOL 'system'

            THRESHOLD(12,8)  /*12%是磁盘容量触发迁移条件,一直迁移

到8%*/

            WEIGHT(CURRENT_TIMESTAMP - ACCESS_TIME)
    TO POOL 'data01'
            WHERE  lower(NAME) LIKE '%.xml' OR lower(NAME) LIKE 

'%.json'
安装plicy:
mmchpolicy cpfs ./t2.policy
添加callback,当lowDiskSpace 事件发生时触发policy生效;
mmaddcallback MIGRATION --command /usr/lpp/mmfs/bin/mmstartpolicy --event lowDiskSpace,noDiskSpace --parms "%eventName %fsName --single-instance"
验证Policy效果:
查看storage pool在使用到一定空间后触发lowSpace事件后的效果:
cd /cpfs/ilm_systemfs
在归属system pool的目录下生成大文件,确保system pool磁盘占用率达到12%以上。
for i in seq 1 10;do dd if=/dev/zero of=./test160G$i.xml bs=4M count=40960;done
for i in seq 1 10;do dd if=/dev/zero of=./test160G$i.json bs=4M count=40960;done
使用mmlsattr可以查看文件所在的storage pool,可以查看到这些文件都属于system pool;
for i in seq 1 10;do mmlsattr -L ./test160G$i.json|grep “storage pool name”;done
for i in seq 1 10;do mmlsattr -L ./test160G$i.xml|grep “storage pool name”;done
执行mmdf cpfs -P system查看system pool磁盘所占用空间,目前已占到14%,达到触发policy条件。
image.png
等一段时间,确保system pool文件已经根据policy被迁移到data01 pool
执行cd /cpfs/ilm_systemfs;mmlsattr -L *.xml|grep -i pool查看生效情况,如下图所示,文件已被迁移到data01 pool,部分文件未迁移是因为system pool空间占用率已降到8%
image.png
查看system pool的空间使用率,目前已降到8%!,迁移完成。
image.png

结论

通过以上操作和结果,可以看到CPFS可以依据文件的命名、大小和时间等元数据信息,执行不同的文件操作,如存放位置、迁移、备份恢复等,实现数据的生命周期管理。

目录
相关文章
|
5月前
|
Cloud Native 文件存储 数据库
《阿里云产品四月刊》—CPFS 智算版数据流动(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
5月前
|
Cloud Native 对象存储 文件存储
《阿里云产品四月刊》—CPFS 智算版数据流动(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
存储 机器学习/深度学习 编解码
阿里云文件存储CPFS实现与OSS之间数据双向便捷流动
阿里云文件存储CPFS现已支持“数据流动”特性。该功能适用于2021年9月29日以后建立的CPFS文件系统。当文件系统启用该特性后,“数据流动”功能可以实现将对象存储OSS的bucket中的数据合并入CPFS进行统一命名空间的元数据管理。用户可以手动或者通过自动Lazy-load能力,将OSS中的数据复制到CPFS中,实现通过POSIX文件接口高速访问OSS中的数据,在保持数据在OSS中低成本存储的同时,获得高性能文件访问能力,满足云上自动驾驶、机器学习、HPC等大数据计算场景的需求。
2391 0
|
存储 JSON 安全
CPFS与OSS数据同步实践
CPFS作为高性能集群文件系统,主要满足有高带宽、高IOPS存储要求的业务需要,其单位容量成本相对较高。如何提供一个兼顾性能和价格优势的方案是CPFS方案关注的重点,本篇文章通过CPFS HPT-AFM功能介绍和实践演示CPFS与阿里OSS数据同步,结合OSS的价格优势、CPFS的高性能和数据的冷热特性实现一个高性价比的存储实践方案。
4321 0
CPFS与OSS数据同步实践
|
机器学习/深度学习 存储 人工智能
|
存储 弹性计算 人工智能
阿里云文件存储NAS通用型、极速型和文件存储CPFS有什么区别?
阿里云文件存储NAS极速型NAS低时延,适合企业级时延敏感型核心业务;文件存储CPFS拥有高吞吐和高IOPS,适合高性能计算业务;通用型NAS大容量、高性价比、弹性扩展,支持低频介质,适合通用类文件共享业务。
1739 0
阿里云文件存储NAS通用型、极速型和文件存储CPFS有什么区别?
|
4月前
|
存储 NoSQL 文件存储
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
|
4月前
|
存储 人工智能 弹性计算
|
5月前
|
Cloud Native 文件存储 对象存储
《阿里云产品四月刊》—CPFS 智算版数据流动(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—CPFS 智算版数据流动(3)