CN109981768B - 分布式网络存储系统中的io多路径规划方法及设备 - Google Patents

分布式网络存储系统中的io多路径规划方法及设备 Download PDF

Info

Publication number
CN109981768B
CN109981768B CN201910216148.1A CN201910216148A CN109981768B CN 109981768 B CN109981768 B CN 109981768B CN 201910216148 A CN201910216148 A CN 201910216148A CN 109981768 B CN109981768 B CN 109981768B
Authority
CN
China
Prior art keywords
iscsi
address
preset
gateway corresponding
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910216148.1A
Other languages
English (en)
Other versions
CN109981768A (zh
Inventor
李小勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xiao Yun Info Tech Co ltd
Original Assignee
Shanghai Xiao Yun Info Tech Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Xiao Yun Info Tech Co ltd filed Critical Shanghai Xiao Yun Info Tech Co ltd
Priority to CN201910216148.1A priority Critical patent/CN109981768B/zh
Publication of CN109981768A publication Critical patent/CN109981768A/zh
Application granted granted Critical
Publication of CN109981768B publication Critical patent/CN109981768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的目的是提供一种分布式网络存储系统中的IO多路径规划方法及设备,对于任意数量的iSCSI启动器(iSCSI initiator)、iSCSI target、和iSCSI网关的数量与组合,包括但不限于一个iSCSI initiator挂载多个target、多个iSCSI initiator挂载同一个target、以及多个iSCSI initiator挂载多个target,该方法都能够保证IO路径均衡地分布在所有的iSCSI网关上。当系统状态确定时,选择的IO路径是确定的。该方法实现了大规模分布式存储系统的IO路径自动规划,高效可靠,而且具有良好的负载均衡特性。

Description

分布式网络存储系统中的IO多路径规划方法及设备
技术领域
本发明涉及计算机领域,尤其涉及一种分布式网络存储系统中的IO多路径规划方法及设备。
背景技术
分布式网络存储系统由存储服务器和管理服务器组成(服务器也称为节点)。存储服务器存储数据,对外提供数据访问服务,多台存储服务器提供更大的存储容量、更高的IO访问性能,并实现容错:当部分存储服务器发生故障时,业务访问不中断,数据不丢失。管理服务器监控存储系统的状态,实现配置管理,多台管理服务器以高可用方式协同工作。在任意时刻,有一个管理服务器为主管理节点,其它管理服务器为备管理节点。当主管理节点发生故障时,选举其它一个备管理节点作为主管理节点。
分布式存储系统对外提供文件、对象或块访问服务。典型的块存储访问协议有iSCSI,FC SAN(光纤通道存储局域网)。IETF组织定义的互联网小型计算机系统接口(rfc3720:Internet Small Computer Systems Interface,简称iSCSI)具有简单高效、兼容性好的优点,在实践中具有广泛的应用。为了支持基于iSCSI协议的块存储服务,分布式存储系统中运行有多个iSCSITarget服务器(也称为iSCSI网关),对外提供iSCSI协议访问服务。当iSCSI网关收到来自iSCSI initiator的数据读写请求后,向相应的存储服务器发送读写请求,得到应答后再将数据发送给iSCSI initiator。
iSCSI网关可以部署在存储服务器上,也可以部署在独立的服务器上。所有iSCSI网关功能相同,可以从任意一个iSCSI网关访问任意一个逻辑卷。所有iSCSI网关周期性向主管理节点发送注册消息。
为了实现高可用,防止一个iSCSI网关出现故障时无法访问数据,需要为逻辑卷规划多条IO路径,每个iSCSI网关为一条路径。当一条路径发生故障时,可以切换到其它路径继续访问逻辑卷的数据。当系统中存在多个逻辑卷、多个iSCSI网关、多个iSCSI initiator(iSCSI Initiator)时,IO路径的规划成为比较复杂的问题。比如,假设有100台主机,创建了20个逻辑卷,有10个iSCSI Target服务器,对每个逻辑卷规划3条路径,则需要规划100*20*3=6000条路径,而且这些路径需要均衡分布在10个iSCSI Target服务器上。
发明内容
本发明的一个目的是提供一种分布式网络存储系统中的IO多路径规划方法及设备。
根据本发明的一个方面,提供了一种分布式网络存储系统中的IO多路径规划方法,该方法包括:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
进一步,上述方法中,所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址,包括:
所述主管理服务器基于每一个目标器的IO路径规划请求,查询配置信息,得到对应的iSCSI启动器的id号和目标器的id号,并根据目标器的id号得到对应的逻辑卷的id号;
所述主管理服务器将所述iSCSI启动器的id号和逻辑卷的id号相加得到数字sum;
所述主管理服务器将当前可用的所有iSCSI网关的IP地址按照预设规则排序得到IP地址列表,并将所述列表中IP地址的数量记录为num;
将sum与num进行取模运算,得到余数index;
在所述排序后的IP地址列表中,从第index个IP地址开始,选择连续的预设个数的IP地址,其中,如果到达所述IP地址列表的末尾,则回到所述IP地址列表的头部继续选择IP地址;
所述主管理服务器将选择的预设个数的IP地址作为当前目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
进一步,上述方法中,所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器,包括:
所述预设IP地址对应的iSCSI网关基于接收到的每一个目标器对应的iSCSI网关的IP地址,向所述iSCSI启动器发送iSCSI发现应答消息,包括:允许所述iSCSI启动器访问的所有目标器的名称、每一个目标器对应的iSCSI网关的IP地址。
进一步,上述方法中,所述iSCSI Discovery应答消息中还包括每一个目标器对应的各iSCSI网关的IP地址的优先级。
根据本发明的另一方面,还提供一种分布式网络存储系统中的IO多路径规划方法,其中,该方法包括:
iSCSI启动器,用于向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关,用于解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;并向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;及基于从主管理服务器接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;将从主管理服务器接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器;
所述主管理服务器,用于基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;及基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
进一步,上述设备中,所述主管理服务器,用于基于每一个目标器的IO路径规划请求,查询配置信息,得到对应的iSCSI启动器的id号和目标器的id号,并根据目标器的id号得到对应的逻辑卷的id号;将所述iSCSI启动器的id号和逻辑卷的id号相加得到数字sum;将当前可用的所有iSCSI网关的IP地址按照预设规则排序得到IP地址列表,并将所述列表中IP地址的数量记录为num;将sum与num进行取模运算,得到余数index;在所述排序后的IP地址列表中,从第index个IP地址开始,选择连续的预设个数的IP地址,其中,如果到达所述IP地址列表的末尾,则回到所述IP地址列表的头部继续选择IP地址;将选择的预设个数的IP地址作为当前目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
进一步,上述设备中,所述预设IP地址对应的iSCSI网关,用于基于接收到的每一个目标器对应的iSCSI网关的IP地址,向所述iSCSI启动器发送iSCSI发现应答消息,包括:允许所述iSCSI启动器访问的所有目标器的名称、每一个目标器对应的iSCSI网关的IP地址。
进一步,上述设备中,所述iSCSI Discovery应答消息中还包括每一个目标器对应的各iSCSI网关的IP地址的优先级。
根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
与现有技术相比,本发明对于任意数量的iSCSI启动器(iSCSI initiator)、iSCSItarget、和iSCSI网关的数量与组合,包括但不限于一个iSCSI initiator挂载多个target、多个iSCSI initiator挂载同一个target、以及多个iSCSI initiator挂载多个target,该方法都能够保证IO路径均衡地分布在所有的iSCSI网关上。当系统状态确定时,选择的IO路径是确定的。该方法实现了大规模分布式存储系统的IO路径自动规划,高效可靠,而且具有良好的负载均衡特性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出本发明一实施例的分布式存储系统的结构图;
图2示出本发明一实施例的存储服务器的结构图;
图3示出本发明一实施例的分布式网络存储系统中的IO多路径规划方法的流程图;
图4示出本发明另一实施例的分布式网络存储系统中的IO多路径规划方法的流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图3所示,本发明提供一种分布式网络存储系统中的IO多路径规划方法,所述方法包括:
步骤S1,iSCSI启动器(iSCSI initiator)向预设IP地址对应的iSCSI网关发送iSCSI发现(iSCSI Discovery)请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
在此,在主机端,系统管理员可以设定提供iSCSI发现服务的IP地址,该IP地址可以为分布式网络存储系统中任意一个iSCSI网关的IP地址;
iSCSI initiator向所述预设IP地址发送iSCSI Discovery请求,iSCSIDiscovery请求中包括了initiator的名称;
步骤S2,所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
在此,iSCSI网关收到iSCSI initiator发送的Discovery的请求,解析该请求,获得initiator的名称;
步骤S3,所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
在此,iSCSI网关向主管理服务器发送获取列表请求,以请求获取允许该iSCSinitiator访问的所有target的列表;
步骤S4,所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器(target)的列表,其中,每个目标器对应一个或多个逻辑卷;
在此,主管理服务器可以查询配置信息,返回允许该iSCSI initiator访问的所有target的列表;
步骤S5,所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
在此,iSCSI网关收到主管理服务器的应答,得到target的列表;
对于列表中的每一个target,iSCSI网关向主管理服务器发送IO路径规划请求;请求参数iSCSI initiator的名称、iSCSI Target的名称;
步骤S6,所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
步骤S7,所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
在此,本发明例涉及的分布式存储系统的系统结构如图1所示。典型的分布式存储系统包括2台到上百台存储服务器、有3台(一般为3~5台,为奇数)管理服务器。每个服务器的硬件包括CPU、内存、网络接口,存储服务器还有多块硬盘用于存储数据。存储服务器上运行的软件有操作系统和存储管理软件,如图2所示。不同的服务器之间通过网络进行通信。
管理服务器实现分布式存储系统的配置管理、状态监控和故障管理。记录存储服务器、initiator、逻辑卷、target等信息;并接收来自存储服务器的周期性的汇报信息。
分布式存储系统中有多个iSCSI网关,对外提供iSCSI访问服务。iSCSI网关可以部署在每个存储服务器上,也可以部署在独立的服务器上。存储服务器、管理服务器、iSCSI网关之间通过网络互联,典型的网络如以太网和Infiniband网络。
iSCSI网关对外提供基于iSCSI协议的块存储访问服务。分布式系统中可以有多个iSCSI网关,即可以部署在每台存储服务器上,也可以部署在独立的服务器上。每个iSCSI网关周期性向主管理节点发送心跳信息,因此主管理节点节点能够获得当前系统中的iSCSI网关数量和相关信息,比如IP地址。
本发明提供一种用于分布式网络存储系统中的IO多路径规划方法,对于任意数量的iSCSI启动器(iSCSI initiator)、iSCSI target、和iSCSI网关的数量与组合,包括但不限于一个iSCSI initiator挂载多个target、多个iSCSI initiator挂载同一个target、以及多个iSCSI initiator挂载多个target。当系统状态确定时,选择的IO路径是确定的。该方法实现了大规模分布式存储系统的IO路径自动规划,高效可靠。
本发明的分布式网络存储系统中的IO多路径规划方法一实施例中,步骤S6,所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址,包括:
步骤S61,所述主管理服务器基于每一个目标器的IO路径规划请求,查询配置信息,得到对应的iSCSI启动器的id号和目标器的id号,并根据目标器的id号得到对应的逻辑卷的id号;
在此,主管理服务器收到每一个目标器的IO路径规划请求后,查询配置信息,得到iSCSI initiator的id号和iSCSI Target的id号,根据iSCSI Target的id号得到对应的逻辑卷的id号;
步骤S62,所述主管理服务器将所述iSCSI启动器的id号和逻辑卷的id号相加得到数字sum;
步骤S63,主管理服务器将当前可用的所有iSCSI网关的IP地址按照预设规则排序得到IP地址列表,比如从小到大;并将所述列表中IP地址的数量记录为num;
步骤S64,将sum与num进行取模运算,得到余数index;
步骤S65,在所述排序后的IP地址列表中,从第index个IP地址开始,选择连续的预设个数的IP地址,比如2或3个,其中,如果到达所述IP地址列表的末尾,则回到所述IP地址列表的头部继续选择IP地址,以保证负载均衡;
步骤S65,所述主管理服务器将选择的预设个数的IP地址作为当前目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
在此,所述主管理服务器将选择的预设个数的IP地址作为当前目标器的IO路径规划请求中目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
具体的,本发明中分布式存储系统包括多个存储服务器和多个管理服务器、多个iSCSI网关;所有iSCSI网关功能对等;即可以部署在存储服务器上,也可以在独立的服务器上部署;iSCSI网关周期性向管理节点发送心跳信息;每个逻辑卷都分配唯一的整数ID号;不同逻辑卷的ID号连续;每个iSCSI Initator都分配唯一整数ID号;不同iSCSI Initator的ID号连续;对于每个Initiator挂载逻辑卷,如图4所示,按照如下步骤确定多条IO路径:
a)对于所有的iSCSI网关的IP地址组成的列表,按照固定规则排序,比如从小到大,记iSCSI网关数量为num;
b)计算Initiator ID与逻辑卷ID的和,得到sum;
c)将sum与num进行取模运算,得到余数Index;
在此,sum数量大于网关数量,取模以后就可以等于网关数量;
d)从步骤a)得到的列表,从第Index开始,选择连续的多个iSCSI网关的IP地址,作为IO路径;
e)如果到达列表末尾,则回到列表头部继续选择,直到选择到足够数量的IO路径为止。
当一个管理节点成为主管理节点后,有一段时间为等待心跳时间,比如10秒,用于等待所有iSCSI网关的心跳消息,这段时间内不响应来自iSCSI网关的路径规划请求。
对于任意数量的iSCSI启动器(iSCSI initiator)、iSCSI target、和iSCSI网关的数量与组合,包括但不限于一个iSCSI initiator挂载多个target、多个iSCSI initiator挂载同一个target、以及多个iSCSI initiator挂载多个target,该方法都能够保证IO路径均衡地分布在所有的iSCSI网关上。当系统状态确定时,选择的IO路径是确定的。该方法实现了大规模分布式存储系统的IO路径自动规划,高效可靠,而且具有良好的负载均衡特性。
本发明的分布式网络存储系统中的IO多路径规划方法一实施例中,步骤S7,所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器,包括:
所述预设IP地址对应的iSCSI网关基于接收到的每一个目标器对应的iSCSI网关的IP地址,向所述iSCSI启动器发送iSCSI发现应答消息,包括:允许所述iSCSI启动器访问的所有目标器(target)的名称、每一个目标器对应的iSCSI网关的IP地址。
在此,iSCSI网关构造iSCSI发现(Discovery)应答消息,消息中包括:
a)TargetName,允许该initiator访问的target名称;
b)TargetAddress:接收到的该target的对应的iSCSI网关的IP地址,即多条IO路径路径。
后续iSCSI网关可以将iSCSI Discovery应答消息发送给iSCSI initiator。
另外,对于每个iSCSI target,iSCSI initiator向iSCSI网关发送SCSI Inquiry命令;
iSCSI网关处理SCSI Inquiry命令,在应答消息的字段中:
a)将TPGS字段设置为0x10,表示支持implicit ALUA;
b)将MULIP字段设置为0x1,表示支持multiple target port。
iSCSI网关将SCSI Inquiry应答消息发送给iSCSI initiator;
SCSI Inquiry命令的功能包括查询设备类别、存储容量等等。
本发明的分布式网络存储系统中的IO多路径规划方法一实施例中,所述iSCSIDiscovery应答消息中还包括每一个目标器对应的各iSCSI网关的IP地址的优先级。
在此,通过为每一个目标器对应的各iSCSI网关的IP地址设置优先级,可以实现各iSCSI网关的负载更均衡。
对于每个iSCSI target,iSCSI initiator可以向所述预设IP地址对应的iSCSI网关发送SCSI Report TPGS命令;
a)iSCSI网关处理SCSI Report TPGS命令,在应答消息的字段中:
b)对于每条IO路径,设置其优先级为优化(Optimized)或非优化(Non-Optimized);
c)所述预设IP地址对应的iSCSI网关将SCSI Report TPGS应答消息发送给iSCSIinitiator;
至此,iSCSI initiator已经获得了所有target的所有io路径信息,在后续的数据访问中,iSCSI initiator将把请求发送到io路径所指定iSCSI网关。
根据本发明的另一方面,还提供一种分布式网络存储系统中的IO多路径规划方法,其中,该方法包括:
iSCSI启动器,用于向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关,用于解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;并向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;及基于从主管理服务器接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;将从主管理服务器接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器;
所述主管理服务器,用于基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;及基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
进一步,上述设备中,所述主管理服务器,用于基于每一个目标器的IO路径规划请求,查询配置信息,得到对应的iSCSI启动器的id号和目标器的id号,并根据目标器的id号得到对应的逻辑卷的id号;将所述iSCSI启动器的id号和逻辑卷的id号相加得到数字sum;将当前可用的所有iSCSI网关的IP地址按照预设规则排序得到IP地址列表,并将所述列表中IP地址的数量记录为num;将sum与num进行取模运算,得到余数index;在所述排序后的IP地址列表中,从第index个IP地址开始,选择连续的预设个数的IP地址,其中,如果到达所述IP地址列表的末尾,则回到所述IP地址列表的头部继续选择IP地址;将选择的预设个数的IP地址作为当前目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
进一步,上述设备中,所述预设IP地址对应的iSCSI网关,用于基于接收到的每一个目标器对应的iSCSI网关的IP地址,向所述iSCSI启动器发送iSCSI发现应答消息,包括:允许所述iSCSI启动器访问的所有目标器的名称、每一个目标器对应的iSCSI网关的IP地址。
进一步,上述设备中,所述iSCSI Discovery应答消息中还包括每一个目标器对应的各iSCSI网关的IP地址的优先级。
根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
与现有技术相比,本发明对于任意数量的iSCSI启动器(iSCSI initiator)、iSCSItarget、和iSCSI网关的数量与组合,包括但不限于一个iSCSI initiator挂载多个target、多个iSCSI initiator挂载同一个target、以及多个iSCSI initiator挂载多个target,该方法都能够保证IO路径均衡地分布在所有的iSCSI网关上。当系统状态确定时,选择的IO路径是确定的。该方法实现了大规模分布式存储系统的IO路径自动规划,高效可靠,而且具有良好的负载均衡特性。
本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (10)

1.一种分布式网络存储系统中的IO多路径规划方法,其中,该方法包括:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
2.根据权利要求1所述的方法,其中,所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址,包括:
所述主管理服务器基于每一个目标器的IO路径规划请求,查询配置信息,得到对应的iSCSI启动器的id号和目标器的id号,并根据目标器的id号得到对应的逻辑卷的id号;
所述主管理服务器将所述iSCSI启动器的id号和逻辑卷的id号相加得到数字sum;
所述主管理服务器将当前可用的所有iSCSI网关的IP地址按照预设规则排序得到IP地址列表,并将所述列表中IP地址的数量记录为num;
将sum与num进行取模运算,得到余数index;
在所述排序后的IP地址列表中,从第index个IP地址开始,选择连续的预设个数的IP地址,其中,如果到达所述IP地址列表的末尾,则回到所述IP地址列表的头部继续选择IP地址;
所述主管理服务器将选择的预设个数的IP地址作为当前目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
3.根据权利要求1所述的方法,其中,所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器,包括:
所述预设IP地址对应的iSCSI网关基于接收到的每一个目标器对应的iSCSI网关的IP地址,向所述iSCSI启动器发送iSCSI发现应答消息,包括:允许所述iSCSI启动器访问的所有目标器的名称、每一个目标器对应的iSCSI网关的IP地址。
4.根据权利要求3所述的方法,其中,所述iSCSI发现应答消息中还包括每一个目标器对应的各iSCSI网关的IP地址的优先级。
5.一种分布式网络存储系统中的IO多路径规划设备,其中,该设备包括:
iSCSI启动器,用于向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关,用于解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;并向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;及基于从主管理服务器接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;将从主管理服务器接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器;
所述主管理服务器,用于基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;及基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
6.根据权利要求5所述的设备,其中,所述主管理服务器,用于基于每一个目标器的IO路径规划请求,查询配置信息,得到对应的iSCSI启动器的id号和目标器的id号,并根据目标器的id号得到对应的逻辑卷的id号;将所述iSCSI启动器的id号和逻辑卷的id号相加得到数字sum;将当前可用的所有iSCSI网关的IP地址按照预设规则排序得到IP地址列表,并将所述列表中IP地址的数量记录为num;将sum与num进行取模运算,得到余数index;在所述排序后的IP地址列表中,从第index个IP地址开始,选择连续的预设个数的IP地址,其中,如果到达所述IP地址列表的末尾,则回到所述IP地址列表的头部继续选择IP地址;将选择的预设个数的IP地址作为当前目标器对应的iSCSI网关的IP地址,发送给所述预设IP地址对应的iSCSI网关。
7.根据权利要求5所述的设备,其中,所述预设IP地址对应的iSCSI网关,用于基于接收到的每一个目标器对应的iSCSI网关的IP地址,向所述iSCSI启动器发送iSCSI发现应答消息,包括:允许所述iSCSI启动器访问的所有目标器的名称、每一个目标器对应的iSCSI网关的IP地址。
8.根据权利要求7所述的设备,其中,所述iSCSI发现应答消息中还包括每一个目标器对应的各iSCSI网关的IP地址的优先级。
9.一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
iSCSI启动器向预设IP地址对应的iSCSI网关发送iSCSI发现请求,所述iSCSI发现请求中包括iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关解析所述iSCSI发现请求,以获取所述iSCSI启动器的名称;
所述预设IP地址对应的iSCSI网关向主管理服务器发送获取列表请求,所述获取列表请求中包括所述iSCSI启动器的名称;
所述主管理服务器基于所述获取列表请求,向所述预设IP地址对应的iSCSI网关返回允许所述iSCSI启动器访问的所有目标器的列表,其中,每个目标器对应一个或多个逻辑卷;
所述预设IP地址对应的iSCSI网关基于接收到的所有目标器的列表,向主管理服务器发送所述列表中的每一个目标器的IO路径规划请求,所述IO路径规划请求包括iSCSI启动器的名称和目标器的名称;
所述主管理服务器基于每一个目标的IO路径规划请求,向所述预设IP地址对应的iSCSI网关返回每一个目标器对应的iSCSI网关的IP地址;
所述预设IP地址对应的iSCSI网关将接收到的每一个目标器对应的iSCSI网关的IP地址发送给所述iSCSI启动器。
CN201910216148.1A 2019-03-21 2019-03-21 分布式网络存储系统中的io多路径规划方法及设备 Active CN109981768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910216148.1A CN109981768B (zh) 2019-03-21 2019-03-21 分布式网络存储系统中的io多路径规划方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910216148.1A CN109981768B (zh) 2019-03-21 2019-03-21 分布式网络存储系统中的io多路径规划方法及设备

