一种iSCSI高可用的实现方法及系统技术方案

技术编号:24764043 阅读:72 留言:0更新日期:2020-07-04 11:06
本发明专利技术提供一种iSCSI高可用的实现方法及系统所述方法包括如下步骤对iSCSI代理服务和etcd集群进行初始化,使iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行;iSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络;监控iSCSI服务端运行节点的健康状态,当不健康时触发iSCSI服务切换或基于iSCSI服务自身状态,当检测到自身iSCSI服务不健康时,自主上报故障用以触发iSCSI服务切换来实现iSCSI服务的高可用。

An implementation method and system of high availability for iSCSI

【技术实现步骤摘要】
一种iSCSI高可用的实现方法及系统
本专利技术涉及服务进程管理
,具体涉及一种iSCSI高可用的实现方法及系统。
技术介绍
Etcd是一个开源的高可用分布式键值(key-value)数据库。采用raft协议做为其一致性算法可以提供一种强一致性同时兼顾高可用的数据库存储。Etcd经常被用于服务发现系统,主要原因是其提供简单方便的Http的API接口,同时对于注册的服务配置TTL,定时更新服务的时间戳以保证监控服务状态。iSCSI是一种基于internet及SCSI-3协议下的存储技术,用于将本机的SCSI协议通过TCP/IP网络传输,通常又被称为IP-SAN。(iSCSI,InternetSmallComputerSystemInterfaceinternet,小型计算机系统接口)。由于iSCSI服务是一个服务进程,对外提供iSCSI服务,从实现角度iSCSI服务是可以被Etcd作为服务纳管。另外,在分布式环境中经常遇到的问题是,如何决定由哪个存储节点提供iSCSI服务并且当提供iSCSI服务节点故障后,迁移到哪个节点继续提供iSCSI等,此类问题可以由Etcd作为核心管理模块,实现iSCSI服务的高可用。
技术实现思路
针对iSCSI服务在分布式环境中经常遇到如何决定由哪个存储节点提供iSCSI服务,并且当提供iSCSI服务节点故障后,迁移到哪个节点继续提供iSCSI的问题,本专利技术提供一种iSCSI高可用的实现方法及系统。本专利技术的技术方案是:一方面,本专利技术技术方案提供一种iSCSI高可用的实现方法,包括如下步骤:对iSCSI代理服务和etcd集群进行初始化,使iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行;iSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络;监控iSCSI服务端运行节点的健康状态,当不健康时触发iSCSI服务切换来实现iSCSI服务的高可用;或,基于iSCSI服务自身状态,当检测到自身iSCSI服务不健康时,自主上报故障用以触发iSCSI服务切换来实现iSCSI服务的高可用。当存储端服务故障时,触发iSCSI连接断开,此时iSCSI客户端会向iSCSI服务端查询其真实网络,此时返回真实网络至iSCSI客户端再次建立连接,保证iSCSI业务不中断实现高可用。进一步的,所述的对iSCSI代理服务和etcd集群进行初始化的步骤包括:以每个节点的基本参数部署etcd集群;所述的基本参数包括节点IP、主机名、etcd集群名;在每个节点启动iSCSI代理服务,该服务连接到etcd集群并生成的唯一标识并记录该节点的唯一标识;iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行,如果运行则定时向etcd更新TTL。进一步的,所述的以每个节点的基本参数部署etcd集群的步骤之后还包括:部署etcd集群完成后,在etcd的分布式数据库中创建以proxy名称作为key的目录。进一步的,所述的在每个节点启动iSCSI代理服务,该服务连接到etcd集群并生成的唯一标识并记录该节点的唯一标识的步骤具体包括:在每个节点启动iSCSI代理服务,该服务通过etcd提供的restfulAPI连接etcd集群生成唯一标识,并根据生成的唯一标识在proxy目录下创建子key同时记录该节点的唯一标识。进一步的,所述的iSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络的步骤具体包括:每个节点通过iSCSI代理服务查询proxy目录下所有的子key;根据每个节点的自身唯一标识作Hash运行计算节点中Hash值,检测自身节点值是否最小;若自身节点的值最小,则将浮动IP配置到实际网络上。进一步的,根据每个节点的自身唯一标识作Hash运行计算节点中Hash值,检测自身节点值是否最小;若自身节点的值最小,则将浮动IP配置到实际网络上的步骤之后还包括:在etcd集群中的键值数据库中创建名称为vip的key目录用于记录当前iSCSI服务对外提供的浮动IP。另一方面,本专利技术技术方案提供一种iSCSI高可用的实现系统,包括初始化模块、网络部署模块、高可用实现模块;初始化模块,用于对iSCSI代理服务和etcd集群进行初始化,使iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行;网络部署模块,用于iSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络;高可用实现模块,用于监控iSCSI服务端运行节点的健康状态,当不健康时触发iSCSI服务切换来实现iSCSI服务的高可用;高可用实现模块,用于基于iSCSI服务自身状态,当检测到自身iSCSI服务不健康时,自主上报故障用以触发iSCSI服务切换来实现iSCSI服务的高可用。进一步的,初始化模块包括etcd集群部署单元、目录创建单元、服务启动处理单元、更新单元;etcd集群部署单元,用于以每个节点的基本参数部署etcd集群;所述的基本参数包括节点IP、主机名、etcd集群名;目录创建单元,用于部署etcd集群完成后,在etcd的分布式数据库中创建以proxy名称作为key的目录;服务启动处理单元,用于在每个节点启动iSCSI代理服务,该服务连接到etcd集群并生成的唯一标识并记录该节点的唯一标识;更新单元,用于当iSCSI代理服务轮询检测自身节点的iSCSI服务已经运行时定时向etcd更新时间戳。进一步的,所述的服务启动处理单元,具体用于在每个节点启动iSCSI代理服务,该服务通过etcd提供的restfulAPI连接etcd集群生成唯一标识,并根据生成的唯一标识在proxy目录下创建子key同时记录该节点的唯一标识。进一步的,所述的网络部署模块包括部署单元和记录单元;部署单元,用于每个节点通过iSCSI代理服务查询proxy目录下所有的子key并根据每个节点的自身唯一标识作Hash运行计算节点中Hash值,检测自身节点值是否最小;若自身节点的值最小,则将浮动IP配置到实际网络上;记录单元,用于在etcd集群中的键值数据库中创建名称为vip的key目录来记录当前iSCSI服务对外提供的浮动IP。vip为VirtualIP,即浮动IP,该IP为iSCSI服务对外提供的IP地址,客户端Client端通过vip与iSCSI服务端连接;每个分布式存储节点都提供一个iSCSI服务和iSCSI代理(iSCSIProxy)。iSCSI服务由分布式存储提供可以对接分布式存储,iSCSIProxy为etcd代理,定时检测iSCSI服务是否存活,同时和etcd集群通信定时更新TTL。由部分提供分布式存储和iSCSI服务的节点部署etcd集群。从以上技术方案可以看出,本专利技术具有以下优点:将iSCSI报文均衡的发送到不同的iSCSI服务器端,同时不本文档来自技高网...

