论超融合数据本地化对性能的提升

发表时间:2021/6/24   来源:《中国电业》2021年6期   作者:冯晓文
[导读] 近年来,计算能力和存储能力相融合的架构在企业数据中心内得到越来越广泛
        冯晓文
        ( 国网湖南省电力有限公司信息通信分公司 湖南省 410000)
1.超融合架构下数据存储的特点
        近年来,计算能力和存储能力相融合的架构在企业数据中心内得到越来越广泛的应用,该架构即为超融合架构。超融合架构通过在普通X86服务器上通过虚拟化软件与分布式存储软件的整合,可通过超融合节点数量的增加,实现计算能力和存储能力的同时扩展,从而解决传统数据中心内集中式共享存储扩展能力有限的瓶颈。
        在超融合架构下,通过普通X86服务器设备结合分布式存储软件,构建整个平台的存储能力。在分布式存储架构中,一般将数据分散在集群内的多个节点中,以实现更大的并发能力以提升分布式存储的性能。
        然而在超融合的架构中,主要通过虚拟机的方式运行业务,而单个虚拟机的计算能力是无法跨越多个服务器节点的,所以传统的分布式存储架构在超融合的场景中,单个虚拟机的数据往往需要通过存储网络从多个超融合节点上进行读写,其I/O路径过长将导致性能的下降;同时在进行数据读写时,往往会引起多个节点之间数据的大规模移动,甚至引起存储网络的堵塞而导致存储性能的急剧下降。
        因此,本文将研究一种对分布式存储优化的算法机制,通过分布式元数据管理,将每个虚拟机的数据读写,尽可能地在本地节点上完成,代替随机的多节点数据分布,以缩短I/O路径,并减少多个节点之间的数据移动,以提升虚拟机的存储读写性能。
2.数据本地化工作机制
        在新的分布式存储架构中,将引入分布式元数据管理,通过MetaServer元数据管理服务器实现超融合平台数据的分布管理,对超融合节点上所有数据的读写,需要通过MetaServer进行数据块位置的定位,从而保障数据I/O尽可能在本地完成,以提升超融合架构下虚拟机的性能表现。
        整个分布式存储架构的工作机制如下:

        1、当虚拟机需要有数据请求时,首先通过本地的访问控制服务器(AccessServer)发起数据请求;
        2、本地的访问控制服务器(AccessServer)在接收到数据请求后,将向元数据管理服务器(MetaServer)主节点获取数据请求的节点及数据块保存信息;
        3、如果该数据请求是数据写入操作,因数据是多副本保存机制,需要向本地节点和另外的节点同时写入数据。因此,本地访问控制服务器(AccessServer)将数据写入信息同步给另外的AccessServer。
        4、访问控制服务器(AccessServer)将根据从元数据管理服务器(MetaServer)获取的节点及数据块信息通过数据块管理服务器(ChunkServer)实现数据读写操作。

        所以,当虚拟机发起数据读/写请求时,该虚拟机将通过本地访问控制服务器AccessServer向元数据管理服务器(MetaServer)主节点获取将读/写数据的节点及数据块信息。而元数据管理服务器(MetaServer)将控制优先从本地节点进行读/写操作,以提升存储性能。
3.数据本地化实现工作原理
一.虚拟机生成时数据分布处理逻辑
        1、在虚拟机生成前,需要指定虚拟机所在的主机节点,成为该虚拟机的主机标识位信息(HostFlag)。虚拟机管理平台(Hypervisor)将该主机标识位信息(HostFlag)传递给存储访问客户端程序。
        2、访问客户端根据主机标识位信息(HostFlag)连接该主机的访问控制服务器(AccessServer),发起连接请求。
        3、该主机上的访问控制服务器(AccessServer)将向元数据管理服务器(MetaServer)发起数据写入请求。MetaServer将返回需要写入数据的节点信息,其中优先的一个节点为主机标识位信息(HostFlag)对应的主机节点,并从剩余的节点中评估存储空间使用率、性能信息等指标,并选择合适的节点存放副本数据。
        4、访问控制服务器(AccessServer)将从元数据管理服务器(MetaServer)返回的需写入数据的节点信息向这些节点同步数据写入请求。
        5、所有需要写入数据的节点的访问控制服务器(AccessServer)将数据写入请求发送至数据库管理服务器(ChunkServer),并由ChunkServer控制数据的写入操作。

具体的处理逻辑示意图如下所示:

二.虚拟机正常读写时数据分布处理逻辑
        当虚拟机正常工作时,对存储数据的操作可分为写入、读取两种类型。
        当执行数据写入操作时,其数据处理逻辑与“一.虚拟机生成时数据分布处理逻辑”相类似。
