新华三公司新闻

  • 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们
docurl=/cn/About_H3C/News_Media/Company_News/202210/1709569_30008_0.htm

互联网技术详解 | 智能无损以太网助力分布式存储的部署与创新

【发布时间:2022-10-24】

数字经济已成为推动经济高质量发展的新引擎,并引领经济社会的巨大变革。随着信息技术的飞跃发展和经济社会数字化转型步伐的加快,全球数据量呈现爆发式增长,根据IDC预测,到2025年全球数据规模将突破175ZB。其中,我国将增至48.6ZB,占全球数据规模的27.8%。

descript

数据资源是数字经济发展的根基,而在这些数据中,超过80%的数据都将是处理难度较大的图像、音频、视频等非结构化数据。

全球非结构化数据容量的60%将部署为分布式存储,分布式存储作为数据的载体在挖掘数据资产价值、助力产业数字化转型中发挥着重大作用。

分布式存储的兴起与互联网的发展密不可分,互联网应用越来越丰富,覆盖领域和场景越来越多,叠加庞大的用户基数,产生的海量非结构化数据给存储系统带来了巨大的压力,分布式存储应运而生。

分布式存储的概念

分布式存储基于标准硬件和分布式架构,将数据分散存储到多个存储服务器上,通过网络将分散存储的资源构成一个虚拟的资源池,进行统一管理并向外提供服务。

descript

分布式存储包含了各种分布式文件系统、分布式块存储、分布式对象存储、分布式数据库和分布式缓存等。其特点是基于软件实现,具有成本低、扩展性强、高性能、高可靠、生态开放等优点。

分布式存储可以提供EB级以上的存储空间,广泛应用于云计算、大数据分析、AI、HPC、工业互联网等场景,成为当前处理海量、多源和异构数据最理想的架构。未来,对分布式存储的应用仍将保持高速增长趋势。

分布式存储的原理

主流的分布式存储技术有Ceph、GlusterFS、HDFS、GPFS、Lustre、Swift、VSAN等,每种都有其各自的特点,提供不同类型的存储服务以及适合的使用场景。从分布式架构上来看,分布式存储主要有中间控制节点架构和无中心架构两大类。

Ceph是当前非常流行和出色的分布式存储之一,被开源社区大量采用,部署在各类云环境中,市场上也推出了很多基于Ceph的商业化产品,足见其受欢迎的程度。我们以典型的无中心架构Ceph为例来介绍一下分布式存储的基本原理。

descript

Ceph支持对象存储、块存储、文件存储三种存储服务,所有的存储功能都是基于底层RADOS实现的,并为上层应用提供Librados API来调用RADOS完成各自操作。RGW和RBD分别是基于librados的基础上提供对象存储和块存储的上层抽象接口,以便于应用的开发和使用。CephFS则通过POSIX接口对外提供文件系统服务,通过内核模块与RADOS直接进行交互。

Ceph存储集群系统主要由OSD(Object Storage Daemon)、Monitor、Manager、MDS(Metadata Server)组件构成。

descript

OSD负责集群中的数据读写、复制、恢复、再平衡,与其它OSD进行心跳检测并向Monitor和Manager上报。Monitor负责监控集群的状态和维护集群映射Cluster map(包括Monitor map、OSD map、PG map、MDS map,CRUSH map)的主副本并保证其一致性(使用Paxos算法)。Manager负责对存储利用率、性能指标和系统负载等运行状态信息进行跟踪。MDS负责为Ceph文件系统提供元数据的查询代理和缓存功能,只有在使用CephFS时才需要配置MDS。

这些组件可根据性能、可靠性等方面的要求进行灵活部署,既可以部署在相同的物理服务器上,也可以部署在不同的物理服务器上。

Client首先连接到Monitor获取Cluster map,通过CRUSH算法获得集群中主OSD的位置并直接与其进行通信,因此并不需要集中式的主节点来计算和寻址。CRUSH算法也是Ceph的核心特性之一,使数据的读写负载能够均匀、受控的分布到各个节点和磁盘上。

接下来我们看下Ceph数据的存储过程:

descript

首先,数据无论从哪一种接口写入,通过Ceph存储的数据都会被切分成对象(Objects),Objects Size可调(默认4M),每个对象都会有一个唯一的Object id即OID来标识,OID由ino(File ID)和ono(File分片编号)来组成。

其次,为了更均匀、稳定的分配数据和提高寻址定位数据的效率,将每个对象映射到一个归置组(PG)中,方法是使用一个静态Hash函数对OID做Hash,然后再与PG的数量取模得到所映射的PGID。

最后,根据设置的副本数量对PG进行复制,通过CRUSH算法(因子根据Cluster map和策略配置规则)最终受控地存储到不同的OSD节点里(第一个OSD节点为主节点,其余为从节点),使得OSD可以分布在不同的主机、机架或机房等。

多个副本需要实现数据的一致性,我们以三副本为例来介绍其基本原理,如下:

descript

获取到OSD后,Client在写入数据时,先向Object对应的Primary OSD发起写入操作,Primary OSD收到写请求后,再分别向Secondary OSD和Tertiary OSD发起写入操作,当所有OSD节点都完成写入操作后,Primary OSD向Client确认Object写入操作完成,保证了数据的一致性。在读取数据时,Client也只会向主OSD节点发送读请求。

分布式存储就是采用这种多副本或者纠删码的冗余方式,来最大限度的保证数据存储的高可用性。

在集群系统节点扩容或失效时,Ceph能自动实现数据的再平衡并尽可能少的迁移数据。

descript

如上图,我们向集群中添加OSD时,集群映射关系(Cluster map)也会同时更新,大部分数据保留在原位置,只会有小部分数据发生迁移(迁移数据量是新OSD与集群总量的比值)达到数据的再平衡。

分布式存储节点的闪存加速与优化

采用分布式的目的在于追求高性能、高扩展和高可用。除了系统架构外,存储集群的整体性能还取决于其它几个因素,其中一个重要因素就是存储节点本身的能力。

为了提高单节点的性能,存储节点普遍采用SSD+HDD混合部署,通过各种SSD缓存加速技术去提升节点的读写性能,例如:

元数据加速,将元数据和写日志(journal)与文件数据分离,元数据和写日志部署到独立的SSD上,减少了读写元数据和写日志对数据IO读写的影响,提升了整体数据读写的性能。

descript

智能分级缓存,小IO数据优先写入SSD,且写入SSD的数据同时作为读缓存,SSD在达到下刷水线时下刷数据到HDD(随机写转化顺序写),达到淘汰水线时淘汰已下刷的数据,同时根据访问热度提升HDD数据至SSD,通过冷热数据分层机制,可有效降低读写延迟提升热点数据命中率。

descript

随着NAND Flash技术的进步、NVMe协议的迭代、SPDK框架的引入,结合小文件聚合、大文件智能预读取、MDS多线程并行处理等优化手段的加持,存储单节点的性能得到了显著的提高。

在对性能有极高要求的应用场景,存储节点甚至是全闪存部署,例如H3C X10828 G5,通过前部和中置硬盘槽位,能够支持28块NVMe SSD配置的全闪存节点。

descript

未完待续,在后续两篇报道中,我们将继续沿着网络创新和变革的步伐,带你继续领略RDMA与智能无损网络的融合所释放出的澎湃性能和创新力量,同时也将展示新华三集团无损以太网对分布式存储网络的优化,敬请期待!

新华三官网
联系我们