APP下载

分布式储存中的网络通信探究

2023-09-08孙林檀吕静贤

大众标准化 2023年15期
关键词:传输方式储存分布式

孙林檀,韩 维,吕静贤

(国家电网有限公司客户服务中心信息运维中心,天津 300300)

在分布式储存技术实际应用期间,需要将各储存节点利用网络连接方式构建成统一集群,向外部提供可靠高性能服务,分布式储存实则是一种网络储存方式,实际应用期间效果也会受到网络环境影响。为最大限度发挥出分布式储存技术在网络通信优化中的积极作用,还需要结合分布式网络通信系统特征,对分布式储存技术以及网络通信进行不断优化与完善。

1 概述分布式储存技术

相较于普通集中式储存技术而言,分布式储存技术并不是将数据储存在某个或多个特定节点上,借助网络连接各磁盘空间,将分散的储存资源构成虚拟储存设备,使设备分散储存到网络平台各角落。

海量数据依照结构可以分为结构化数据、非结构化数据、半结构化数据三种类型,不同数据应用分布式储存技术的要点不同。

1.1 结构化数据分布式储存

结构化数据是一种用户定义的数据模型,包括一系列属性,每个属性都有一个数据类型储存在关系数据库内,可用二维表结构表达数据内容。大部分系统均为结构化数据,在单一节点数据库无法支撑大量数据的情况下,可使用垂直扩展与水平扩展方式。

垂直扩张就是依照功能划分数据库,将不同功能数据储存在不同数据库中,使大数据库被切分为多个小数据库,从而实现数据库拓展目标。在企业网络系统架构中,总功能需要由多个核功能模块组成,不同功能模块的数据对应到数据库中会以一张或多张表的形式储存。各功能模块之间交互越少就越统一,系统耦合度就越低,更容易实现垂直切分。

水平扩展主要就是将数据水平切分为数据行,使表中的某些行切分到数据库中,另外某些行切分到其他数据库中。为了更加容易地判别不同行数据切分数据库种类,切分工作需要依照某种特定规则进行,如某个数字字段范围、某个时间类型字段范围。

1.2 非结构化数据分布式储存技术

不方便使用数据库二维逻辑表表现的数据就是非结构化数据,具体可包括所有格式办公文档、文本、图片、各类报表等。分布式文档需要以GFS为主要构架。

具体而言,GFS构架主要由客户端、主服务器、数据模块组成。其中,客户端是GFS提供应用程序的访问接口,是一组专用接口,以库文件形式提供。应用程序直接调用此些库函数,并将该库链接在一起;主服务器是GFS的管理节点,需要储存与数据文件相关的元数据,如命名空间等;数据块服务器负责数据储存工作,借助GFC系统,将文件依照固定大小分类。GFS采用副本方式实现容错目标,每一个数据块中均有多个储存副本,数据块的数目直接决定了GFS规模。

1.3 半结构化数据分布式储存技术

半结构化数据介于结构化数据与非结构化数据之间,半结构化数据模型具有结构性特征,但面向的对象更为灵活。半结构数据模型不同于传统数据库模式,不适用于传统关系型数据库储存,需要使用非关系型、分布式、轻量级数据储存系统。

借助松耦合类型、可扩展数据模式对数据进行逻辑建模,不是使用固定关系模式构建数据模型。遵循CAP定理开展跨多节点数据分布模型设计工作,支持水平伸缩,满足多数据中心与动态供应要求。

分布式储存技术能够应用在磁盘与内存中,从根本上提升数据持久化能力,实现可热拔插定制储存目标。

2 分布式储存中网络通信建设现状

分布式储存技术应用过程中,传统网络各储存节点之间的网络互联性很容易出现网络瓶颈。同时,分布式储存技术在数据传输环节也容易出现延时问题,导致网络开销进一步增大。

随着网络带宽高速增长,软件上的消耗成为制约分布式储存技术应用的重要原因之一,可以借助CPU高性能传输与远程直接数据储存方式,打造分布式储存网络通信。

远程直接数据储存主要就是指网卡完全绕过CPU,实现两个服务器之间的内存数据交换。远程直接数据技术是一种硬件实现网络传输的技术手段,能够大幅度提升网络传输效率,帮助网络完成密集性业务,如分布式储存、分布式数据库构建,控制网络数据传输时延,获得更高的吞吐量。

传统远程直接数据技术的硬件成本高,需要使用高性能计算机,实际应用范围较小。随着现阶段网络技术发展速度不断加快,以太网上就可以灵活使用远程直接数据传输方式。

现有远程直接数据储存在以太网上需要遵循特定的传输协议,相较于传统网络协议而言,UDP协议更加快速,占CPU资源较少,也不会利用滑动窗口、应答机制实现数据可靠传输。在数据出现丢包情况下,可以借助上层应用设备检查并重传,一定程度影响到,分布式储存技术实际应用期间的数据传输效率。

3 分布式储存中远程直接数据储存技术应用问题

在远程直接数据储存技术使用过程中,需要使用程序代码配合。同时,远程直接数据储存操作语义更加贴近硬件实现的语意形态,与传统网络形态相比存在较大差异,不能够直接应用于储存接口,且远程直接数据储存的编程更为复杂,具有异步性特征。现有网络通信开发者没有掌握适配远程直接数据储存技术的相关操作技能,在编写全新储存原生应用程序期间的难度更大。

4 分布式储存在网络通信中的实际应用

4.1 在RPC模块中的应用

分布式储存技术通常会使用RPC框架进行网络通信, RPC框架性能可直接影响到分布式储存性能。现阶段构建 RPC模块需要满足多种数据传输协议、支持携程快速处理要求,应用在各类高性能场所中。RPC模块需要同时满足传统集中数据储存以及远程直接数据储存传输要求。在远程直接数据储存中注册统一管理内存,采用双边操作开展数据传输,制定支持事件以及轮询请求检测机制。

通过对比分析传统数据传输与远程直接数据传输方式,发现远程直接数据传输技术应用期间的优势更加明显,在低深度性能下能够获得更加良好的性能。通过RPC对接业务进行测试,发现在多副本数据储存业务中,远程直接数据传输没有充分展现出其优异的使用性能,反而在里程切换、数据复制、IO路径的其他模块中引入中出现了额外开销。

借助Ceph双边编程方式,在传输环节并没有绕开CPU。同时,Ceph内部使用的数据结构需要进行多次内存拷贝,没有充分发挥出远程直接数据传输工作中的拷贝特征。

因远程直接数据为异步编程模型,需要使用特定程序检验数据操作的完成效果。借助单独到线程轮询不仅无法降低CPU,反之会产生更多CPU开销。如果使用事件机制,会增加延迟并降低传输性能。

4.2 在 NVMe-oF中使用

NVMe-oF主要就是借助远程直接数据或者光纤通道架构等方式,将本地高速传输访问优势暴露给远程应用的一种传输技术,能够有效实现相关逻辑。通过对比分析 NVMe-oF与传统SSD实验性能,发现通过使用远程直接数据传输方式的网络传输性能与原始网络传输性能十分接近,深度情况下的延时性只增加了11 us、写延时只增加了18 us。通过多深度研究远程直接数据传输技术的应用性能,发现在NVMe-oF情境下,远程数据传输方式能够有效发挥出自身的硬件性能。

结合SPDK中NVMe-oF应用效果,发现远程直接数据编程应用过程中,可以充分利用内存注册机制,使IO路径中使用的内存实现全流程零拷贝。

在控制信息内使用双边编程方法,对数据信息使用单边编程方法。远程直接数据储存在应用期间没有线程切换,为全用户态IO处理。

4.3 EDS内远程直接数据储存实际应用

通过分析分布式储存中远程直接储存技术的实际应用要点,发现仅单纯增加分布式储存硬件设施,难以充分发挥出设备优秀储存性能。在网络通讯设计环节,需要对整体框架进行远程直接数据储存的适配,通过开展IO路径上各模块的联动优化工作,才能够充分发挥出分布式储存技术实际应用期间的最优化性能。

在EDS中,可以针对远程直接数据储存技术设计出低延迟高并发储存架构,将储存节点前后端使用专用接口接入,实现低延迟极速网络传输目标,对IO上的各模块进行优化设计。由于EDS储存架构无锁化编程模型,正好优化了各模块之间的数据处理方式,进一步提升了系统运行期间的各项性能。

在前端协议网关运行期间,网关可以接收来自用户的多种协议要求。将不同协议要求借助SRPC模块发送到储存服务端内,储存服务端解析请求后需要由储存引擎进行处理与访问,做好数据的写入与读取工作。

前端 PGW请求发送与回调,储存服务端请求处理run to complete方式,极大程度提高单个请求处理速度。采用无锁化编程手段,启动多个线程分组处理请求,设计统一数据暂缓管理机制,在请求处理过程中,数据由远程直接数据储存硬件设施接收后经过各模块处理,在通过硬件设施发送出去,不必对设备进行内存卡被,有效控制了系统开销,进一步降低了分布式储存环节的网络延迟。

4.4 SRPC通信模块设计

在构建通信架构环节,需要面向储存系统信息传输设置专用网络通信模块,将上层多类型请求信息封装,并使用远程直接数据储存硬件开展数据传输,进一步扩大多类型网络协议,对信息封装展开抽象与简化处理,控制数据包大小,缩短数据处理时间。

在 SRPC架构上,需要一个服务端进程绑定一个监听连接。监听连接可以设置多个程序并开展处理请求工作,请求处理以及回调过程可以在同一线程内完成。客户端创建链接方式,可指定连接线程。SRPC也可以同时支持TCP协议,兼容未配置的远程直接数据储存网卡场景。

SRPC通信架构的数据传输方式设定过程中,使用远程直接数据储存硬件开展数据传输工作,通常使用双边操作传输以及单双边操作传输相结合方式。在使用双边操作传输数据过程中,数据传输方式与传统数据网络传输方式基本相似,数据在发送端以及接收端内传输。但在发送端进行数据传输操作前,接收端需要做好准备接收数据内存的方式,并发起远程直接数据储存操作,以免在数据传输期间出现发送失败问题。双方需要约定一次传输的最大数据大小值,通常需要在创建远程直接数据传输硬件设施期间协商,接收端以该大小准备接收内存区,发送端以数据大小请求进行切分。配合使用双边数据储存的发送端与接收端,需要对数据大小请求展开切分。使用远程直接数据储存硬件开展数据传输过程中,应当避免请求小于约定大小时出现接收端内存浪费问题。请求大于约定大小期间,需要借助发送端切分多次传输机组,对接收端进行重组处理。

在单双边结合的传输方式下,双边数据传输可应用在控制类信息传输中,实际设计传输可以使用单边数据传输完成。由于数据的实际场景每次需要使用的传输数据大小并不固定,因此单边操作前需要做好数据长度以及储存信息的协商工作。使用双边数据传输方式,将带传输数据的内存地址、大小值等控制信息进行传输,而后根据数据传输类型,选择单边传输或者双边传输方式。

数据发送到实际场景中,需要传输的数据大小值不固定,因此在单边操作前需要做好数据长度以及区域内存信息的储存工作。单双边结合传输方式具有灵活性强、适用数据种类较多等特征,在传输大请求数据期间的优势更加明显,可以使用一次单边操作完成数据全部传输。同时,使用单双边相结合的方式也使得数据传输期间实现零拷贝目标,进一步控制了分布式储存环节的开销值以及网络延迟情况。

在 SRPC内部设置单双边两种检测与处理方式,并配合使用性能模式与经济模式。在性能模式下,SRPC不间断轮询获取请求,可以更加快速的响应请求,并对请求内容进行处理。在经济模式下,SRPC可以使用事件触发以及低频率轮询相结合手段请求检测处理。

5 总结

总之,在分布式储存中网络通信建设期间,可以借助远程直接数据储存方式,控制内核协议栈处理机内存拷贝成本,有效控制数据在网络上的传输延迟。数据访问需要经过软件内多个模块开展处理工作,采集与处理成本较高。在储存设备的访问延迟以及网络延迟较高情况下,软件开销对整体性能的影响家更为显著。传统传输控制协议与网际协议转向分布式储存期间,不仅需要替换数据输入法网络接口,更需要对整体网络架构展开优化设计。从根本上提升网络通讯路径各模块与分布式储存技术的联动能力,确保分布式储存技术能够充分发挥出自身优势,与其他高性能低延迟设备实现有机结合目标,进一步提升系统整体储存性能。

猜你喜欢

传输方式储存分布式
冬季养羊这样储存草料
分布式光伏热钱汹涌
安防云储存时代已来
分布式光伏:爆发还是徘徊
可穿戴式多通道传感系统功能需求分析及设计
基于分布式传感器的GIS局部放电在线监测实时数据传输方式的研究
精液长时间冷冻储存与冷冻复苏率的相关性研究
基于DDS的分布式三维协同仿真研究
浅谈工程建设中的信息化发展与网络传输方式选择
道路监控系统图像数据传输方式探讨