CN105892943B - 一种分布式存储系统中块存储数据的访问方法及系统 - Google Patents

一种分布式存储系统中块存储数据的访问方法及系统 Download PDF

Info

Publication number
CN105892943B
CN105892943B CN201610192083.8A CN201610192083A CN105892943B CN 105892943 B CN105892943 B CN 105892943B CN 201610192083 A CN201610192083 A CN 201610192083A CN 105892943 B CN105892943 B CN 105892943B
Authority
CN
China
Prior art keywords
distributed
block
access
storage
transferred
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
CN201610192083.8A
Other languages
English (en)
Other versions
CN105892943A (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.)
Hunan aisuizhizhen Information Technology Co.,Ltd.
Original Assignee
Shanghai Eisoo Information Technology 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 Eisoo Information Technology Co Ltd filed Critical Shanghai Eisoo Information Technology Co Ltd
Priority to CN201610192083.8A priority Critical patent/CN105892943B/zh
Publication of CN105892943A publication Critical patent/CN105892943A/zh
Application granted granted Critical
Publication of CN105892943B publication Critical patent/CN105892943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式存储系统中块存储数据的访问方法及系统,包括构建分布式STGT多资源管理系统和分布式块存储系统;在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。本发明的分布式存储系统中块存储数据的访问方法及系统减少了分布式块存储并发访问的权限冲突,强化并行访问的权限控制,提高数据并发访问的安全性和可靠性,块存储预警的准确度和及时性,和分布式存储系统及块存储数据访问的稳定性。

Description

一种分布式存储系统中块存储数据的访问方法及系统
技术领域
本发明涉及云存储及计算机信息存储的技术领域,特别是涉及一种分布式存储系统中块存储数据的访问方法及系统。
背景技术
在云计算的基础设施即服务(Infrastructure as a Service,IaaS)中,云运营商提供托管的物理机、虚拟机及其他设施,供不同的用户根据自己的实际需求进行租赁使用。虚拟机服务是IaaS的核心,IaaS云运营商几乎都提供虚拟机服务。这里的虚拟机指的是狭义的系统虚拟机,常见的虚拟机有Hyper-V、KVM、VMware等。
传统的虚拟机存储服务可分为三大类:开放系统的直连式存储(Direct-AttachedStorage,DAS)、网络附属存储(Network-Attached Storage,NAS)和存储区域网络(StorageArea-Network,SAN)。然而,传统的DAS、NAS和SAN存储难以满足IaaS场景下的虚拟机存储对容量、性能可用性的综合需求。基于SAN的分布式块存储系统更适合虚拟机存储服务的应用。
目前,主流开源分布式块存储包括ceph与sheepdog。
ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统,其可轻松扩展到数PB容量,支持多种工作负载的高性能,具有高可靠性、可扩展性、伸缩性。ceph能够提供对象、块和文件这三种形式的存储服务。Ceph将数据视为存储池中的对象,通过CRUSH算法将对象均匀分布到集群之中,并提供动态扩展、平衡和恢复。在对象的基础上,ceph通过rbd-ko等模块基于可靠、自治、分布式对象存储(Reliable,Autonomic Distributed Object Store,RADOS)协议提供了一层块设备的抽象,支持对Internet小型计算机系统接口协议(Internet SmallComputer System Interface,iSCSI)的支持。
Sheepdog是一个分布式对象存储系统,并在此基础上提供高可用的块级存储卷,提供对iSCSI协议的支持。
大多数SAN使用iSCSI协议在服务器和存储设备之间进行传输和沟通,通过在小型计算机系统接口(Small Computer System Interface,SCSI)之上建立不同镜像层,来实现存储网络的连接。常见的通信协议有iSCSI、光纤通道协议(Fibre Channel Protocol,FCP)、以太网光纤通道(Fibre Channel over Ethernet)等。传统SAN块存储的SCSI目标(Target)访问方式主要有:STGT、SCST和LIO。其中,SCST和LIO处于内核态,支持文件系统访问和抢占式SCSI-3预留锁(Persistent Reservation,PR)、ALUA,提供更细粒度控制策略和Qos保证体制,但结构复杂、二次开发成本较高,且一旦出现问题,整个存储系统瘫痪。STGT默认为用户态方式,专注于iSCSI、维护方便,但支持的SCSI协议简单,不支持集群PR。PR是指在访问逻辑单元号(Logical Unit Number,LUN)之前,主机首先向LUN注册一个留约密钥,注册成功后主机可以尝试进行永久预留,永久预留成功后就可以获得LUN的操作权限。
总体来说,构建规模不大的iSCSI Target,STGT是一个不错的选择,但STGT不支持PR,无法满足Active/Active多路径环境和集群多节点访问存储的需求。多节点经过iSCSI多路径对同一LUN块存储资源分配时,因为访问冲突会引起虚拟化文件的损坏,无法保障分布式存储系统中块存储数据访问的安全性。即使LUN块存储资源出现异常,多主机无法感知,持续对LUN读写数据,引起虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)异常,带来不可预知的后果。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种分布式存储系统中块存储数据的访问方法及系统,采用分布式PR机制,减少了分布式块存储并发访问的权限冲突,强化了并行访问的权限控制;采用分布式watcher机制,提高了块存储预警的准确度和及时性。
为实现上述目的及其他相关目的,本发明提供一种分布式存储系统中块存储数据的访问方法,包括:1)构建分布式STGT多资源管理系统和分布式块存储系统;所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层;所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问;所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问;所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问;所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务;所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCSI主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控;2)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;3)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;4)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。
根据上述的分布式存储系统中块存储数据的访问方法,其中:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
根据上述的分布式存储系统中块存储数据的访问方法,其中:所述分布式PR机制的处理流程包括以下步骤:
1)启动STGT服务进程;
2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4);
3)创建临时目录/PR;
4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。
进一步地,根据上述的分布式存储系统中块存储数据的访问方法,其中:所述STGT循环事件包括以下步骤:
a)接收并解析iSCSI指令;
b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g);
c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g);
d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f);
e)创建临时目录/PR/LUN_ID,转入g);
f)删除临时目录/PR/LUN_ID,转入g);
g)读写块设备的数据。
根据上述的分布式存储系统中块存储数据的访问方法,其中:所述watcher机制的处理流程包括以下步骤:
1)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载;
2)查看已挂载的以磁盘方式呈现的块设备,过滤出特定的磁盘;
3)读取特定的磁盘;
4)判断磁盘是否含有IO错误;若是,转入5);若否,转入3);
5)删除磁盘对应的块存储的访问逻辑单元号。
同时,本发明还提供一种分布式存储系统中块存储数据的访问系统,包括构建模块、PR处理模块、watcher处理模块和解耦模块;
所述构建模块用于构建分布式STGT多资源管理系统和分布式块存储系统。
所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层;
所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问;
所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问;
所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问;
所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务;
所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCSI主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控;
所述PR处理模块用于采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;
所述watcher处理模块用于采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;
所述解耦模块用于采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。
根据上述的分布式存储系统中块存储数据的访问系统,其中:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
根据上述的分布式存储系统中块存储数据的访问系统,其中:所述分布式PR机制的处理流程包括以下步骤:
1)启动STGT服务进程;
2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4);
3)创建临时目录/PR;
4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。
进一步地,根据上述的分布式存储系统中块存储数据的访问系统,其中:所述STGT循环事件包括以下步骤:
a)接收并解析iSCSI指令;
b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g);
c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g);
d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f);
e)创建临时目录/PR/LUN_ID,转入g);
f)删除临时目录/PR/LUN_ID,转入g);
g)读写块设备的数据。
根据上述的分布式存储系统中块存储数据的访问系统,其中:所述watcher机制的处理流程包括以下步骤:
1)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载;
2)查看已挂载的以磁盘方式呈现的块设备,过滤出特定的磁盘;
3)读取特定的磁盘;
4)判断磁盘是否含有IO错误;若是,转入5);若否,转入3);
5)删除磁盘对应的块存储的访问逻辑单元号。
如上所述,本发明的分布式存储系统中块存储数据的访问方法及系统,具有以下有益效果:
(1)采用分布式PR机制,减少分布式块存储并发访问的权限冲突,强化并行访问的权限控制,提高数据并发访问的安全性和可靠性;
(2)采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性,提高块存储预警的准确度和及时性;
(3)采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动,提高分布式存储系统及块存储数据访问的稳定性。
附图说明
图1显示为本发明的分布式存储系统中块存储数据的访问方法的流程图;
图2显示为本发明的分布式STGT多资源管理系统的结构示意图;
图3显示为本发明的分布式块存储系统的总体框架示意图;
图4显示为本发明的分布式PR机制的处理流程图;
图5显示为本发明的分布式watcher机制的处理流程图;
图6显示为本发明的分布式解耦服务启动的示意图;
图7显示为本发明的分布式存储系统中块存储数据的访问系统的结构示意图。
元件标号说明
1 构建模块
2 PR处理模块
3 watcher处理模块
4 解耦模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
需要说明的是,下文主要以ceph为例来阐述本发明的分布式存储系统中块存储数据的访问方法及系统。需要说明的是,其他分布式块存储依然适用于本发明的分布式存储系统中块存储数据的访问方法及系统,属于本发明的保护范围之内。
本发明的分布式存储系统中块存储数据的访问方法及系统采用分布式PR机制和分布式watcher机制来满足Active/Active多路径环境和集群多节点访问块存储,减少了分布式块存储并发访问的权限冲突,强化了并行访问的权限控制,提高了块存储数据读写的安全性和可靠性,以及块存储预警的准确度和及时性。
参照图1,本发明的分布式存储系统中块存储数据的访问方法包括:
1)构建分布式STGT多资源管理系统(以下简称CTGT)和分布式块存储系统。
如图2所示,分布式STGT多资源管理系统自下到上依次包括存储层、存储驱动层、主机层(Initiator层)和管理集群层。
存储层用于基于ceph分布式文件系统,对存储驱动层通过块存储接口RBD提供块访问。
具体地,存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问。
Initiator层用于基于分布式SAN的iSCSI协议对分布式CTGT Target块存储的数据进行访问。
管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务。
如图3所示,分布式块存储系统中,SAN主机采用iSCSI协议访问CTGT提供的块存储,块存储用于部署虚拟化桌面(VDI),iSCSI协议对VDI的稳定性起到稳定作用。CTGT采用分布式PR中的节点目录(Znode)模型,模拟访问块存储的iSCSI主机,Znode记录块存储及iSCSI主机信息。例如:iSCIS主机1对块存储1(存储节点1)的访问,Znode可设置为“/PR/LUN1/iniriator1”;watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控,如:STGT状态等。
2)采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储。
集群多节点访问块存储时,分布式PR锁保障PR在集群中的消息可复制,较少分布式块存储并发访问的权限冲突。
如图4所示,分布式PR机制的处理流程包括以下步骤:
1)启动STGT服务进程。
2)查询分布式Znode根目录/,判断目录/PR是否存在,若否,转入3),若是,转入4)。
3)创建临时目录/PR。
其中,PR指令包括加锁(reserve)和释放锁(release),reserve用来创建临时目录/PR/LUN_ID,release用来删除临时目录/PR/LUN_ID。/PR为常规性Znode,即使节点丢失,/PR仍存在;/LUN_ID为临时性Znode,/PR/LUN_ID随节点/LUN_ID的丢失而丢失。
4)执行STGT循环(STGT event_loop)事件,以周期性地响应iSCSI主机层请求。
具体地,STGT event_loop事件包括以下步骤:
a)接收并解析iSCSI指令。
b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g)。
c)查询分布式Znode的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g)。
d)判断PR是reserve还是release,若为reserve,转入e);若否,转入f)。
e)创建临时目录/PR/LUN_ID,转入g)。
f)删除临时目录/PR/LUN_ID,转入g)。
g)读写块设备的数据。
3)采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性。
若集群某节点访问块存储iSCSI指令超时,该节点的STGT产生abort终止命令、重置LUN、上报集群,从而达到预警效果。
如图5所示,watcher机制的处理流程包括以下步骤:
1)iscsiadm命令连接iSCSI target端,确保LUN能够正常挂载。
2)Isscsi查看已挂载的以磁盘方式呈现的块设备,过滤出特定厂商的磁盘。
3)采用sg_inq读取特定厂商的磁盘。
4)判断磁盘是否含有IO错误;若是,转入5);若否,转入3)。
5)删除磁盘对应的块存储的LUN。
4)采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。
采用PR机制的Znode模拟多服务进程,采用watcher机制监控Znode属性,从而达到解耦服务进程启动的效果。
如图6所示,在一个优选实施例中,解耦分布式集群节点中多服务进程启动时,采用分布式PR的Znode模型,服务进程SER1、SER2、SER3分别对应Znode临时目录/SEQ/SER1、/SEQ/SER2、/SEQ/SER3,启动先后顺序为SER1、SER2、SER3,watcher机制监控Znode属性时,包括以下步骤:
1)监控SER1进程及其状态,若SER1及其状态正常,创建临时目录/SEQ/SER1;若异常,删除/SEQ/SER1。
2)监控SER2进程与临时目录/SEQ/SER1;若临时目录/SEQ/SER1存在,转入3),否则执行转入6)。
3)启动SER2进程,并创建临时目录/SEQ/SER2。
4)监控SER3进程与临时目录/SEQ/SER1和/SEQ/SER2,若临时目录/SEQ/SER1和/SEQ/SER2均存在,且SER3进程未启动,转入5);否则转入6)。
5)启动SER3进程,并创建临时目录/SEQ/SER3。
6)不处理。
参照图7,本发明的分布式存储系统中块存储数据的访问系统包括构建模块1、PR处理模块2、watcher处理模块3和解耦模块4。其中,PR处理模块2、watcher处理模块3和解耦模块4均与构建模块1相连。
构建模块1用于构建分布式STGT多资源管理系统(以下简称CTGT)和分布式块存储系统。
其中,分布式STGT多资源管理系统自下到上依次包括存储层、存储驱动层、主机层(Initiator层)和管理集群层。
存储层用于基于ceph分布式文件系统,对存储驱动层通过块存储接口RBD提供块访问。
具体地,存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问。
Initiator层用于基于分布式SAN的iSCSI协议对分布式CTGT Target块存储的数据进行访问。
管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务。
分布式块存储系统中,SAN主机采用iSCSI协议访问CTGT提供的块存储,块存储用于部署虚拟化桌面(VDI),iSCSI协议对VDI的稳定性起到稳定作用。CTGT采用分布式PR中的节点目录(Znode)模型,模拟访问块存储的iSCSI主机,Znode记录块存储及iSCSI主机信息。例如:iSCIS主机1对块存储1(存储节点1)的访问,Znode可设置为“/PR/LUN1/iniriator1”;watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控,如:STGT状态等。
PR处理模块2用于采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储。
集群多节点访问块存储时,分布式PR锁保障PR在集群中的消息可复制,较少分布式块存储并发访问的权限冲突。
分布式PR机制的处理流程包括以下步骤:
1)启动STGT服务进程。
2)查询分布式Znode根目录/,判断目录/PR是否存在,若否,转入3),若是,转入4)。
3)创建临时目录/PR。
其中,PR指令包括加锁(reserve)和释放锁(release),reserve用来创建临时目录/PR/LUN_ID,release用来删除临时目录/PR/LUN_ID。/PR为常规性Znode,即使节点丢失,/PR仍存在;/LUN_ID为临时性Znode,/PR/LUN_ID随节点/LUN_ID的丢失而丢失。
4)执行STGT循环(STGT event_loop)事件,以周期性地响应iSCSI主机层请求。
具体地,STGT event_loop事件包括以下步骤:
a)接收并解析iSCSI指令。
b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g)。
c)查询分布式Znode的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g)。
d)判断PR是reserve还是release,若为reserve,转入e);若否,转入f)。
e)创建临时目录/PR/LUN_ID,转入g)。
f)删除临时目录/PR/LUN_ID,转入g)。
g)读写块设备的数据。
watcher处理模块3用于采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性。
若集群某节点访问块存储iSCSI指令超时,该节点的STGT产生abort终止命令、重置LUN、上报集群,从而达到预警效果。
watcher机制的处理流程包括以下步骤:
1)iscsiadm命令连接iSCSI target端,确保LUN能够正常挂载。
2)Isscsi查看已挂载的以磁盘方式呈现的块设备,过滤出特定厂商的磁盘。
3)采用sg_inq读取特定厂商的磁盘。
4)判断磁盘是否含有IO错误;若是,转入5);若否,转入3)。
5)删除磁盘对应的块存储的LUN。
解耦模块4用于采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。
采用PR机制的Znode模拟多服务进程,采用watcher机制监控Znode属性,从而达到解耦服务进程启动的效果。
在一个优选实施例中,解耦分布式集群节点中多服务进程启动时,采用分布式PR的Znode模型,服务进程SER1、SER2、SER3分别对应Znode临时目录/SEQ/SER1、/SEQ/SER2、/SEQ/SER3,启动先后顺序为SER1、SER2、SER3,watcher机制监控Znode属性时,包括以下步骤:
1)监控SER1进程及其状态,若SER1及其状态正常,创建临时目录/SEQ/SER1;若异常,删除/SEQ/SER1。
2)监控SER2进程与临时目录/SEQ/SER1;若临时目录/SEQ/SER1存在,转入3),否则执行转入6)。
3)启动SER2进程,并创建临时目录/SEQ/SER2。
4)监控SER3进程与临时目录/SEQ/SER1和/SEQ/SER2,若临时目录/SEQ/SER1和/SEQ/SER2均存在,且SER3进程未启动,转入5);否则转入6)。
5)启动SER3进程,并创建临时目录/SEQ/SER3。
6)不处理。
综上所述,本发明的分布式存储系统中块存储数据的访问方法及系统采用分布式PR机制,减少分布式块存储并发访问的权限冲突,强化并行访问的权限控制,提高数据并发访问的安全性和可靠性;采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性,提高块存储预警的准确度和及时性;采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动,提高分布式存储系统及块存储数据访问的稳定性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种分布式存储系统中块存储数据的访问方法,其特征在于:包括:
1)构建分布式STGT多资源管理系统和分布式块存储系统;
所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层;
所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问;
所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问;
所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问;
所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务;
所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCS I主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控;
2)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;
3)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;
4)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动;
PR是指在访问逻辑单元号之前,主机首先向逻辑单元号注册一个留约密钥,注册成功后主机尝试进行永久预留,永久预留成功后就可获得逻辑单元号的操作权限。
2.根据权利要求1所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
3.根据权利要求1所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述分布式PR机制的处理流程包括以下步骤:
a)启动STGT服务进程;
b)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入c),若是,转入d);
c)创建临时目录/PR;
d)执行STGT循环事件,以周期性地响应iSCSI主机层请求。
4.根据权利要求3所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述STGT循环事件包括以下步骤:
A)接收并解析iSCSI指令;
B)判断解析后的iSCSI指令是否是PR指令;若是,转入C);否则,转入G);
C)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置于目录/PR;若是,转入D);若否,转入G);
D)判断PR指令是加锁还是释放锁,若为加锁,转入Ee);若否,转入F);
E)创建临时目录/PR/LUN_ID,转入G);
F)删除临时目录/PR/LUN_ID,转入G);
G)读写块设备的数据。
5.根据权利要求1所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述watcher机制的处理流程包括以下步骤:
a)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载;
b)查看已挂载的以磁盘方式呈现的块设备,过滤出特定的磁盘;
c)读取特定的磁盘;
d)判断磁盘是否含有IO错误;若是,转入e);若否,转入c);
e)删除磁盘对应的块存储的访问逻辑单元号。
6.一种分布式存储系统中块存储数据的访问系统,其特征在于:包括构建模块、PR处理模块、watcher处理模块和解耦模块;
所述构建模块用于构建分布式STGT多资源管理系统和分布式块存储系统;
所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层;
所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问;
所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问;
所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问;
所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务;
所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCS I主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控;
所述PR处理模块用于采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;
所述watcher处理模块用于采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;
所述解耦模块用于采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动;
PR是指在访问逻辑单元号之前,主机首先向逻辑单元号注册一个留约密钥,注册成功后主机尝试进行永久预留,永久预留成功后就可获得逻辑单元号的操作权限。
7.根据权利要求6所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
8.根据权利要求6所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述分布式PR机制的处理流程包括以下步骤:
1)启动STGT服务进程;
2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4);
3)创建临时目录/PR;
4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。
9.根据权利要求8所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述STGT循环事件包括以下步骤:
a)接收并解析iSCSI指令;
b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g);
c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置于目录/PR;若是,转入d);若否,转入g);
d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f);
e)创建临时目录/PR/LUN_ID,转入g);
f)删除临时目录/PR/LUN_ID,转入g);
g)读写块设备的数据。
10.根据权利要求6所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述watcher机制的处理流程包括以下步骤:
1)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载;
2)查看已挂载的以磁盘方式呈现的块设备,过滤出含特定的磁盘;
3)读取特定的磁盘;
4)判断磁盘是否含有IO错误;若是,转入5);若否,转入3);
5)删除磁盘对应的块存储的访问逻辑单元号。
CN201610192083.8A 2016-03-30 2016-03-30 一种分布式存储系统中块存储数据的访问方法及系统 Active CN105892943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610192083.8A CN105892943B (zh) 2016-03-30 2016-03-30 一种分布式存储系统中块存储数据的访问方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610192083.8A CN105892943B (zh) 2016-03-30 2016-03-30 一种分布式存储系统中块存储数据的访问方法及系统

Publications (2)

Publication Number Publication Date
CN105892943A CN105892943A (zh) 2016-08-24
CN105892943B true CN105892943B (zh) 2019-03-01

Family

ID=57014448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610192083.8A Active CN105892943B (zh) 2016-03-30 2016-03-30 一种分布式存储系统中块存储数据的访问方法及系统

Country Status (1)

Country Link
CN (1) CN105892943B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484328B (zh) * 2016-09-23 2019-06-04 浪潮电子信息产业股份有限公司 一种基于kvm系统运行的虚拟机使用多路径块设备方法
CN107741909A (zh) * 2017-10-13 2018-02-27 郑州云海信息技术有限公司 一种用于分布式块存储的自动化测试方法及系统
US10439927B2 (en) 2018-01-31 2019-10-08 International Business Machines Corporation Distributed storage path configuration
CN109189335A (zh) * 2018-08-16 2019-01-11 博飞信息科技(上海)有限公司 基于网络状态不佳、大数据量系统迁移的方法及存储设备
CN109408485B (zh) * 2018-10-18 2020-12-01 苏州浪潮智能科技有限公司 一种分布式锁实现方法和系统
US11604712B2 (en) 2018-11-16 2023-03-14 Vmware, Inc. Active-active architecture for distributed ISCSI target in hyper-converged storage
CN110046138B (zh) * 2019-03-06 2024-03-01 平安科技(深圳)有限公司 一种iSCSI目标器多实例处理方法及分布式存储系统
US10949124B2 (en) 2019-06-28 2021-03-16 Amazon Technologies, Inc. Virtualized block storage servers in cloud provider substrate extension
KR20220011186A (ko) * 2019-06-28 2022-01-27 아마존 테크놀로지스, 인크. 클라우드 제공자 서브스트레이트 익스텐션의 가상화 블록 저장 서버
CN110413584B (zh) * 2019-07-24 2021-04-02 华云数据控股集团有限公司 数据存储方法、装置、设备及存储介质
CN110489388A (zh) * 2019-08-16 2019-11-22 上海霄云信息科技有限公司 一种用于分布式网络存储系统中scsi锁的实现方法及设备
CN110750220A (zh) * 2019-10-25 2020-02-04 北京浪潮数据技术有限公司 sheepdog分布式存储系统中卷的读写方法及装置
CN112637337B (zh) * 2020-12-22 2022-02-22 新华三大数据技术有限公司 一种数据处理方法及装置
CN114547709B (zh) * 2022-02-24 2023-05-30 安超云软件有限公司 基于iSCSI共享盘数据一致性的方法及应用

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102742A (zh) * 2014-07-31 2014-10-15 浪潮电子信息产业股份有限公司 一种高性能海量存储系统及存储方法
CN105100039A (zh) * 2015-04-21 2015-11-25 兰州大学 基于iSCSI的数据完整性存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321643B1 (en) * 2006-05-09 2012-11-27 Vmware, Inc. System and methods for automatically re-signaturing multi-unit data storage volumes in distributed data storage systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102742A (zh) * 2014-07-31 2014-10-15 浪潮电子信息产业股份有限公司 一种高性能海量存储系统及存储方法
CN105100039A (zh) * 2015-04-21 2015-11-25 兰州大学 基于iSCSI的数据完整性存储系统

Also Published As

Publication number Publication date
CN105892943A (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN105892943B (zh) 一种分布式存储系统中块存储数据的访问方法及系统
US11314543B2 (en) Architecture for implementing a virtualization environment and appliance
US10691187B2 (en) Persistent reservations for virtual disk using multiple targets
CN105975210B (zh) 数据存储系统和数据存储控制方法
US20190250849A1 (en) Enhanced soft fence of devices
US8914610B2 (en) Configuring object storage system for input/output operations
US10402374B2 (en) Log-structured storage device format
US8650566B2 (en) Virtual machine provisioning in object storage system
US9703482B2 (en) Filter appliance for object-based storage system
US8996758B2 (en) Non-disruptive configuration of a virtualization controller in a data storage system
JP2016103278A (ja) オブジェクト・ストレージ・システムにアクセスするコンピュータ・システム
KR101430649B1 (ko) 클라우드 환경 내의 데이터 분석 서비스 제공 시스템 및 방법
Shu et al. Design and implementation of an SAN system based on the fiber channel protocol
US20220027076A1 (en) System and Method for Sustaining Single NVMe Subsystem by a Federated Storage Array for NVMe-oF Connectivity
US8838768B2 (en) Computer system and disk sharing method used thereby
US10817321B2 (en) Hardware independent interface for cognitive data migration
JP2009266106A (ja) 管理装置及び管理方法
US9047122B2 (en) Integrating server and storage via integrated tenant in vertically integrated computer system
JP7431490B2 (ja) 階層型ストレージ管理システムにおけるデータ・マイグレーション
US11030100B1 (en) Expansion of HBA write cache using NVDIMM
US10209923B2 (en) Coalescing configuration engine, coalescing configuration tool and file system for storage system
US11016694B1 (en) Storage drivers for remote replication management
US8850132B1 (en) Method and system for providing a shared data resource coordinator within a storage virtualizing data processing system
US11635918B2 (en) Data migration and replication
Vengurlekar et al. Oracle automatic storage management: Under-the-hood & practical deployment guide

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211230

Address after: 410005 room 2801, 28 / F, Shimao business center, No. 393, Jianxiang Road, Dingwangtai street, Furong district, Changsha City, Hunan Province

Patentee after: Hunan aisuizhizhen Information Technology Co.,Ltd.

Address before: 201112 unit A-1, floor 2, building 8, No. 1188, LIANHANG Road, Minhang District, Shanghai

Patentee before: SHANGHAI EISOO INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right