趣文网 > 作文大全

新一代分布式文件系统XGFS揭秘——元数据服务

2020-12-06 08:55:01
相关推荐

XSKY新一代分布式文件系统XGFS揭秘——元数据服务

新一代分布式文件存储系统XGFS,基于最新一代NVMe/SCM存储介质设计,利用高性能LSM存储引擎,结合XSKY独有专利技术的键值设计,构建出完全自主的元数据服务…本文系揭秘XGFS系列之首篇内容。

01存储介质的高速发展

上一代分布式文件系统元数据服务(MDS),多半基于HDD/SSD介质设计;这种设计不仅元数据访问性能不佳,而且为了实现在慢速介质上通过数量堆积来实现性能与空间扩展,做出了很多架构让步:如动态目录子树、动态迁移等,复杂性高的同时更带来不少稳定性问题。

近年来,硬件存储介质从HDD到SSD(MLC/SLC),并快速发展到NVMe/SCM时代,分布式系统尤其是分布式文件存储系统(Distributed File System),需要思考如何发挥出新兴介质的极致性能。

02如何利用新型LSM存储引擎

上一代分布式文件系统如GlusterFS大多使用Linux的单机文件系统ext4/xfs做元数据承载,ext4/xfs底层均采用B树和Page页实现元数据管理;

这种MDS设计大多使用上层写入合并等方法来缓解Page空洞和写入带宽低等问题,但仍然严重依赖上游Linux内核,难以面向新型业务需求做出元数据优化和定制,例如同时存储POSIX文件协议和S3对象协议的元数据,同时难以应对分布式文件系统的海量元数据场景,通常需要在存储引擎层做更多的定制,使得利用单机文件系统实现更好元数据系统;

随着LSM存储引擎的快速发展和普及,越来越多的数据库和应用系统选择基于LSM存储引擎来构建整体的分布式系统,如HBase、Cassandra等;

LSM存储引擎的写入模式天然适应于SSD/NVMe类存储介质,大大优化了写放大问题并提升存储介质寿命,还带来更高的写吞吐量和介质空间使用率;这些都给分布式文件系统的研发设计带来了启发。

03XGFS架构

XSKY基于对客户业务的深度理解,以及结合新一代存储介质和高性能LSM存储引擎的应用优势,推出了新一代分布式文件存储系统XGFS。

XGFS分布式文件存储系统由元数据服务集群和混合盘数据服务共同组成。其继承了XSKY多年在分布式混合盘上的深厚积累以及大规模存储运维能力,包括多级缓存技术、支持副本与EC纠删码、支持延展集群双活、硬盘和网络亚健康处理等,带来了高性价比的整体TCO和丰富的功能特性。

另,XSKY XEUS、一体机产品已在NAS市场推出了3年多,并部署了数百个实际生产集群;XGFS多活文件协议网关继承了这些文件产品成熟稳定的文件协议层模块,并在高性能IO直通、多浮动IP切换与回切、多网关节点分区和分子网等方面做了深入的优化,使得XGFS既在处理NFS、SMB等文件协议兼容性上游刃有余,又针对分布式文件的高带宽、高吞吐场景做了靶向优化。

XGFS元数据服务的架构具有如下优势:

01

基于最新一代NVMe/SCM存储介质设计,充分发挥出新兴介质近百万级IOPS和数GB带宽的性能优势,轻松满足对于文件系统的高频率元数据访问需求;

02

利用高性能LSM存储引擎,结合XSKY独有专利技术的键值设计,构建出完全自主的元数据服务;既兼容POSIX文件语义和S3对象语义,又支持用户/用户组、权限/ACL、扩展属性等;

03

元数据在本节点的日志保护和节点间的强一致性复制,使得元数据集群轻松应对慢盘、网络异常、节点重启/掉电等故障场景,提供RPO=0的元数据通路;

04

使用XSKY自研的高速网络传输模块,原生为RoCE/RDMA高性能网络量身打造,大大降低节点间元数据复制包的传输时延,使得整个元数据集群拥有更高的IOPS性能。

