iSCSI客户端的接入方法、存储介质、客户端和存储节点与流程

文档序号:17126166发布日期:2019-03-16 00:28阅读:430来源:国知局
iSCSI客户端的接入方法、存储介质、客户端和存储节点与流程

本发明涉及计算机领域,特别涉及一种iscsi客户端的接入方法、存储介质、客户端和存储节点。



背景技术:

internet小型计算机系统接口(internetsmallcomputersysteminterface,iscsi)是一种基于tcp/ip的协议,用来建立和管理ip存储节点、客户端等之间的相互连接,并创建存储区域网络。

传统的分布式存储iscsi的一种实现方法是:集群中多个存储节点提供target(iscsi服务程序)服务,每个存储节点提供一个物理ip供客户端连接。客户端的高可靠性依赖客户端采用多路径和多个存储节点建立连接,但是如何划分连接并实现负载均衡需要人工在客户端软件进行设置,因此整个集群的负载均衡依赖人工干预。

传统的分布式存储iscsi的另一种实现方法是:集群中多个存储节点提供target服务,每个存储节点提供至少一个虚拟ip供客户端连接,虚拟ip可以在存储节点down机后漂移到其它正常的存储节点继续提供服务。客户端的高可靠不依赖客户端软件,而通过管理员的人工规划实现,包括集群配置的虚拟ip数量,且每个虚拟ip对应的负载情况,因此整个集群的负载均衡也同样依赖人工干预。

上述两个负载均衡的实现方法均离不开人工干预,不能自动运行,当节点出现故障后,需要人工维护并调整,导致维护任务繁琐且容易出错。



技术实现要素:

有鉴于此,本发明提供一种iscsi客户端的接入方法、存储介质、客户端和存储节点,以解决客户端如何基于负载均衡动态接入存储节点问题。

本发明提供一种iscsi客户端的接入方法,应用于iscsi的存储节点,存储节点包括主控节点和备用节点,每个存储节点包括一个iscsi网关和至少一个节点存储设备,主控节点的iscsi网关的ip为第一ip,节点存储设备的ip为第二ip,该方法包括:

当客户端通过第一ip与主控节点的iscsi网关建立连接后,主控节点的iscsi网关基于负载均衡的预设策略确定重定向第二ip;并将重定向第二ip反馈给客户端,使客户端基于重定向第二ip与重定向第二ip对应的节点存储设备建立会话连接。

本发明还提供一种iscsi客户端的接入方法,应用于客户端,包括:

步骤11:通过第一ip与iscsi网关建立连接并获取重定向第二ip,重定向第二ip由iscsi网关基于负载均衡的预设策略确定;

步骤13:基于重定向第二ip与重定向第二ip对应的存储节点建立会话连接。

本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由处理器执行时使得处理器执行如上述应用于存储节点的iscsi客户端的接入方法中的步骤。

本发明还提供一种存储节点,包括存储设备、处理器以及存储在存储设备中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用于存储节点的iscsi客户端的接入方法中的步骤。

本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由处理器执行时使得处理器执行上述应用于客户端的iscsi客户端的接入方法中的步骤。

本发明还提供一种客户端,包括存储设备、处理器以及存储在存储设备中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用于客户端的iscsi客户端的接入方法中的步骤。

本发明基于负载均衡的实现原理,集群对外的虚拟ip是第一ip,当客户端通过第一ip请求与集群建立iscsi连接时,iscsi网关会自动根据预设策略去选取一个合适存储节点设备及其重定向第二ip,客户端使用重定向第二ip建立最终的会话连接,其优点在于:

(1)使用简单,客户端在对接集群时,仅需要知道第一ip;

(2)负载均衡完全由iscsi网关控制,无需人工干预,且便于维护。

附图说明

图1为本发明存储节点的结构图;

图2为iscsi网关重定向过程示意;

图3为本发明应用于客户端的iscsi客户端的接入方法的流程图;

图4为本发明客户端的结构图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图1为本发明的存储节点的结构图,iscsi集群中包含多个图1的存储节点,每个存储节点包括一个iscsi网关和至少一个节点存储设备,其中一个存储节点为iscsi网关的主控节点,其他存储节点为iscsi网关的备用节点,主控节点的iscsi网关的ip为第一ip,各节点存储设备的ip为第二ip,第一ip用于客户端与主控节点的iscsi网关建立连接,第二ip用于客户端与节点存储设备建立连接。

为了解决管理员随时掌握虚拟ip的数量及使用情况,本发明首创了两种类型的虚拟ip,一种是第一ip(对应主控节点的iscsi网关),一种是第二ip(对应节点存储设备)。整个集群提供唯一一个第一ip,用于客户端接入主控节点的iscsi网关并获取网关服务。业务数据流则通过第二ip抵达存储节点。每个存储节点至少提供一个第二ip,第二ip不对外呈现。

基于图1的存储节点的设计,提出本发明的iscsi客户端的接入方法,应用于iscsi的存储节点,包括:

当客户端通过第一ip与主控节点的iscsi网关建立连接后,主控节点的iscsi网关基于负载均衡的预设策略确定重定向第二ip;并将重定向第二ip反馈给客户端,使客户端基于重定向第二ip与重定向第二ip对应的节点存储设备建立会话连接。

iscsi网关是本发明设计的关键因素,在统一接入方面,设计了第一ip,第一ip始终跟随着主控节点的iscsi网关,保证了集群对外服务的连续性。在负载均衡方面充分开发了iscsi协议login子协议的redirection机制。客户端通过第一ip登入iscsi网关后,iscsi网关根据预设策略选取合适的重定向第二ip(对应节点存储设备)。

iscsi网关有以下作用:

(1)负责确保第一ip的唯一性和高可靠性;

(2)重定向客户端访问请求,保证存储节点或节点存储设备的负载均衡;

(3)负责第二ip的负载均衡。

iscsi网关重定向过程如图2所示,主要包括:

①客户端通过第一ip登入主控节点(假设为存储节点1)的iscsi网关;

②iscsi网关根据负载均衡的预设策略,确定需要重定向的第二ip(对应存储节点n),返回给客户端;

③客户端通过第二ip登入存储节点n的节点存储设备;

④存储节点n(或其上target服务器)接收客户端的请求,会话连接建立成功。

其中,负载均衡的预设策略可以为连接数优先策略或带宽优先策略。

连接数优先策略:在分配新的会话连接(session)时,优先考虑每个第二ip和客户端已经建立的session数量,设第二ipx对应的session数量为sx,则当新的客户端请求的与接入建立session时,iscsi网关会重定向连接到sx最小的第二ip上。该策略能很好的满足多个客户端流量或存储节点比较一致的场景。

带宽优先策略1:在分配新的session时,优先考虑每个第二ip对应的客户端的输入和输出总带宽。这里设置客户端x的对应的总带宽为mx=rx+tx。其中rx为输入带宽,tx为输出带宽。在分配session时,优先选择mx最小的客户端对应的第二ip。在确定客户端x以后,如果该客户端上只有一个第二ip,则直接使用这个第二ip。如果客户端x上有多个第二ip,则继续判断每个第二ip使用的带宽,再从里面选取使用带宽最小的第二ip作为本次session的重定向第二ip。这种第二ip分配场景适用于多个iscsi客户端使用的流量差距较大的场景。

带宽优先策略2:在分配新的session时,优先考虑每个第二ip对应的存储节点的输入和输出总带宽。这里设置存储节点x的对应的总带宽为mx=rx+tx。其中rx为输入带宽,tx为输出带宽。在分配session时,优先选择mx最小的存储节点对应的第二ip。在确定存储节点x以后,如果该存储节点上只有一个第二ip,则直接使用这个第二ip。如果存储节点x上有多个第二ip,则继续判断每个第二ip使用的带宽,再从里面选取使用带宽最小的第二ip作为本次session的重定向第二ip。这种第二ip分配场景适用于多个存储节点使用的流量差距较大的场景。

为了更好地确定第二ip,主控节点的iscsi网关定期收集每个节点存储设备的实时链路信息,链路信息至少包括:节点存储设备上每一条会话连接的写带宽、读带宽、写带宽的延时信息和读带宽的延时信息。

例如,每个存储节点的iscsi网关都包含一个性能监控器,备用节点的iscsi网关负责收集本节点的iscsi实时链路信息或其他统计信息,主控节点的iscsi网关除了负责收集本节点的iscsi实时链路信息或其他统计信息,还负责收集其他节点的iscsi实时链路信息或其他统计信息,并汇总。

当主控节点的iscsi网关的故障后,其他备用节点通过选举成为新的iscsi网关的主控节点。

选举的一种方式为:各个存储节点采用抢占的方式来产生iscsi网关的主控节点,抢占特性依托集群锁机制实现,由抢占到锁的节点作为iscsi网关和性能监控器的主控节点。主iscsi网关负责接入第一ip。其它备用节点会周期性的测试主iscsi网关连通性,如果连通性测试失败,那么其它节点会自动进入抢占流程,直到获取到集群锁成为iscsi网关主控节点或者检测到其它节点成为主控节点为止。

每个节点存储设备上的iscsi服务器程序的信息相同,本发明的方法还包括:当重定向第二ip对应的节点存储设备故障时,将重定向第二ip迁移到其他非故障的节点存储设备上。

例如,每个节点存储设备上的target服务加载的target信息完全相同,lun信息完全相同。节点存储设备的第二ip依托虚拟ip管理软件实现,比如开源软件ctdb。各分配了第二ip的节点存储设备会互相心跳,当其中有节点存储设备down机后,虚拟ip管理软件会迁移down机节点存储设备的第二ip到其它正常的节点存储设备上。因为target和lun信息完全,当第二ip切换后,客户端连接可以立即恢复正常,所以分布式存储可以在客户端无感知的情况下做到秒级切换。

相比传统的虚拟ip漂移机制,本方案依托iscsi网关的统计信息,还能根据负载均衡策略控制第二ip切换。

如此基于上述存储节点及存储节点上的iscsi网关,本发明的iscsi客户端的接入方法可以为客户端任务基于负载均衡动态接入存储节点,无需人工干预,且便于维护。

基于上述本发明构思,本发明还提出一种iscsi客户端的接入方法,应用于客户端,如图3所示,包括:

步骤11(s11):通过第一ip与iscsi网关建立连接并获取重定向第二ip,重定向第二ip由iscsi网关基于负载均衡的预设策略确定;

步骤13(s13):基于重定向第二ip与重定向第二ip对应的存储节点建立会话连接。

预设策略为连接数优先策略或带宽优先策略。

iscsi网关定期收集每个存储节点的实时链路信息,链路信息至少包括:存储节点上每一条会话连接的写带宽、读带宽、写带宽的延时信息和读带宽的延时信息。

本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由处理器执行时使得处理器执行如上述应用于存储节点的iscsi客户端的接入方法中的步骤。

本发明还提供一种存储节点,包括存储设备、处理器以及存储在存储设备中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用于存储节点的iscsi客户端的接入方法中的步骤。

存储节点包括主控节点和备用节点,每个存储节点包括一个iscsi网关和至少一个节点存储设备,主控节点的iscsi网关的ip为第一ip,节点存储设备的ip为第二ip;

当客户端通过第一ip与主控节点的iscsi网关建立连接后,主控节点的iscsi网关基于负载均衡的预设策略确定重定向第二ip;并将重定向第二ip反馈给客户端,使客户端基于重定向第二ip与重定向第二ip对应的节点存储设备建立会话连接。

预设策略为连接数优先策略或带宽优先策略。

主控节点的iscsi网关定期收集每个节点存储设备的实时链路信息,链路信息至少包括:节点存储设备上每一条会话连接的写带宽、读带宽、写带宽的延时信息和读带宽的延时信息。

当主控节点的iscsi网关的故障后,其他备用节点通过抢占集群锁成为新的iscsi网关的主控节点。

每个节点存储设备上的iscsi服务器程序的信息相同,当重定向第二ip对应的节点存储设备故障时,将重定向第二ip迁移到其他非故障的节点存储设备上。

本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由处理器执行时使得处理器执行上述应用于客户端的iscsi客户端的接入方法中的步骤。

本发明还提供一种客户端,包括存储设备、处理器以及存储在存储设备中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用于客户端的iscsi客户端的接入方法中的步骤。

如图4所示,客户端包括:

重定向第二ip获取模块:通过第一ip与iscsi网关建立连接并获取重定向第二ip,重定向第二ip由iscsi网关基于负载均衡的预设策略确定;

重定向第二ip连接模块:基于重定向第二ip与重定向第二ip对应的存储节点建立会话连接。

其中,预设策略为连接数优先策略或带宽优先策略。

iscsi网关还定期收集每个存储节点的实时链路信息,链路信息至少包括:存储节点上每一条会话连接的写带宽、读带宽、写带宽的延时信息和读带宽的延时信息。

需要说明的是,本发明的存储节点和客户端的实施例,与iscsi客户端的接入方法的实施例原理相同,相关之处可以互相参照。

以上所述仅为本发明的较佳实施例而已,并不用以限定本发明的包含范围,凡在本发明技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1