Curve 文件系统的重要特点之一就是适用于海量文件存储

Curve文件系统通过元数据集群设计,能够支撑百亿级文件规模,每个节点存储固定范围的inode和dentry,随着文件数量增加可扩展存储节点。尽管大量文件可能导致元数据聚合操作性能下降,但Curve通过优化保证了性能的相对平稳。在测试中,无论是目录数量多还是层级深的场景,Curve都表现出良好的性能。此外,它在实际的ES和AI场景中已得到应用,并优于使用分布式KV存储如TiKV的方案。
摘要由CSDN通过智能技术生成

如何支撑百亿级文件

Curve 文件系统的重要特点之一就是适用于海量文件存储,那么 Curve 文件系统如何保证可以支撑百亿级规模?如何保证在百亿级规模下的性能?从理论上来看:

  • 规模方面,Curve 文件存储的元数据集群,每个节点存储一定范围的 inode (比如 1~10000) 和 dentry,如果文件数量增多,可以进行存储节点的扩充,所以理论上规模是没有上限的。

  • 性能方面,当文件数量很多时,对于单个文件的操作是没有什么差别的,但对于一些需要元数据的聚合操作会出现性能问题,比如 du (计算当前文件系统的容量), ls (获取目录下所有文件信息) 等操作,需要做一定的优化来保障性能。

海量文件存储下性能如何

Curve 文件存储随着存量数据增长,性能可以相对保持平稳(stat 请求的下降在 15% 左右)。

场景 1 (测试目录个数较多的情况):

测试命令 mdtest -z 2 -b 3 -I 10000 -d /mountpoint

场景 2 (测试目录层级很深的情况): 

测试命令 mdtest -z 10 -b 2 -I 100 -d /mountpoint

Curve 文件存储当前使用元数据集群,相对于使用分布式 kv 存储(如 TiKV)性能较优。

说明:本组测试打开了 fuseClient.enableMultiMountPointRename ,保证多挂载点 rename 的事务性,所以和上组的基础测试数据有偏差。

场景 1 (测试目录个数较多的情况): 

测试命令 mdtest -z 2 -b 3 -I 10000 -d /mountpoint

场景 2 (测试目录层级很深的情况): 

测试命令 mdtest -z 10 -b 2 -I 100 -d /mountpoint

当前,Curve 文件存储已经在 ES、AI 场景落地,后续会有相应的案例分享给大家。

< 原创作者:李小翠,Curve Maintainer>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值