数据写入操作处理逻辑:
        1、访问客户端程序向该虚拟机所在的本地访问控制服务器(AccessServer)发起数据连接请求;
        2、本地访问控制服务器(AccessServer)向元数据管理服务器(MetaServer)主节点发起数据写入操作请求;
        3、元数据管理服务器MetaServer向本地访问控制服务器AccessServer返回需要写入数据的节点信息(其中优先选择本地节点);
        4、本地访问控制服务器(AccessServer)将向需要执行数据写入操作的其余节点的远端AccessServer同步数据写入操作信息;
        5、多个访问控制服务器(AccessServer)向节点中对应的数据块管理服务器(ChunkServer)发起数据写入操作;
6、数据块管理服务器(ChunkServer)将向其管理的磁盘设备中写入数据;
7、磁盘设备将根据SSD缓存的数据写入算法完成数据写入,并向ChunkServer返回数据写入结果;
8、数据块管理服务器(ChunkServer)向访问控制服务器(AccessServer)返回数据写入结果;
9、远端访问控制服务器(AccessServer)向本地AccessServer返回数据写入结果;
10、本地访问控制服务器(AccessServer)返回数据写入结果,并结束此次访问客户端数据写入操作请求。

具体的处理逻辑示意图如下所示:
 
        
数据读取操作处理逻辑:
1、当虚拟机需要进行数据读取操作时,访问客户端程序向本地访问控制服务器(AccessServer)发起数据读取连接请求;
2、本地访问控制服务器(AccessServer)向元数据管理服务器(MetaServer)主节点发起数据读取操作请求;
3、元数据管理服务器(MetaServer)将返回需要读取的数据所在的节点信息,并优先选择虚拟机所在的节点进行数据读取;
4、本地访问控制服务器(AccessServer)将数据读取请求发送给本节点的数据块管理服务器(ChunkServer);
5、数据块管理服务器(ChunkServer)将根据需读取的数据热度从SSD或HDD磁盘中找到该数据信息;
6、将该数据信息返回给数据块管理服务器(ChunkServer);
7、数据块管理服务器(ChunkServer)将该数据返回给本地访问控制服务器(AccessServer);
8、访问控制服务器(AccessServer)向访问客户端返回需要读取的数据信息,并结束本地数据读取操作请求。

具体的处理逻辑示意图如下所示:
 
三.虚拟机迁移时数据分布处理逻辑
        数据处理逻辑详细如下:
        1、当虚拟机正常工作时,虚拟机所有的数据块A/B/C的第一个数据副本均在本地节点1上存放,其余的数据块副本则分布在多个节点中,如下图所示;

        2、当超融合节点1因性能不佳时,超融合平台基于负载均衡的策略,可能会将该虚拟机迁移到合适的节点上,例如迁移到节点2上;如果这时虚拟机有新的数据D写入,则会写入到新的本地节点-超融合节点2上,如下图所示:

        3、而对于虚拟机原有的数据块A/B/C,则会遵循不读取不迁移的原则。一旦读取到某个数据块,例如读取数据块B,则会将数据块B从其他节点迁移到虚拟机所在的新节点2上,确保后续数据优先从本地读取,如下图所示:

4.数据本地化与传统分布式存储性能对比
        基于分布式元数据管理的超融合架构,其通过数据本地化的优化机制,实现超融合平台性能的提升,与传统的分布式存储性能对比,其性能提升时明显的。下面将比较“基于数据本地化的超融合平台”与“基于ceph的传统超融合平台”性能表现:
硬件环境
        2种架构的超融合平台均采用3台服务器,服务器硬件配置如下:
      
测试方式:
        在2种超融合架构中,均在3个节点中分别配置1台VM,共3节点3VM;
        每个VM配置2块硬盘:20G系统盘+10G数据盘;
        2种超融合架构均采用数据3副本机制;
        每个虚拟机分别运行FIO工具进行性能测试, 两个超融合平台的测试脚本有一点差异,但不影响最终数据。基于ceph的传统超融合平台Fio配置为ioengine=rbd;基于数据本地化的超融合平台的Fio配置为ioengine=libaio;
        
测试评估标准
        分别测试小数据块4KB、8KB及大数据块1MB下的性能表现,其中小数据块时性能表现主要通过随机读/写下的IOPS和时延的指标来衡量,而大数据块则主要通过顺序读/写下的吞吐量和时延的指标来衡量;
        
        
        具体的测试数据如下:

        
        通过上图的数据对比可看出,“基于数据本地化的超融合平台”在绝大部分的指标上均比“基于ceph的传统超融合平台”的指标更有优势,而且优势非常明显,可实现超融合平台性能的大幅度提升。



作者简介:冯晓文,1984年7月,男,广东佛山,2014年6月毕业于华中科技大学计算机系统结构,高级工程师,主要研究方向:自动化运维、云计算。

作者简介:易衍孜(1987-),男,汉族,湖南攸县,2013年1月毕业于华南理工大学软件工程专业,高级工程师,主要研究方向:信息系统自动化运维、云计算。

作者简介:余琦,1989年6月,女,湖南张家界,2014年7月毕业于清华大学电子工程系,工程师,主要研究方向:大数据




国网湖南省电力有限公司信息通信分公司及泛在电力物联网湖南省重点实验室
State Grid Information&communication Company of Hunan、Changsha, Hunan、410000
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: