CPFS与OSS数据同步实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: CPFS作为高性能集群文件系统,主要满足有高带宽、高IOPS存储要求的业务需要,其单位容量成本相对较高。如何提供一个兼顾性能和价格优势的方案是CPFS方案关注的重点,本篇文章通过CPFS HPT-AFM功能介绍和实践演示CPFS与阿里OSS数据同步,结合OSS的价格优势、CPFS的高性能和数据的冷热特性实现一个高性价比的存储实践方案。

1,说明
CPFS同步到OSS是使用其AFM(Active File Management)机制,AFM可以实现2个数据源之间的数据共享,其数据共享有如下四种模式:

image.png
CPFS与AliOSS默认使用的是Single Writer模式,其中OSS作为Home端,CPFS作为Cache端,在Single Writer模式下,Cache端数据会自动同步给Home,但是不会从Home上检查更新。
2,实践环境
为验证该功能实现,本次实践基于一套支持OSS数据同步功能的CPFS线下环境,其中2台存储节点能访问公网,公网总带宽为20Mbps,目前在公共云上的CPFS暂时还不支持同OSS的数据同步,具体发布时间依赖负责公共云CPFS产品团队官宣。
3,实践命令&结果
3.1 配置
在配置CPFS与OSS之间的数据同步之前,首先需要完成本节操作,具体如下:
设置CPFS gateway节点,用于CPFS同OSS的数据传输,可设置多个用于并行传输:
mmchnode –gateway -N cnode1,cnode2
设置OSS的AK:
mmafmcoskeys $oss_bucketname set $oss_accesskey_id $oss_accesskey_secret
验证AK正确性:
mmafmcoskeys $oss_bucketname get
设置CPFS同OSS的连接配置:

mmafmcosconfig $cpfs-devicename $oss_bucketname --map-endpoints http://oss-cn-beijing.aliyuncs.com --cleanup --vhb
该操作包括了在CPFS上建立一个对应OSS bucketname的fileset及配置AFM参数等过程,--map-endpoints参数后接OSS的外网endpoint。
3.2 从OSS上下载数据
在默认SW模式下,OSS作为Home端,CPFS作为Cache端,CPFS端数据会自动同步给OSS,但是不会从OSS上检查更新,如果需要从OSS上拉取数据,需要执行如下命令:
下载对应bucket的所有数据到cpfs目录:
mmafmcosctl $cpfs-devicename $oss_bucketname $cpfs_path download --all
如果需要限定下载的object,可以通过--object-list来指定object下载,操作如下:
mmafmcosctl $cpfs-devicename $oss_bucketname $cpfs_path download --object-list $object_filename
指定要拉的object,采用如下方式:
cat ./file2
test2
test2/node.cfg
mmafmcosctl cpfs hpttest1 /cpfs/hptest1/ download --object-list ./file2
注意:对已经download过,但是在文件系统上删除的,再执行download操作时,这些文件不会被二次拉取。
3.3 从CPFS往OSS同步数据
默认情况下,在执行mmafmconsconfig命令后,在设置的fileset目录下创建和修改的数据会自动同步到OSS对应bucket中。如果需要控制同步到OSS的文件,可以通过设置policy来限定,具体操作如下:
编写policy文件,如下示例policy文件的规则功能更描述:hpt-rule1:将后缀为.txt的文件留在cpfs本地,不上传到OSS中;hpt-rule2:将目录test1下的文件留在本地,不上传到OSS中;
cat /home/test.policy
RULE 'hpt-rule1' set pool 'system' FOR fileset
('hpttest1') OPTS('local') where name like '%.txt'
RULE 'hpt-rule2' set pool 'system' FOR fileset
('hpttest1') OPTS('local') where name like 'test1'
RULE default set pool ‘system’
如下命令实现应用policy规则到CPFS文件系统:
mmchpolicy cpfs /home/test.policy
验证CPFS到OSS的同步效果:
验证文件的结果:
.txt后缀的文件没有被上传到OSS,.json后缀的可以被上传到OSS上。
image.png
验证目录的结果:
test1目录下新建的文件没有被上传到OSS,test3目录由于没有规则约束,可以被上传到OSS上。
image.png
验证并行传输的效果:
dd if=/dev/zero of=/home/test1G bs=1M count=1024;
拷贝1G数据到cpfs对应目录,查看文件上传到OSS花费时间407s,平均带宽2.516MB/s,基本可以占满20Mbps的公网带宽:
image.png
3.4 CPFS 与OSS数据互通
部分情况下,需要实现CPFS与OSS之间的数据自动互通,这时可以在执行mmafmcosconfig时配置mode为iw,这时,OSS作为Home端,CPFS作为Cache端,两端都支持读写,Cache端既可推数据给Home端,也可以从Home上获取更新,在Cache上获取的是Home端的元数据。
配置方式如下:
mmafmcosconfig cpfs hwodpstest --map-endpoints http://oss-cn-beijing.aliyuncs.com --cleanup –vhb --object-fs --mode iw
在CPFS上对应bucket的fileset目录下ls时即触发download metadata动作,执行du可查看到文件实际大小为0,只有在做类似cat操作时,才显示实际大小。
示例如下:
OSS上数据其元数据自动同步到CPFS,在cat后显示实际内容,CPFS数据也能自动同步到OSS;
image.png
4,结论
通过以上实践,我们验证了本地高性能文件系统CPFS与公共云对象存储OSS的线下线上数据互通,结合CPFS的policy实现数据的定制同步和安全特性,我们可以实现一套兼顾本地集群文件系统的高性能和公共云对象存储的低成本的高性价比混合云存储解决方案。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
存储 SQL 分布式计算
阿里云全托管flink-vvp平台hudi connector实践(基于emr集群oss-hdfs存储)
阿里云全托管flink-vvp平台hudi sink connector实践,本文数据湖hudi基于阿里云E-MapReduce产品,以云对象存储oss-hdfs作为存储
|
6天前
|
消息中间件 对象存储
轻量消息队列(原 MNS)订阅 OSS 事件实践
使用轻量消息队列订阅OSS事件,实时处理文件变动,赢取ins风U型枕(限量500个)。访问活动页面,完成实操并上传截图即可参与领奖。活动时间:即日起至2025年2月28日16:00。奖品数量有限,先到先得,快来报名吧!
|
5月前
|
分布式计算 DataWorks 调度
oss数据同步maxcompute报错
在使用阿里云DataWorks同步OSS数据至MaxCompute时,遇到“Input is not in the .gz format”的报错。问题源于目标目录中存在一个空文件,导致同步时识别错误。
|
2月前
|
存储 人工智能 开发工具
AI场景下的对象存储OSS数据管理实践
本文介绍了对象存储(OSS)在AI业务中的应用与实践。内容涵盖四个方面:1) 对象存储作为AI数据基石,因其低成本和高弹性成为云上数据存储首选;2) AI场景下的对象存储实践方案,包括数据获取、预处理、训练及推理阶段的具体使用方法;3) 国内主要区域的默认吞吐量提升至100Gbps,优化了大数据量下的带宽需求;4) 常用工具介绍,如OSSutil、ossfs、Python SDK等,帮助用户高效管理数据。重点讲解了OSS在AI训练和推理中的性能优化措施,以及不同工具的特点和应用场景。
138 10
|
2月前
|
弹性计算 人工智能 数据管理
AI场景下的对象存储OSS数据管理实践
本文介绍了ECS和OSS的操作流程,分为两大部分。第一部分详细讲解了ECS的登录、密码重置、安全组设置及OSSUTIL工具的安装与配置,通过实验创建并管理存储桶,上传下载文件,确保资源及时释放。第二部分则聚焦于OSSFS工具的应用,演示如何将对象存储挂载为磁盘,进行大文件加载与模型训练,强调环境搭建(如Conda环境)及依赖安装步骤,确保实验结束后正确清理AccessKey和相关资源。整个过程注重操作细节与安全性,帮助用户高效利用云资源完成实验任务。
146 10
|
1月前
|
存储 人工智能 数据管理
云端问道17期方案教学-AI场景下的对象存储OSS数据管理实践
本文介绍了AI场景下的对象存储OSS数据管理实践,由阿里云技术专家明锦分享。主要内容分为两部分:1) AI场景下对象存储实践方案,包括对象存储的应用、优势及在模型推理中的优化;2) OSS常用工具介绍,如OSSFS、Python SDK、Go SDK等,并详细说明了这些工具的特点和使用场景。文中还探讨了不同模式下的性能优化,以及即将推出的OS Connector for AI/ML工具,旨在提升数据下载速度和IO性能。
|
3月前
|
弹性计算 数据管理 应用服务中间件
活动实践 | 借助OSS搭建在线教育视频课程分享网站
本教程指导用户在阿里云ECS实例上搭建在线教育网站,包括重置ECS密码、配置安全组、安装Nginx、创建网站页面、上传数据至OSS、开通OSS传输加速、配置生命周期策略及清理资源等步骤,实现高效、低成本的数据管理和网站运营。
活动实践 | 借助OSS搭建在线教育视频课程分享网站
|
7月前
|
分布式计算 关系型数据库 数据处理
美柚与MaxCompute的数据同步架构设计与实践
数据处理与分析 一旦数据同步到MaxCompute后,就可以使用MaxCompute SQL或者MapReduce进行复杂的数据处理和分析。
|
7月前
|
分布式计算 关系型数据库 MySQL
MySQL超时参数优化与DataX高效数据同步实践
通过合理设置MySQL的超时参数,可以有效地提升数据库的稳定性和性能。而DataX作为一种高效的数据同步工具,可以帮助企业轻松实现不同数据源之间的数据迁移。无论是优化MySQL参数还是使用DataX进行数据同步,都需要根据具体的应用场景来进行细致的配置和测试,以达到最佳效果。
|
9月前
|
存储 数据管理 Java
基于OSS、NFS构建高性能可扩展的遥感智能解译系统实践之路
该文探讨了构建高性能、可扩展的遥感智能解译系统的架构演进过程。作者强调架构应根据业务场景而定,而非追求单一的“最佳”架构。文章分为五个部分,介绍了从初步的业务场景分析到逐步优化的架构设计。 1. 业务场景描述了服务于地理信息行业的遥感数据管理平台,包括数据湖和遥感智能解译系统的功能和架构设计。 2. 初代系统解决了数据管理和智能解译的基本需求,但存在数据同步效率低下的问题。 3. 自动化阶段通过消息推送和数据接收模块减少了人工干预,将处理时间减半,但仍存在效率和稳定性问题。 4. 高性能阶段引入数据订阅/推送和数据接收Agent,实现了稳定、高速的数据传输,性能提升了6倍。
48878 2