【技术保护点】
1.一种iSCSI高可用的实现方法,其特征在于,包括如下步骤:/n对iSCSI代理服务和etcd集群进行初始化,使iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行;/niSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络;/n监控iSCSI服务端运行节点的健康状态,当不健康时触发iSCSI服务切换浮动IP来实现iSCSI服务的高可用;或/n基于iSCSI服务自身状态,当检测到自身iSCSI服务不健康时,自主上报故障用以触发iSCSI服务切换浮动IP来实现iSCSI服务的高可用。/n

【技术特征摘要】
1.一种iSCSI高可用的实现方法,其特征在于,包括如下步骤:
对iSCSI代理服务和etcd集群进行初始化,使iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行;
iSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络;
监控iSCSI服务端运行节点的健康状态,当不健康时触发iSCSI服务切换浮动IP来实现iSCSI服务的高可用;或
基于iSCSI服务自身状态,当检测到自身iSCSI服务不健康时,自主上报故障用以触发iSCSI服务切换浮动IP来实现iSCSI服务的高可用。


2.根据权利要求1所述的一种iSCSI高可用的实现方法,其特征在于,所述的对iSCSI代理服务和etcd集群进行初始化的步骤包括:
以每个节点的基本参数部署etcd集群;所述的基本参数包括节点IP、主机名、etcd集群名;部署etcd集群完成后,在etcd的分布式数据库中创建以proxy名称作为key的目录;
在每个节点启动iSCSI代理服务,该服务连接到etcd集群并生成的唯一标识并记录该节点的唯一标识;
iSCSI代理服务轮询检测自身节点的iSCSI服务是否已经运行,如果运行则定时向etcd更新时间戳。


3.根据权利要求2所述的一种iSCSI高可用的实现方法,其特征在于,所述的在每个节点启动iSCSI代理服务,该服务连接到etcd集群并生成的唯一标识并记录该节点的唯一标识的步骤具体包括:
在每个节点启动iSCSI代理服务,该服务通过etcd提供的restfulAPI连接etcd集群生成唯一标识,并根据生成的唯一标识在proxy目录下创建子key同时记录该节点的唯一标识。


4.根据权利要求3所述的一种iSCSI高可用的实现方法,其特征在于,所述的iSCSI服务在分布式存储节点启动后,通过浮动IP为iSCSI服务部署网络的步骤具体包括:
每个节点通过iSCSI代理服务查询proxy目录下所有的子key;
根据每个节点的自身唯一标识作Hash运行计算节点中Hash值,检测自身节点值是否最小;若自身节点的值最小,则将浮动IP配置到实际网络上;在etcd集群中的键值数据库中创建key目录用于记录当前iSCSI服务对外提供的浮动IP。


5.根据权利要求4所述的一种iSCSI高可用的实现方法,其特征在于,iSCSI服务自身故障时,iSCSI代理定时检测iSCSI服务是否存活,若不存活,则iSCSI代理停止更新,同时向etcd集群更新其对应的健值为faulty,同时在该节点的实际网络上删除浮动IP;所有节点的iSCSI代理检测到key值为faulty时,检测自身对应的健值是否是在所有存活节点中值最小,如果为最小,则从etcd集群中的vip目录中读取...

【专利技术属性】
技术研发人员:方浩
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1