Publications (2)

Publication Number Publication Date
CN109981768A CN109981768A (zh) 2019-07-05
CN109981768B true CN109981768B (zh) 2021-12-07

Family

ID=67079887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910216148.1A Active CN109981768B (zh) 2019-03-21 2019-03-21 分布式网络存储系统中的io多路径规划方法及设备

Country Status (1)

Country Link
CN (1) CN109981768B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784515B (zh) * 2019-09-19 2022-11-22 平安科技(深圳)有限公司 基于分布式集群的数据存储方法、及其相关设备
CN111464622B (zh) * 2020-03-30 2023-07-14 北京星辰天合科技股份有限公司 分布式存储系统中的卷映射处理方法及装置
CN111610935B (zh) * 2020-05-22 2022-06-17 浪潮电子信息产业股份有限公司 一种访问控制方法、装置、设备、介质
CN111638855A (zh) * 2020-06-03 2020-09-08 山东汇贸电子口岸有限公司 一种物理裸机支持Ceph后端卷的方法
CN113489784B (zh) * 2021-07-05 2024-05-17 深圳市杉岩数据技术有限公司 分布式存储的非对称逻辑单元访问多路径实现方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138281A (zh) * 2015-08-05 2015-12-09 华为技术有限公司 一种物理磁盘的共享方法及装置
CN108366087A (zh) * 2017-12-26 2018-08-03 创新科存储技术(深圳)有限公司 一种基于分布式文件系统的iscsi服务实现方法和装置
US10061660B1 (en) * 2015-10-27 2018-08-28 EMC IP Holding Company LLC Cross-platform instant granular recovery for virtual machine backups
CN108881348A (zh) * 2017-05-15 2018-11-23 新华三技术有限公司 服务质量控制方法、装置和存储服务器
CN109413142A (zh) * 2018-09-07 2019-03-01 电信科学技术第五研究所有限公司 一种Linux下的iSCSI虚拟代理实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721025B2 (en) * 2005-09-06 2010-05-18 Reldata, Inc. Reusing task object and resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138281A (zh) * 2015-08-05 2015-12-09 华为技术有限公司 一种物理磁盘的共享方法及装置
US10061660B1 (en) * 2015-10-27 2018-08-28 EMC IP Holding Company LLC Cross-platform instant granular recovery for virtual machine backups
CN108881348A (zh) * 2017-05-15 2018-11-23 新华三技术有限公司 服务质量控制方法、装置和存储服务器
CN108366087A (zh) * 2017-12-26 2018-08-03 创新科存储技术(深圳)有限公司 一种基于分布式文件系统的iscsi服务实现方法和装置
CN109413142A (zh) * 2018-09-07 2019-03-01 电信科学技术第五研究所有限公司 一种Linux下的iSCSI虚拟代理实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"一种网络计算I/O加速方法:iSCSI透明可靠多播";孔东阳 等;《计算机工程与科学》;20100315;第32卷(第3期);全文 *

Also Published As

Publication number Publication date
CN109981768A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109981768B (zh) 分布式网络存储系统中的io多路径规划方法及设备
CN109302498B (zh) 一种网络资源访问方法及装置
US6871347B2 (en) Method and apparatus for facilitating load balancing across name servers
US8838850B2 (en) Cluster control protocol
US7272674B1 (en) System and method for storage device active path coordination among hosts
JP4653225B2 (ja) 複数のサーバのクラスタにおけるコーディネータ・サーバにおいて実行される方法、複数のサーバのクラスタに加入することを望む新しいサーバにおいて実行される方法およびコンピュータ・プログラム
US7724677B2 (en) Storage system and method for connectivity checking
US20180288152A1 (en) Storage dynamic accessibility mechanism method and apparatus
US8924513B2 (en) Storage system
US8554867B1 (en) Efficient data access in clustered storage system
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
US11966614B2 (en) Object tiering in a distributed storage system
US11494130B2 (en) Operation data accessing device and accessing method thereof
US20080288620A1 (en) Physical Network Interface Selection to Minimize Contention with Operating System Critical Storage Operations
US20080082690A1 (en) System and method for the dynamic loading of protocol adapters
CN110489388A (zh) 一种用于分布式网络存储系统中scsi锁的实现方法及设备
CN111064804A (zh) 网络访问方法和装置
US8977595B1 (en) Message-recovery file log locating and monitoring
US9755949B2 (en) Network failover and loop detection in hierarchical networks
JP2007122713A (ja) インテリジェント論理ユニットプロビジョニング
JP6816511B2 (ja) セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム
CN109451090B (zh) 一种域名解析方法及装置
US20240028482A1 (en) Load balancing during backup and restore
US20240028478A1 (en) Clustered asset backup in non-federated way
US20240028483A1 (en) Cluster aware restores

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant