CN114500577A - 数据访问系统及数据访问方法 - Google Patents
数据访问系统及数据访问方法 Download PDFInfo
- Publication number
- CN114500577A CN114500577A CN202111616010.4A CN202111616010A CN114500577A CN 114500577 A CN114500577 A CN 114500577A CN 202111616010 A CN202111616010 A CN 202111616010A CN 114500577 A CN114500577 A CN 114500577A
- Authority
- CN
- China
- Prior art keywords
- iscsi
- client
- server
- instruction
- gateway server
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例涉及一种数据访问系统及数据访问方法,该系统包括:iSCSI客户端,用于获取会话请求,并传输至iSCSI网关服务器;iSCSI网关服务器,用于根据会话请求,建立与iSCSI客户端之间的会话连接;iSCSI客户端,还用于当确定会话连接建立后,发送iSCSI指令至iSCSI网关服务器;所iSCSI网关服务器,还用于接收并存储iSCSI指令;iSCSI服务器,用于周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,根据iSCSI指令,访问分布式存储客户端。通过该方式,实现通过标准的iSCSI接口使用分布式存储系统。在不依赖linux操作系统中的内核驱动接口,或者应用程序接口的情况下,保证企业环境中的其他操作系统同样可以访问分布式存储系统。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据访问系统及数据访问方法。
背景技术
Internet小型计算机系统接口(Internet Small Computer System Interface,iSCSI)协议是IP存储网络协议之一,它将广泛应用的两种工业标准SCSI和TCP/IP结合起来,为存储设备提供面向数据块级的连接服务。
分布式存储系统提供了存储相关的接口,分布式存储系统提供的接口主要通过应用程序编程接口或者内核驱动接口两种方案。应用程序编程接口主要提供给openstack虚机使用,内核驱动接口主要提供给Linux操作系统机器使用。
应用程序编程接口是用户态接口,应用不能直接使用。内核驱动只能部署在包版本的Linux内核系统,但是由非官方进行支持。企业环境里面常用到的VMWare、Windows、Solaris等操作系统是无法直接使用分布式存储系统提供的应用程序编程接口,而内核驱动接口也无法运行在这些系统中。
发明内容
本申请提供了一种数据访问系统及数据访问方法,以解决现有技术中上述技术问题。
第一方面,本申请提供了一种数据访问系统,该系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端;
iSCSI客户端,用于获取会话请求,并传输至iSCSI网关服务器;
iSCSI网关服务器,用于根据会话请求,建立与iSCSI客户端之间的会话连接;
iSCSI客户端,还用于当确定会话连接建立后,发送iSCSI指令至iSCSI网关服务器;
所iSCSI网关服务器,还用于接收并存储iSCSI指令;
iSCSI服务器,用于周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,根据iSCSI指令,访问分布式存储客户端。
第二方面,本申请提供了一种数据访问方法,该方法应用于一种数据访问系统,数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端,方法由iSCSI网关服务器执行,包括:
接收iSCSI客户端发送的建立会话请求;
根据会话请求,建立与iSCSI客户端之间的会话连接;
接收iSCSI客户端发送的iSCSI指令,其中iSCSI指令为iSCSI客户端确定会话连接建立后发送的操作指令;
将iSCSI指令发送至iSCSI服务器,以便iSCSI服务器根据iSCSI指令,访问分布式存储客户端。
第三方面,提供了一种数据访问方法,该方法应用于一种数据访问系统,数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端,方法由iSCSI服务器执行,包括:
周期性的监听iSCSI网关服务器;
当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令;
根据iSCSI指令,访问分布式存储客户端。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该数据访问系统,通过iSCSI网关服务器与iSCSI服务器作为iSCSI客户端与分布式存储客户端之间建立通信连接的“桥梁”。iSCSI客户端获取到会话请求后,会首先传输至iSCSI网关服务器,利用会话请求首先建立iSCSI客户端与iSCSI网关服务器之间的会话连接。然后,iSCSI客户端通过会话连接链路传输iSCSI指令至iSCSI网关服务器。在iSCSI服务器一侧,其周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,并根据iSCSI指令,访问分布式存储客户端。通过该方式,实现通过标准的iSCSI接口使用分布式存储系统。在不依赖linux操作系统中的内核驱动接口,或者应用程序接口的情况下,保证企业环境中的其他操作系统同样可以访问分布式存储系统。
附图说明
图1为本发明实施例提供的一种数据访问系统结构示意图;
图2为本发明提供的创建数据访问系统之前准备工作的信令流程示意图;
图3为本发明实施例提供的另一种数据访问系统流程示意图;
图4本发明提供的数据访问系统中各部件所执行方法步骤的信令流程示意图;
图5为本发明实施例提供的一种数据访问方法流程示意图;
图6为本发明实施例提供的一种数据访问方法流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
针对背景技术中所提及的技术问题,本申请实施例提供了一种数据访问系统,具体参见图1所示,图1为本发明实施例提供的一种数据访问系统结构示意图。在介绍该系统结构图之前,首先说明实现iSCSI服务器的创建过程。具体参见图2所示,包括:
用户运用iSCSI配置工具,操作iSCSI网关服务器创建iSCSI服务器,并将iSCSI服务器的信息持久化到分布式存储集群。
其中,iSCSI网关服务器与iSCSI服务器作为“通信桥梁”,用以建立iSCSI客户端与分布式存储系统客户端之间的通信连接。
当考虑到一条通信链路并不能完全的保证始终不出故障,然而一旦发生故障时,必然导致此条通信链路的断开,无法完成后续的通信。因此,在本实施例中,还可以包括:
iSCSI网关服务器(假设其为与iSCSI客户端建立通信连接的主iSCSI网关服务器)还可以像其他网关节点的iSCSI网关服务器(假设其他为从iSCSI网关服务器,仅是为了更好的说明,实际应用中,可以不存在主从关系)发送消息,用以创建iSCSI服务器。并将其他网关节点对应的所有消息持久化到分布式存储客户端中的分布式存储集群。
再者,用户还可以运用iSCSI配置工具,操作主iSCSI网关服务器访问分布式存储集群,在分布式存储集群中创建块设备空间,并在主iSCSI网关服务器所属的主网关节点对应的系统目录下生成块设备的大小、块设备号、扇区大小、设备所属集群等信息,在主网关节点生成UIO设备,将UIO设备信息持久化到分布式存储集群。
类似的道理,主iSCSI网关服务器还会向其他网关节点(从网关节点)的从iSCSI网关服务器发送消息创建块设备,在从iSCSI网关服务器所属的网关节点对应的系统目录下生成块设备的大小、块设备号、扇区大小、设备所属集群等信息,在各自从网关节点生成UIO设备,将UIO设备信息持久化到分布式存储集群。
用户运用iSCSI配置工具,操作主iSCSI网关服务器创建iSCSI客户端,创建iSCSI客户端CHAP认证信息,将iSCSI客户端信息、iSCSI客户端CHAP认证信息等写入主网关节点对应的系统目录,并且持久化存储到分布式存储集群。
主iSCSI网关服务器向其他网关节点的从iSCSI网关服务器发送消息创建iSCSI客户端,创建iSCSI客户端CHAP认证信息等,从iSCSI网关服务器在创建完成相应信息后,将iSCSI客户端、iSCSI客户端CHAP认证信息写入相应的从网关节点对应的系统目录(图2中未显示)。
用户运用iSCSI配置工具,操作主iSCSI网关服务器创建iSCSI客户端的逻辑单元号(Logical Unit Number,简称LUN)。
创建LUN的作用在于:在之前的技术中,用Target ID(也有称为SCSI ID的)来描述块设备,块设备只要一加入系统,就有一个代号。LUN ID的作用就是扩充了Target ID。每个Target下都可以有多个LUN Device,通常简称LUN Device为LUN,这样就可以说每个设备的描述就有原来的Target x变成Target x LUN y了,就好比以前写邮寄地址的时候,可以写:xx市人民大街54号xxx(收),但是自从高楼大厦越来越多,地址也调整为了:xx市人民大街54号xx大厦518室xxx(收)。当块设备越来越多的时候,LUN的功能也变得越来越显而易见。描述设备的能力增强了,同时也能对存储空间内的磁盘进行单独的管理。
将创建的携带有LUN的块设备添加至iSCSI客户端,将块设备与iSCSI客户端的对应关系写入主网关节点对应的系统目录,并且持久化存储到到分布式存储集群。
主iSCSI网关服务器向其他网关节点的从iSCSI网关服务器发送消息创建iSCSI客户端的LUN,将创建的块设备配置LUN后,添加至iSCSI客户端,将配置有LUN的块设备与iSCSI客户端的对应关系写入对应的从网关节点对应的系统目录。
以上的准备工作都是为了后续应用数据访问系统在分布式存储客户端中访问数据做准备工作。
图2中示意出了上述操作流程的整体过程信令流程图(为描述简便,部分类似内容未在图2中显示),具体参见图2所示。详细过程已经在上文中做了详细描述,这里不再赘述。
在介绍完成上面的准备工作后,下面实施例中将详细介绍数据访问系统的结构。具体参见图1所示,该系统结构包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端。
其中,iSCSI客户端,用于获取会话请求,并传输至iSCSI网关服务器;
iSCSI网关服务器,用于根据会话请求,建立与iSCSI客户端之间的会话连接;
iSCSI客户端,还用于当确定会话连接建立后,发送iSCSI指令至iSCSI网关服务器;
所iSCSI网关服务器,还用于接收并存储iSCSI指令;
iSCSI服务器,用于周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,根据iSCSI指令,访问分布式存储客户端。
具体的,iSCSI客户端,获取的会话请求可以是用户直接发起的,或者是通过其他路径传输到iSCSI客户端,亦或是预配置在iSCSI客户端,然后直接调用的会话请求。
iSCSI客户端在接收到会话请求后,将会话请求传输至iSCSI网关服务器。然后,iSCSI网关服务器根据会话请求,建立与iSCSI客户端之间的会话连接。用以实现iSCSI客户端与iSCSI网关服务器之间的会话通信。
iSCSI客户端在确定会话连接建立后,可以发送iSCSI指令至iSCSI网关服务器。而iSCSI网关服务器接收并存储该iSCSI指令。iSCSI服务器周期性的监听iSCSI网关服务器,一旦监听到iSCSI网关服务器接收或者存储有iSCSI指令,则读取并解析该指令,并根据解析后的指令,访问分布式存储客户端。
其中,iSCSI服务器可以是实时监听,或者是间隔预设时间段后再去监听。具体的执行过程可以根据实际需要设定,这里不再赘述。
可选的,如上所介绍的,考虑到单条指令传输路径存在一定的风险。因此,该系统还可以包括多路径管理服务器,并配置多条通信路径,以被多路径管理服务器管理。具体参见图3所示,图3为本发明实施例提供的另一种数据访问系统的结构示意图。
其中,iSCSI网关服务器包括多个,iSCSI服务器的数量与iSCSI网关服务器的数量相同,多路径管理服务器分别于iSCSI客户端,以及多个iSCSI网关服务器建立通信连接,每一个iSCSI网关服务器与一个iSCSI服务器建立通信连接,与iSCSI客户端,以及分布式存储客户端构建通信连接路径;
多路径管理服务器用于对多条通信连接路径进行管理;
当确定iSCSI客户端与分布式存储客户端之间当前使用的通信连接路径发生故障时,更换通信连接路径。
具体的,多路径管理服务器可以实时或者间隔的以监听“心跳”的方式来验证通信连接路径是否发生故障。或者,通过iSCSI网关服务器和/或iSCSI服务器通过层级上报的方式来告知故障的发生,每当确定通信连接路径发生故障时,及时更换通信连接路径,以保证iSCSI客户端可以正常访问分布式存储客户端。
进一步可选的,分布式存储客户端中包括多个块设备。如上文所介绍的,块设备是用户操作主iSCSI网关服务器访问分布式存储集群,在分布式存储集群中所创建的数据块存储空间,以及主iSCSI网关服务器控制从iSCSI网关服务器访问分布式存储集群,在分布式存储集群中所创建的数据块存储空间。具体创建时,可以根据实际需要创建一个或多个块设备。
为了区分不同的iSCSI服务器创建的块设备,所以可以配置一个或多个块设备分别与一个iSCSI服务器之间建立有一定的映射关系。具体的映射关系为,在每个iSCSI服务器所属的网关节点系统目录下,生成块设备的大小、块设备号、扇区大小、设备所属集群等信息。并且,这些信息也将会持久化的存储在分布式存储集群中。
因此,iSCSI服务器,具体用于根据iSCSI指令,访问与iSCSI服务器之间建立映射关系的一个或多个块设备中的数据。
可选的,如上所介绍的,分布式存储客户端中持久化存储有iSCSI客户端信息、iSCSI网关服务器信息,以及iSCSI服务器信息。
可选的,iSCSI网关服务器与iSCSI服务器之间通过UIO建立通信连接。
具体的,iSCSI网关服务器,在预设存储位置生成UIO。例如上文所介绍的,在iSCSI网关服务器所属网关节点生成UIO设备,而UIO设备可以将iSCSI指令映射到用户空间,那么,iSCSI服务器可以周期性的探测UIO,打开UIO设备后,通过文件内存映射(map files ordevice into memory,简称mmap)将iSCSI指令映射到用户空间。iSCSI指令中包括待访问的块设备号、扇区大小、待访问块设备所属集群,以及具体的操作指令等信息。iSCSI服务器对iSCSI指令进行解析后,根据解析后的iSCSI指令访问分布式存储客户端中对应的分布式存储集群。
具体访问之前,可以先建立与相应的分布式存储集群之间的通信连接,然后打开块设备,启动线程循环读取UIO设备映射的内容(主要是iSCSI指令),然后根据iSCSI指令进行相应处理。
具体参见图4所示,图4示意出了数据访问系统中各部件所执行的信令流程示意图。
iSCSI客户端通过内部的管理服务器发送iSCSI会话请求至iSCSI网关服务器;
iSCSI网关服务器建立与iSCSI客户端之间的会话连接。
iSCSI客户端发送iSCSI指令至iSCSI网关服务器;
iSCSI服务器监听iSCSI网关服务器,读取iSCSI指令,根据iSCSI指令访问分布式存储集群中的相应块设备。
可选的,该附图中还体现了多路径管理服务器将多路径信息传递给iSCSI网关服务器(这里的iSCSI网关服务器仅体现了一个,实际上可以包括多个,所以才会有iSCSI网关服务器获取多路径信息这一步骤)。后续可以是多路径管理服务器切换路径,也可是主iSCSI网关服务器在确定自身所在的传输路径发生故障后,自动切换至其他通信连接路径。
下面,将一个具体例子,来说明网关服务器等的创建,以及采用上述所介绍的数据访问系统,访问分布式存储客户端中的分布式存储集群的整体操作流程,具体参见如下:
首先说明来说明网关服务器等的创建的步骤。
1、用户运用iSCSI配置工具,操作iSCSI网关服务器创建iSCSI网关:网关名称create iqn.2003-01.com.redhat.iscsi-gw:ceph-igw,网关节点1:ip 172.16.135.130、端口3260,并将网关信息持久化到ceph集群。
2、iSCSI网关服务器向其他网关节点的iSCSI网关服务器发送消息创建iSCSI网关,网关节点2:ip 172.16.135.129、端口3260
3、用户运用iSCSI配置工具,操作iSCSI网关服务器访问ceph集群,在ceph集群中rbd存储池创建块设备空间:image0,在网关节点系统目录/sys/kernel/config/target/core/、/sys/devices/tcm_user/、/sys/class/uio/下生成块设备的大小、块设备号、扇区大小、设备所属集群等设备属性信息,在网关节点生成UIO设备:/dev/uio0,将设备名称image0、大小1G等信息持久化到分布式存储集群。
4、iSCSI网关服务器向其他网关节点的iSCSI网关服务器发送消息创建块设备,在网关节点系统目录/sys/kernel/config/target/core/、/sys/devices/tcm_user/、/sys/class/uio/下生成块设备的大小、块设备号、扇区大小、设备所属集群等信息,在网关节点生成UIO设备:/dev/uio0。
5、用户运用iSCSI配置工具,操作iSCSI网关服务器创建iSCSI客户端:iqn.1994-05.com.redhat:rh7-客户端,创建iSCSI客户端CHAP认证信息:consumer/012345678912,将iSCSI客户端、iSCSI客户端CHAP认证信息写入网关节点对应的系统目录/sys/kernel/config/target/core/,并且持久化存储到到分布式存储集群。
6、iSCSI网关服务器向其他网关节点的iSCSI网关服务器发送消息创建iSCSI客户端:iqn.1994-05.com.redhat:rh7-客户端,创建iSCSI客户端CHAP认证信息:consumer/012345678912,将iSCSI客户端、iSCSI客户端CHAP认证信息写入网关节点对应的系统目录/sys/kernel/config/target/core/。
7、用户运用iSCSI配置工具,操作iSCSI网关服务器创建iSCSI客户端的LUN:lun0,将创建的块设备添加至iSCSI客户端,将块设备与iSCSI客户端的对应关系写入网关节点对应的系统目录/sys/kernel/config/target/core/,并且持久化存储到到分布式存储集群。
8、iSCSI网关服务器向其他网关节点的iSCSI网关服务器发送消息创建iSCSI客户端的LUN lun0,将创建的块设备添加至iSCSI客户端,将块设备与iSCSI客户端的对应关系写入网关节点对应的系统目录/sys/kernel/config/target/core/。
9、iSCSI服务器探测到UIO设备(/dev/uio0)创建后,会读取UIO设备大小、块设备号、扇区大小、设备所属集群等信息。打开UIO设备后,通过mmap(文件内存映射,map filesor device into memory),将iSCSI指令映射到用户空间。并根据iSCSI指令中对应的访问块设备号、设备所属集群等信息与对应的分布式存储集群建立链接,打开分布式存储集群中与块设备号对应的块设备,启动线程循环读取UIO设备映射的内容并进行后续处理。
通过上文所介绍的数据访问系统,实现iSCSI访问分布式存储客户端示例如下:
1、在主机侧,iSCSI客户端管理服务发起iSCSI访问,登录iSCSI网关(172.16.135.130:3260,1iqn.2003-01.com.redhat.iscsi-gw:ceph-igw、172.16.135.129:3260,2iqn.2003-01.com.redhat.iscsi-gw:ceph-igw),生成主机块设备/dev/sdb、/dev/sdc。
2、在主机侧,多路径客户端管理服务,探测到设备号相同的设备,创建多路径设备:/dev/dm-3。
3、在主机侧,多路径设备作为块设备(/dev/dm-3),写入信息后,会通过iSCSI客户端的管理服务器,发送iSCSI指令至iSCSI网关节点相应的iSCSI网关服务器。
4、在网关节点,iSCSI服务器探听到iSCSI网关服务器中的iSCSI指令后,循环读取UIO设备映射的iSCSI指令,并对该指令进行解析,并执行后续处理。
在一个具体的例子中,如果主机侧是VMWare主机,iSCSI服务器读取UIO设备(/dev/uio0)映射到用户空间的内容,读取的指令是支持VMWare VAAI的SCSI的EXTEND COPY命令,命令中直接携带待复制数据的源、目的地址。iSCSI服务器读取到EXTEND COPY指令后,对该命令进行解析,以获取到复制数据的源设备、目的设备、源设备数据复制的起始地址、目的设备数据复制起始地址、待复制数据大小等信息。
然后根据解析后的内容,直接访问分布式存储集群读取源设备数据,再访问分布式存储集群将数据写入目的设备。这样避免了在主机侧进行的数据拷贝,减少了CPU内存的消耗,缩短了IO路径,大大提高了数据复制的效率。
可选的,当某一个网关节点异常,例如,网关节点172.16.135.130:3260异常,那么可以通过另外一个网关节点172.16.135.129:3260来访问分布式存储集群,由此实现主机侧可以继续进行块设备的访问。
本发明实施例提供的数据访问系统,通过iSCSI网关服务器与iSCSI服务器作为iSCSI客户端与分布式存储客户端之间建立通信连接的“桥梁”。iSCSI客户端获取到会话请求后,会首先传输至iSCSI网关服务器,利用会话请求首先建立iSCSI客户端与iSCSI网关服务器之间的会话连接。然后,iSCSI客户端通过会话连接链路传输iSCSI指令至iSCSI网关服务器。在iSCSI服务器一侧,其周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,并根据iSCSI指令,访问分布式存储客户端。通过该方式,实现通过标准的iSCSI接口使用分布式存储系统。在不依赖linux操作系统中的内核驱动接口,或者应用程序接口的情况下,保证企业环境中的其他操作系统同样可以访问分布式存储系统。
而且,在主机与分布式存储系统直接配置并创建多条冗余物理路径,故障发生时使用备用路径以使主机仍然可以访问分布式存储集群。
而iSCSI网关节点的iSCSI target信息,将持久化地存在于分布式存储集群,网关节点发生故障恢复后网关服务可以主动访问分布式存储集群信息,恢复iSCSI target。
在者,本申请实施方案,可以支持VMWare等系统的硬件加速减负API,将部分存储操作从主机卸载给分布式存储集群,减少主机的资源开销,还可以提高存储性能。
以上,为本申请所提供的数据访问系统对应的实施例,下文中则介绍说明本申请所提供的数据访问系方法对应的实施例,具体参见如下。
图5为本发明实施例提供的一种数据访问方法流程示意图,该方法应用于如上任一实施例所介绍的一种数据访问系统,数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端,方法由iSCSI网关服务器执行,包括:
步骤510,接收iSCSI客户端发送的建立会话请求。
步骤520,根据会话请求,建立与iSCSI客户端之间的会话连接。
步骤530,接收iSCSI客户端发送的iSCSI指令。
其中,iSCSI指令为iSCSI客户端确定会话连接建立后发送的操作指令。
步骤540,将iSCSI指令发送至iSCSI服务器,以便iSCSI服务器根据iSCSI指令,访问分布式存储客户端。
本发明实施例提供的数据访问方法中各方法步骤执行的细节均已在上述任一系统实施例中做了详细的描述,因此这里不再赘述。
本发明实施例提供的一种数据访问方法,通过iSCSI网关服务器与iSCSI服务器作为iSCSI客户端与分布式存储客户端之间建立通信连接的“桥梁”。iSCSI客户端获取到会话请求后,会首先传输至iSCSI网关服务器,利用会话请求首先建立iSCSI客户端与iSCSI网关服务器之间的会话连接。然后,iSCSI客户端通过会话连接链路传输iSCSI指令至iSCSI网关服务器。在iSCSI服务器一侧,其周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,并根据iSCSI指令,访问分布式存储客户端。通过该方式,实现通过标准的iSCSI接口使用分布式存储系统。在不依赖linux操作系统中的内核驱动接口,或者应用程序接口的情况下,保证企业环境中的其他操作系统同样可以访问分布式存储系统。
图6为本发明实施例提供的另一种数据访问方法,该方法应用于一种数据访问系统,数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端,方法由iSCSI服务器执行,该方法包括:
步骤610,周期性的监听iSCSI网关服务器。
步骤620,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令。
步骤630,根据iSCSI指令,访问分布式存储客户端。
本发明实施例提供的数据访问方法中各方法步骤执行的细节均已在上述任一系统实施例中做了详细的描述,因此这里不再赘述。
本发明实施例提供的一种数据访问方法,通过iSCSI网关服务器与iSCSI服务器作为iSCSI客户端与分布式存储客户端之间建立通信连接的“桥梁”。iSCSI客户端获取到会话请求后,会首先传输至iSCSI网关服务器,利用会话请求首先建立iSCSI客户端与iSCSI网关服务器之间的会话连接。然后,iSCSI客户端通过会话连接链路传输iSCSI指令至iSCSI网关服务器。在iSCSI服务器一侧,其周期性的监听iSCSI网关服务器,当确定iSCSI网关服务器存储有iSCSI指令后,读取并解析iSCSI指令,并根据iSCSI指令,访问分布式存储客户端。通过该方式,实现通过标准的iSCSI接口使用分布式存储系统。在不依赖linux操作系统中的内核驱动接口,或者应用程序接口的情况下,保证企业环境中的其他操作系统同样可以访问分布式存储系统。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据访问系统,其特征在于,所述数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端;
所述iSCSI客户端,用于获取会话请求,并传输至所述iSCSI网关服务器;
所述iSCSI网关服务器,用于根据所述会话请求,建立与所述iSCSI客户端之间的会话连接;
所述iSCSI客户端,还用于当确定所述会话连接建立后,发送iSCSI指令至所述iSCSI网关服务器;
所iSCSI网关服务器,还用于接收并存储所述iSCSI指令;
所述iSCSI服务器,用于周期性的监听所述iSCSI网关服务器,当确定所述iSCSI网关服务器存储有所述iSCSI指令后,读取并解析所述iSCSI指令,根据所述iSCSI指令,访问分布式存储客户端。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:多路径管理服务器,iSCSI网关服务器包括多个,所述iSCSI服务器的数量与所述iSCSI网关服务器的数量相同,所述多路径管理服务器分别于所述iSCSI客户端,以及多个所述iSCSI网关服务器建立通信连接,每一个所述iSCSI网关服务器与一个所述iSCSI服务器建立通信连接,与所述iSCSI客户端,以及所述分布式存储客户端构建通信连接路径;
所述多路径管理服务器用于对多条所述通信连接路径进行管理;
当确定所述iSCSI客户端与所述分布式存储客户端之间当前使用的通信连接路径发生故障时,更换所述通信连接路径。
3.根据权利要求1或2所述的系统,其特征在于,所述分布式存储客户端包括多个块设备,一个或多个块设备分别与一个所述iSCSI服务器之间建立映射关系;
所述iSCSI服务器,具体用于根据所述iSCSI指令,访问与所述iSCSI服务器之间建立映射关系的一个或多个块设备中的数据。
4.根据权利要求1或2所述的系统,其特征在于,所述分布式存储客户端中持久化存储有所述iSCSI客户端信息、所述iSCSI网关服务器信息,以及所述iSCSI服务器信息。
5.根据权利要求1或2所述的系统,其特征在于,所述iSCSI网关服务器与所述iSCSI服务器之间通过UIO建立通信连接。
6.根据权利要求5所述的系统,其特征在于,所述iSCSI网关服务器,还用于在预设存储位置生成所述UIO,并通过所述UIO将所述iSCSI指令映射到用户空间。
7.根据权利要求6所述的系统,其特征在于,所述iSCSI服务器,具体用于:周期性的探测所述UIO;
通过所述UIO读取并解析所述用户空间中的所述iSCSI指令,以根据所述iSCSI指令,访问分布式存储客户端。
8.根据权利要求1或2所述的系统,其特征在于,所述iSCSI网关服务器还用于创建iSCSI target,并将所述iSCSI target信息通过所述iSCSI服务器传输至所述分布式存储客户端,进行持久性保存。
9.一种数据访问方法,其特征在于,所述方法应用于一种数据访问系统,所述数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端,所述方法由所述iSCSI网关服务器执行,包括:
接收所述iSCSI客户端发送的建立会话请求;
根据所述会话请求,建立与所述iSCSI客户端之间的会话连接;
接收所述iSCSI客户端发送的iSCSI指令,其中所述iSCSI指令为所述iSCSI客户端确定所述会话连接建立后发送的操作指令;
将所述iSCSI指令发送至所述iSCSI服务器,以便所述iSCSI服务器根据所述iSCSI指令,访问所述分布式存储客户端。
10.一种数据访问方法,其特征在于,所述方法应用于一种数据访问系统,所述数据访问系统包括:iSCSI客户端、iSCSI网关服务器、iSCSI服务器,以及分布式存储客户端,所述方法由所述iSCSI服务器执行,所述方法包括:
周期性的监听所述iSCSI网关服务器;
当确定所述iSCSI网关服务器存储有所述iSCSI指令后,读取并解析所述iSCSI指令;
根据所述iSCSI指令,访问分布式存储客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111616010.4A CN114500577A (zh) | 2021-12-27 | 2021-12-27 | 数据访问系统及数据访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111616010.4A CN114500577A (zh) | 2021-12-27 | 2021-12-27 | 数据访问系统及数据访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114500577A true CN114500577A (zh) | 2022-05-13 |
Family
ID=81497045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111616010.4A Pending CN114500577A (zh) | 2021-12-27 | 2021-12-27 | 数据访问系统及数据访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500577A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622729A (zh) * | 2022-08-19 | 2023-01-17 | 中国电子科技集团公司第三十研究所 | 一种iSCSI协议数据安全加固方法及网关 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140060959A (ko) * | 2012-11-13 | 2014-05-21 | 주식회사 유투앤 | iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템 |
KR20150061316A (ko) * | 2013-11-27 | 2015-06-04 | 주식회사 유투앤 | 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 부하 분산 방법 및 시스템 |
CN110120972A (zh) * | 2019-04-19 | 2019-08-13 | 浙江省气象台 | 分布式存储网格气象数据读取方法及读取系统 |
CN111049669A (zh) * | 2019-10-30 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种实现流量控制的分布式存储系统及方法 |
CN113489784A (zh) * | 2021-07-05 | 2021-10-08 | 深圳市杉岩数据技术有限公司 | 分布式存储的非对称逻辑单元访问多路径实现方法及系统 |
-
2021
- 2021-12-27 CN CN202111616010.4A patent/CN114500577A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140060959A (ko) * | 2012-11-13 | 2014-05-21 | 주식회사 유투앤 | iSCSI 스토리지 시스템을 이용한 네트워크 분산 파일 시스템의 부하 분산 방법 및 시스템 |
KR20150061316A (ko) * | 2013-11-27 | 2015-06-04 | 주식회사 유투앤 | 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 부하 분산 방법 및 시스템 |
CN110120972A (zh) * | 2019-04-19 | 2019-08-13 | 浙江省气象台 | 分布式存储网格气象数据读取方法及读取系统 |
CN111049669A (zh) * | 2019-10-30 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种实现流量控制的分布式存储系统及方法 |
CN113489784A (zh) * | 2021-07-05 | 2021-10-08 | 深圳市杉岩数据技术有限公司 | 分布式存储的非对称逻辑单元访问多路径实现方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622729A (zh) * | 2022-08-19 | 2023-01-17 | 中国电子科技集团公司第三十研究所 | 一种iSCSI协议数据安全加固方法及网关 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11249857B2 (en) | Methods for managing clusters of a storage system using a cloud resident orchestrator and devices thereof | |
US7370336B2 (en) | Distributed computing infrastructure including small peer-to-peer applications | |
US6715098B2 (en) | System and method for fibrechannel fail-over through port spoofing | |
JP4349871B2 (ja) | ファイル共有装置及びファイル共有装置間のデータ移行方法 | |
US7139809B2 (en) | System and method for providing virtual network attached storage using excess distributed storage capacity | |
JP5461216B2 (ja) | 論理ボリューム管理の為の方法と装置 | |
JP5142678B2 (ja) | デプロイ方法およびシステム | |
US20080263544A1 (en) | Computer system and communication control method | |
US20050135384A1 (en) | Virtual endpoint | |
US6766470B1 (en) | Enhancing reliability and robustness of a cluster | |
JP2005267327A (ja) | ストレージシステム | |
KR20040022433A (ko) | 가상의 저장영역 네트워크를 설정하기 위한 네트워크데이터의 미러링 | |
CN110908723A (zh) | 操作系统的主备切换方法、装置及相关设备 | |
JPH08212095A (ja) | クライアントサーバ制御システム | |
JP4287092B2 (ja) | ファイル管理システムおよびファイル管理方法 | |
JP2004199682A (ja) | 高可用性クラスタにおける活性判定用通信ネットワークとしての記憶媒体の使用 | |
CN113849136B (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
JP2006260240A (ja) | 計算機システム及び記憶装置とコンピュータ・ソフトウエア並びにデータ移行方法 | |
WO2018200036A1 (en) | Methods for improved data replication in cloud environments and devices thereof | |
US10129081B1 (en) | Dynamic configuration of NPIV virtual ports in a fibre channel network | |
CN114500577A (zh) | 数据访问系统及数据访问方法 | |
JP7179810B2 (ja) | クラスタシステム、クラスタシステムのフェイルオーバー制御方法 | |
US8065561B1 (en) | Method and apparatus for automating device recovery using device configuration information | |
JPH08235132A (ja) | マルチサーバシステムのホットスタンバイ制御方法 | |
WO2016046951A1 (ja) | 計算機システム及びそのファイル管理方法 |
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 |