CPFS数据生命周期管理实践-阿里云开发者社区

开发者社区> 弘闻> 正文

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可以依据文件的命名、大小和时间等元数据信息,执行不同的文件操作,如存放位置、迁移、备份恢复等,实现数据的生命周期管理。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Elasticsearch-doc基本操作
document是es中比较重要的一个概念,相当于数据库中的行数据,es可以对document进行操作,主要包括新增doc、删除doc、更新doc、更新doc的某个部分等。
13 0
案例_点菜| 学习笔记
快速学习案例_点菜
15 0
我为什么要放弃 RESTful,选择拥抱 GraphQL
REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。
9 0
如何保障消息中间件 100% 消息投递成功?如何保证消息幂等性?
一、前言 我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。
13 0
为什么 MySQL 不推荐默认值为 null ?
通常能听到的答案是使用了NULL值的列将会使索引失效,但是如果实际测试过一下,你就知道IS NULL会使用索引,所以上述说法有漏洞。
12 0
首长,Redis 性能优化十三条军规立好了,请过目~
Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻谨记优化铁则,才能使得Redis性能发挥到极致。 本文将会介绍十三条性能优化军规,开发过程中只要按照执行,性能必能质的飞跃。
19 0
我为什么要放弃 RESTful,选择拥抱 GraphQL
REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史。它的简单易用性,可扩展性,伸缩性受到广大Web开发者的喜爱。
10 0
一次非常有意思的 SQL 优化经历:从 30248.271s 到 0.001s
场景 我用的数据库是mysql5.6,下面简单的介绍下场景
11 0
【保姆级教程】Spring Boot 单元测试
【保姆级教程】Spring Boot 单元测试 一、 单元测试的概念 概念: \1. 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在Java中单元测试的最小单元是类。
8 0
+关注
2
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载