04技术原理

1、LSM存储引擎实现文件元数据管理;XSKY独有专利的KV键值对设计,实现完备的语义支持

利用LSM引擎的范围查询和前缀索引功能,结合独有专利的Key设计,大大提升List、Lookup等操作的执行效率,通过合并索引数据和文件本身的信息,去掉了List操作的二次索引开销,性能相比ext4文件系统提升约40%;

在Value设计中,既充分兼容POSIX语义中的size、读写权限、MAC time、变长的xattr扩展属性、Windows ACL权限等,又可扩展支持配额、快照等功能,以及S3对象语义中的etag、last modified等字段;真正实现了元数据按需定制和扩展。

2、充分利用LSM引擎能力,打造高效的文件元数据服务XMDS

单个元数据服务进程XMDS的设计中,首先需要将面向业务的文件操作,如Open、List、Rename等,组合成原子性的事务,并利用KV的事务特性提交给LSM引擎;这样就做到了既兼容POSIX通用协议,又可以在事务内无损耗的实现配额和快照等高级功能,更进一步实现了每一级目录的实时容量使用情况和趋势能力,提供了丰富的数据分析能力;

XMDS通过在内存中合并大量元数据的修改并一次性提交写日志,充分释放了NVMe/SCM的超高写入带宽和并发吞吐能力;同时日志append-only的写入模式,也大大延长了高速介质的写入寿命;LSM引擎的后台压缩能力,既有效减少了元数据空间管理碎片、空洞问题,提升了硬盘的整体空间利用率,还解决了文件元数据本身的GC问题,使得XMDS轻松应对百亿级别以上的海量文件场景;

最后,单个XMDS还引入了WAL日志机制,当出现本节点上LSM引擎故障并恢复后,可及时回放尚未落盘持久化的事务,保证了数据一致性。

3、强一致性的元数据服务集群

由多个XMDS共同组成了多副本的XMDS集群,并在多个XMDS间设计了强一致的复制机制:所有元数据的修改都会即时同步到所有关联副本,保证了元数据的强一致性,客户端从任意一个XMDS服务中都能获取到相同的数据视图;

部署在不同物理节点上的XMDS多副本,结合完备的XMDS间全量、增量恢复机制,向上层业务打造出9个9高可靠性的元数据服务;同时,增量与全量恢复IO也做了大量性能优化,实验室3节点实测文件元数据恢复性能为10亿文件/1小时;最后,通过细粒度区间锁实现了恢复IO实现了对元数据读写请求的零阻塞,大大提升了业务可用性;

在元数据服务提供低延迟高吞吐的背景下,创新的将传统分布式文件系统客户端与MDS之间的协议轻量化,解决过去有状态会话的复杂状态维护,颠覆性的实现了客户端访问切换无损耗,让上层各类业务丝滑运行,又能保持过去会话式的元数据性能。

4、高性能的网络传输模块

原生为RoCE/RDMA等新型网络设计的网络传输模块,利用NUMA Aware的内存池和无锁化设计,极大得降低了CPU开销并减少了互斥等待时间;

通过网络模块与IO栈的深度结合,既避免了不必要的线程上下文切换,又减少了入队出队的损耗,实现了元数据的快速通路,让IO延迟响应进入亚毫秒级别。

05术语表

【未完待续】

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

什么的雨作文 的呼唤作文 林老师讲作文 励志作文300字 作文触动心灵的风景 介绍大学的英语作文 冬日送温暖作文 充实的一天作文 暑假结束作文200字 作文雨中情600字 游戏活动作文400字 关于价值观的作文素材 人物形象作文 未来的我100字作文 科学作文1000字 我家乡的天气英语作文 成语作文300字 以春游为题的作文 我的暑假的英语作文 关于运动会的作文400 保护洱海的作文1000字 传承的作文 我的双胞胎姐姐作文 飞越丛林作文 我有一个的家作文 禁毒作文400字左右 题目为我的作文 花木兰英文作文 关于写我的作文600字 秋季的作文500字