一种分布式存储服务切换方法及装置制造方法及图纸

技术编号:27934837 阅读:32 留言:0更新日期:2021-04-02 14:14
本申请涉及数据存储技术领域,特别涉及一种分布式存储服务切换方法及装置。该方法包括:接收客户端发送的第一数据读写请求,并确定处理所述第一数据读写请求的目标存储服务器;将所述第一数据读写请求发送给目标存储服务器对应的目标智能网卡,以使得所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理;若检测到所述目标智能网卡故障,则启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务,以使得所述目标存储服务器基于本地运行的分布式存储服务对所述客户端发送的需所述目标存储服务器进行处理的第二数据读写请求进行数据处理。

【技术实现步骤摘要】
一种分布式存储服务切换方法及装置
本申请涉及数据存储
,特别涉及一种分布式存储服务切换方法及装置。
技术介绍
分布式存储,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。传统的ServerSan(软件定义存储)分布式存储架构为:服务器上配置普通网卡,分布式存储软件运行在主机的x86CPU上。节点间通信采用TCP协议,经内核网络协议栈。各节点上分布式存储管理物理主机本地(PCIe)的NVMe设备。集群联动对外提供存储服务,并保证存储数据的一致性。然而,传统的分布式存储架构中,运行在物理机上的分布式存储软件会占用物理机的cpu,内存等系统资源;与虚拟机共用物理机cpu资源,分布式存储软件占用的cpu数量会影响可建立的虚拟机数量。运行在物理机的分布式存储性能会受物理机OS和虚拟机运行的影响。运行在物理机的分布式存储软件管理其本地存储资源,也需要消耗一部分系统资源,即通过系统调用访问抽象的块层。为了解决上述问题,可以通过在存储服务器上配置nvme盘,智能网卡,及配置Nvmeoftarget。智能网卡上有独立于物理服务器的cpu,如Armcpu,在Armcpu上运行分布式存储软件,分布式存储软件所管理数据盘是通过Nvmeof连接到本主机的Nvmeoftarget形成网络数据盘。多个Arm存储结点组成分布式存储。但是,基于智能网卡的分布式存储集群的可靠性受限于智能网卡的Arm节点的数量,如最小分布式存储集群节点数为3。当3个智能网卡组成集群环境里的一个智能网卡故障时,集群里只有2个节点时,存在脑裂风险;当3个智能网卡组成集群环境里的超过两个智能网卡故障时,集群不能提供服务。对一定数量节点的分布式存储,当集群少量节点down,剩余存储集群节点数量仍能满足要求,常规处理方法是触发数据平衡。当只有智能网卡故障,而磁盘是正常的,此时因为智能网卡故障,导致此节点不能正常读写磁盘,集群虽然还能提供存储服务,但新的存储IO会分散到其他节点的磁盘上,最终引起整个集群的数据不均衡。
技术实现思路
本申请提供了一种分布式存储服务切换方法及装置,用以解决现有技术中存在的由于智能网卡故障而导致分布式存储服务不可用的问题。第一方面,本申请提供了一种分布式存储服务切换方法,应用于分布式存储系统,所述分布式存储系统中各存储服务器分别配置有对应的智能网卡,各智能网卡上运行分布式存储服务,所述各智能网卡分别与其对应的存储服务器上用于管理本地存储资源的控制器建立RDMA通道,所述各存储服务器上部署有被设置为待启动状态的分布式存储服务,所述方法包括:接收客户端发送的第一数据读写请求,并确定处理所述第一数据读写请求的目标存储服务器;将所述第一数据读写请求发送给目标存储服务器对应的目标智能网卡,以使得所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理;若检测到所述目标智能网卡故障,则启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务,以使得所述目标存储服务器基于本地运行的分布式存储服务对所述客户端发送的需所述目标存储服务器进行处理的第二数据读写请求进行数据处理。可选地,所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理的步骤包括:所述目标智能网卡将所述第一数据读写请求发送至所述目标存储服务器上用于管理本地存储资源的控制器,其中,所述控制器通过其对应的RDMA通道对所述第一数据读写请求进行数据处理。可选地,所述目标智能网卡在正常运行时,基于预设的周期向所述目标存储服务器的内存中的第一指定位置写入心跳计数信息;检测到所述目标智能网卡故障的步骤包括:当检测到所述目标存储服务器的内存中的第一指定位置维护的心跳计数在预设时长内未增加时,确定检测到所述目标智能网卡故障。可选地,所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务启动之后,所述目标存储服务器基于预设的周期向内存中的第二指定位置写入心跳计数信息;在检测到所述目标智能网卡恢复正常时,若所述目标存储服务器上部署的分布式存储服务的状态为待启动和/或所述目标存储服务器的内存中的第二指定位置维护的心跳计数在预设时长内未增加,则所述目标智能网卡启动分布式存储服务,并对所述客户端发送的需所述目标存储服务器进行处理的第三数据读写请求进行数据处理。可选地,所述方法还包括:在检测到所述目标智能网卡恢复正常时,若所述目标存储服务器上部署的分布式存储服务运行正常,则所述目标智能网卡向所述目标存储服务器发送切换指令,并启动计时器,以使得所述目标存储服务器将本地运行的分布式存储服务设置为待启动状态,并启动与所述目标智能网卡之间的RDMA通道,以及向所述目标智能网卡发送切换完成指令;若所述目标智能网卡在接收到所述切换完成指令/在所述计时器超时时未接收到所述切换完成指令,则所述目标智能网卡启动分布式存储服务,并对所述客户端发送的需所述目标存储服务器进行处理的第三数据读写请求进行数据处理。可选地,所述方法还包括:在所述目标智能网卡上启动分布式存储服务时,将所述目标存储服务器存储资源中存储的元数据加载至所述目标存储服务器的内存中的第三指定位置,其中,在检测到所述目标智能网卡故障,启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务时,所述目标存储服务器基于所述第三指定位置存储的元数据对所述第二数据读写请求进行数据处理。第二方面,本申请提供了一种分布式存储服务切换装置,应用于分布式存储系统,所述分布式存储系统中各存储服务器分别配置有对应的智能网卡,各智能网卡上运行分布式存储服务,所述各智能网卡分别与其对应的存储服务器上用于管理本地存储资源的控制器建立RDMA通道,所述各存储服务器上部署有被设置为待启动状态的分布式存储服务,所述装置包括:接收单元,用于接收客户端发送的第一数据读写请求,并确定处理所述第一数据读写请求的目标存储服务器;发送单元,用于将所述第一数据读写请求发送给目标存储服务器对应的目标智能网卡,以使得所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理;切换单元,用于在检测到所述目标智能网卡故障时,启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务,以使得所述目标存储服务器基于本地运行的分布式存储服务对所述客户端发送的需所述目标存储服务器进行处理的第二数据读写请求进行数据处理。可选地,所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理的步骤包括:所述目标智能网卡将所述第一数据读写请求发送至所述目标存储服务器上用于管理本文档来自技高网
...

【技术保护点】
1.一种分布式存储服务切换方法,其特征在于,应用于分布式存储系统,所述分布式存储系统中各存储服务器分别配置有对应的智能网卡,各智能网卡上运行分布式存储服务,所述各智能网卡分别与其对应的存储服务器上用于管理本地存储资源的控制器建立RDMA通道,所述各存储服务器上部署有被设置为待启动状态的分布式存储服务,所述方法包括:/n接收客户端发送的第一数据读写请求,并确定处理所述第一数据读写请求的目标存储服务器;/n将所述第一数据读写请求发送给目标存储服务器对应的目标智能网卡,以使得所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理;/n若检测到所述目标智能网卡故障,则启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务,以使得所述目标存储服务器基于本地运行的分布式存储服务对所述客户端发送的需所述目标存储服务器进行处理的第二数据读写请求进行数据处理。/n

【技术特征摘要】
1.一种分布式存储服务切换方法,其特征在于,应用于分布式存储系统,所述分布式存储系统中各存储服务器分别配置有对应的智能网卡,各智能网卡上运行分布式存储服务,所述各智能网卡分别与其对应的存储服务器上用于管理本地存储资源的控制器建立RDMA通道,所述各存储服务器上部署有被设置为待启动状态的分布式存储服务,所述方法包括:
接收客户端发送的第一数据读写请求,并确定处理所述第一数据读写请求的目标存储服务器;
将所述第一数据读写请求发送给目标存储服务器对应的目标智能网卡,以使得所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理;
若检测到所述目标智能网卡故障,则启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务,以使得所述目标存储服务器基于本地运行的分布式存储服务对所述客户端发送的需所述目标存储服务器进行处理的第二数据读写请求进行数据处理。


2.如权利要求1所述的方法,其特征在于,所述目标智能网卡基于本地运行的分布式存储服务对所述第一数据读写请求进行数据处理的步骤包括:
所述目标智能网卡将所述第一数据读写请求发送至所述目标存储服务器上用于管理本地存储资源的控制器,其中,所述控制器通过其对应的RDMA通道对所述第一数据读写请求进行数据处理。


3.如权利要求1或2所述的方法,其特征在于,所述目标智能网卡在正常运行时,基于预设的周期向所述目标存储服务器的内存中的第一指定位置写入心跳计数信息;
检测到所述目标智能网卡故障的步骤包括:
当检测到所述目标存储服务器的内存中的第一指定位置维护的心跳计数在预设时长内未增加时,确定检测到所述目标智能网卡故障。


4.如权利要求3所述的方法,其特征在于,所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务启动之后,所述目标存储服务器基于预设的周期向内存中的第二指定位置写入心跳计数信息;
在检测到所述目标智能网卡恢复正常时,若所述目标存储服务器上部署的分布式存储服务的状态为待启动和/或所述目标存储服务器的内存中的第二指定位置维护的心跳计数在预设时长内未增加,则所述目标智能网卡启动分布式存储服务,并对所述客户端发送的需所述目标存储服务器进行处理的第三数据读写请求进行数据处理。


5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在检测到所述目标智能网卡恢复正常时,若所述目标存储服务器上部署的分布式存储服务运行正常,则所述目标智能网卡向所述目标存储服务器发送切换指令,并启动计时器,以使得所述目标存储服务器将本地运行的分布式存储服务设置为待启动状态,并启动与所述目标智能网卡之间的RDMA通道,以及向所述目标智能网卡发送切换完成指令;若所述目标智能网卡在接收到所述切换完成指令/在所述计时器超时时未接收到所述切换完成指令,则所述目标智能网卡启动分布式存储服务,并对所述客户端发送的需所述目标存储服务器进行处理的第三数据读写请求进行数据处理。


6.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标智能网卡上启动分布式存储服务时,将所述目标存储服务器存储资源中存储的元数据加载至所述目标存储服务器的内存中的第三指定位置,其中,在检测到所述目标智能网卡故障,启动所述目标存储服务器上部署的被设置为待启动状态的分布式存储服务时,所述目标存储服务器基于所述第三指定位置存储的元数据对所述第二数据读写请求进行数据处理。


7.一种分布式存储服务切换装置,其特征在于,...

【专利技术属性】
技术研发人员:钟晋明
申请(专利权)人:新华三云计算技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1