System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式存储ceph的调优、云计算、容器,具体涉及一种ceph在容器中使用rdma网络的方法、装置、设备及介质。
技术介绍
1、远程直接内存访问remote direct memory access(rdma)是一种允许网络中计算机在主内存中交换数据而无需经过每个计算机的处理器、缓存或操作系统;类似本地的直接内存访问(direct memory access,dma),rdma提升了网络带宽和性能,因为它释放了资源;rdma也加速了数据传输率以及获得了更低的网络延迟;rdma技术提升了网络和存储应用的性能;随着分布式存储技术的不断发展,存储的规模越来越大,其存储的数据量也越来越强大。
2、伴随着信息技术的发展,整个社会的运作和前进都极大地依赖计算机信息系统,由于ceph其数据3副本的特性,可以极大保证数据不丢失,例如生产计划、物料资料、销售信息、客户资料、核心代码等数据作为企业或个人的重要资产也都存储在分布式存储中;ceph作为分布式存储软件,在保证数据安全稳定的同时,其性能问题十分重要;当计算机系统需要获取大量人员基本信息、人员健康信息、轨迹信息,且需要在秒甚至毫秒返回至用户,才能保证现场正常进行不至于大面积拥堵,这就要求ceph具备强大的写入和检索性能,因此ceph的性能优化不可避免,因此对于ceph的使用厂商必须做到有备无患。
3、分布式存储系统(ceph)是任何数据密集型应用程序中最重要的组件,可以处理大量数据和复杂的工作负载,但是很难管理,主要是因为它支持block、fs、rgw的3
技术实现思路
1、本专利技术的目的在于克服上述技术不足,提供一种ceph在容器中使用rdma网络的方法、装置、设备及介质,解决现有技术中不能在容器中使用rdma通讯的技术问题。
2、为达到上述技术目的,本专利技术采取了以下技术方案:
3、第一方面、本专利技术提供一种ceph在容器中使用rdma网络的方法,包括如下步骤:
4、基于ceph源码,将rdma协议栈添加至所述ceph源码中,以生成可执行文件;
5、基于所述可执行文件,按照dokcerfile定义标准,构建可在容器中运行的ceph镜像;
6、获取kubernetes存储运行时接口、容器存储接口以及verbsapi接口,基于所述kubernetes存储运行时接口、容器存储接口以及verbsapi接口,构建插件,其中,所述插件至少包括第一插件以及第二插件;
7、基于所述ceph镜像、kubernetes以及容器存储接口,通过所述插件将所述kubernetes、ceph以及容器整体连通后,使所述ceph正常运行并全程使用rdma通讯。
8、在其中一些实施例中,所述基于ceph源码,将rdma协议栈添加至所述ceph源码中,以生成可执行文件,包括:
9、基于ceph源码,将rdma协议栈添加至所述ceph源码中,并增加cmake rdma编译的定义,c/c++代码按照所述定义连接头文件和库文件依赖后,通过编译器编译生成可执行文件,以实现ceph支持rdma网络通讯。
10、在其中一些实施例中,所述基于所述可执行文件,按照dokcerfile定义标准,构建可在容器中运行的ceph镜像,包括:
11、基于所述可执行文件,按照dokcerfile定义标准,通过使用关键字并结合自定义的构建逻辑,完成ceph-dockerfile完整定义后,通过执行dockerbuild生成可在容器运行的ceph镜像。
12、在其中一些实施例中,所述关键字至少包括from、label、copy、add、workdir、run、cmd。
13、在其中一些实施例中,所述基于所述kubernetes存储运行时接口、容器存储接口以及verbsapi接口,构建插件,包括:
14、基于所述verbsapi接口,构建第一插件,以支持rdma协议,使得容器和宿主通过rdma通讯;
15、基于所述kubernetes存储运行时接口以及容器存储接口,构建第二插件,以实现对kubernetes的支持。
16、在其中一些实施例中,所述容器和宿主通过rdma通讯,包括:
17、安装并运行插件后,通过docker将网卡设备透传入容器内,同时插件内部使用所述网卡建立驱动和内核运行空间,使得容器与宿主通过网卡基于rdma协议通讯和数据交换。
18、在其中一些实施例中,所述基于所述ceph镜像、kubernetes以及容器存储接口,通过所述插件将所述kubernetes、ceph以及容器整体连通后,使所述ceph正常运行并全程使用rdma通讯,包括:
19、基于所述ceph镜像、kubernetes以及容器的容器存储接口,所述插件将所述kubernetes、ceph以及容器通过ipc通讯整体连通,使所述ceph正常进行创建卷、挂载卷、数据读写入卷,并全程使用rdma通讯。
20、第二方面、本专利技术还提供一种ceph在容器中使用rdma网络的装置,包括:
21、协议栈添加模块,用于基于ceph源码,将rdma协议栈添加至所述ceph源码中,以生成可执行文件;
22、ceph镜像构建模块,用于基于所述可执行文件,按照dokcerfile定义标准,构建可在容器中运行的ceph镜像;
23、插件构建模块,用于获取kubernetes存储运行时接口、容器存储接口以及verbsapi接口,基于所述kubernetes存储运行时接口、容器存储接口以及verbsapi接口,构建插件,其中,所述插件至少包括第一插件以及第二插件;
24、ceph运行rdma模块,用于基于所述ceph镜像、kubernetes以及容器存储接口,通过所述插件将所述kubernetes、ceph以及容器整体连通后,使所述ceph正常运行并全程使用rdma通讯。
25、第三方面、本专利技术还提供一种电子设备,包括:处理器和存储器;
26、所述存储器上存储有可被所述处理器执行的计算机可读程序;
27、所述处理器执行所述计算机可读程序时实现如上所述的ceph在容器中使用rdma网络的方法中的步骤。
28、第四方面、本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述本文档来自技高网...
【技术保护点】
1.一种CEPH在容器中使用RDMA网络的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述CEPH在容器中使用RDMA网络的方法,其特征在于,所述基于CEPH源码,将RDMA协议栈添加至所述CEPH源码中,以生成可执行文件,包括:
3.根据权利要求1所述CEPH在容器中使用RDMA网络的方法,其特征在于,所述基于所述可执行文件,按照Dokcerfile定义标准,构建可在容器中运行的CEPH镜像,包括:
4.根据权利要求3所述CEPH在容器中使用RDMA网络的方法,其特征在于,所述关键字至少包括FROM、LABEL、COPY、ADD、WORKDIR、RUN、CMD。
5.根据权利要求1所述CEPH在容器中使用RDMA网络的方法,其特征在于,所述基于所述Kubernetes存储运行时接口、容器存储接口以及VerbsAPI接口,构建插件,包括:
6.根据权利要求5所述CEPH在容器中使用RDMA网络的方法,其特征在于,所述容器和宿主通过RDMA通讯,包括:
7.根据权利要求1所述CEPH在容器中使用RDMA
8.一种CEPH在容器中使用RDMA网络的装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器和存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的CEPH在容器中使用RDMA网络的方法中的步骤。
...【技术特征摘要】
1.一种ceph在容器中使用rdma网络的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述ceph在容器中使用rdma网络的方法,其特征在于,所述基于ceph源码,将rdma协议栈添加至所述ceph源码中,以生成可执行文件,包括:
3.根据权利要求1所述ceph在容器中使用rdma网络的方法,其特征在于,所述基于所述可执行文件,按照dokcerfile定义标准,构建可在容器中运行的ceph镜像,包括:
4.根据权利要求3所述ceph在容器中使用rdma网络的方法,其特征在于,所述关键字至少包括from、label、copy、add、workdir、run、cmd。
5.根据权利要求1所述ceph在容器中使用rdma网络的方法,其特征在于,所述基于所述kubernetes存储运行时接口、容器存储接口以及verbsapi接口,构建...
【专利技术属性】
技术研发人员:朱红超,陶天林,季武雄,张永强,
申请(专利权)人:武汉达梦数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。