CN112306380A - 一种存储管理方法、装置以及计算机存储介质 - Google Patents

一种存储管理方法、装置以及计算机存储介质 Download PDF

Info

Publication number
CN112306380A
CN112306380A CN201910709212.XA CN201910709212A CN112306380A CN 112306380 A CN112306380 A CN 112306380A CN 201910709212 A CN201910709212 A CN 201910709212A CN 112306380 A CN112306380 A CN 112306380A
Authority
CN
China
Prior art keywords
storage system
distributed storage
osd
nodes
gateway cluster
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.)
Granted
Application number
CN201910709212.XA
Other languages
English (en)
Other versions
CN112306380B (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910709212.XA priority Critical patent/CN112306380B/zh
Publication of CN112306380A publication Critical patent/CN112306380A/zh
Application granted granted Critical
Publication of CN112306380B publication Critical patent/CN112306380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration 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/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

本发明实施例公开了一种存储管理方法、装置以及计算机存储介质,该方法应用于分布式存储系统,该方法包括:获取分布式存储系统的部署参数;基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;通过所述定制化网关集群对所述分布式存储系统进行存储管理;这样,根据生成的定制化网关集群,不仅避免了IO聚集的问题,而且还降低了在部署多套网关集群时的管理复杂度,同时该定制化网关集群还可以支持动态创建iSCSI Target,从而进一步提高了集群资源的利用率。

Description

一种存储管理方法、装置以及计算机存储介质
技术领域
本发明涉及存储技术领域,尤其涉及一种存储管理方法、装置以及计算机存储介质。
背景技术
随着大数据时代的到来,传统的集中式存储系统已经无法满足大规模数据存储的需求。为了满足大规模数据存储的需求,确保数据存储的可靠性和安全性,出现了分布式存储系统。其中,Ceph是一种开源的分布式存储系统,能够将数据分散存储在多个存储节点,即多台存储服务器上,实现了数据的分布式存储。
随着Ceph的商业化,大部分企业开始利用Ceph来给客户提供一些替代存储区域网络的解决方案,比如基于互联网小型计算机系统接口(Internet Small Computer SystemInterface,iSCSI)服务部署的Ceph iSCSI Target方案。该Ceph iSCSI Target方案解决了非KVM/QEMU场景下(比如VMware vSphere和Windows Server等)无法通过librbd直接使用Ceph块存储的问题,扩展了Ceph块存储的应用场景。然而目前的Ceph iSCSI Target方案仍然存在一些缺陷,比如输入输出(Input/Output,IO)的聚集、在部署多套网关集群时的管理复杂度较高以及不支持动态创建iSCSI Target等问题。
发明内容
本发明的主要目的在于提出一种存储管理方法、装置以及计算机存储介质,基于定制化网关集群,不仅避免了IO聚集的问题,而且还降低了部署多套网关集群时的管理复杂度;同时该定制化网关集群还可以支持动态创建iSCSI Target,从而进一步提高了集群资源的利用率。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种存储管理方法,所述方法应用于分布式存储系统,所述方法包括:
获取分布式存储系统的部署参数;
基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
通过所述定制化网关集群对所述分布式存储系统进行存储管理。
第二方面,本发明实施例提供了一种存储管理装置,所述存储管理装置应用于分布式存储系统,所述存储管理装置包括:获取单元、生成单元和管理单元,其中,
所述获取单元,配置为获取分布式存储系统的部署参数;
所述生成单元,配置为基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
所述管理单元,配置为通过所述定制化网关集群对所述分布式存储系统进行存储管理。
第三方面,本发明实施例提供了一种存储管理装置,所述存储管理装置包括:存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如第一方面中所述方法的步骤。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有存储管理程序,所述存储管理程序被至少一个处理器执行时实现如第一方面中所述方法的步骤。
本发明实施例所提供的一种存储管理方法、装置以及计算机存储介质,该方法应用于分布式存储系统,首先获取分布式存储系统的部署参数;然后基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;最后通过所述定制化网关集群对所述分布式存储系统进行存储管理;这样,根据生成的定制化网关集群,不仅避免了IO聚集的问题,而且还降低了在部署多套网关集群时的管理复杂度,同时该定制化网关集群还可以支持动态创建iSCSI Target,从而进一步提高了集群资源的利用率。
附图说明
图1为相关技术方案提供的一种分布式存储系统的架构示意图;
图2为本发明实施例提供的一种存储管理方法的流程示意图;
图3为本发明实施例提供的一种分布式存储系统的架构示意图;
图4为本发明实施例提供的一种存储管理装置的组成结构示意图;
图5为本发明实施例提供的一种存储管理装置的具体硬件结构示意图;
图6为本发明实施例提供的一种分布式存储系统的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
Ceph是一种最热门的软件定义存储技术(Software Defined Storage,SDS),它是一个开源的分布式存储系统,为对象存储、块存储和文件存储提供了统一的软件定义解决方案,已经在云计算领域得到了广泛应用。其中,块存储是当前Ceph中最稳定、应用最广泛的存储服务,主要用来为云计算环境中的虚拟机、镜像以及云盘等服务提供块设备存储后端。而iSCSI是2003年互联网工程任务组(Internet Engineering Task Force,IETF)制定的一项标准,用于将小型计算机系统接口(Small Computer System Interface,SCSI)数据块映射成以太网数据包。从根本上说,iSCSI是一种利用互联网协议(Internet Protocol,IP)网络来传输SCSI数据块的协议,可以在发起服务请求的一方(如应用服务器)称为发起方(Initiator)和接收服务请求的一方(如存储系统)称为目标方(Target)之间通过IP网络来传输SCSI命令和数据。
目前,Ceph iSCSI Target方案提供了一种通用的基于Ceph块存储服务的解决方案,可以解决非KVM/QEMU场景下(比如VMware vSphere和Windows Server等)无法通过librbd直接使用Ceph块存储的问题,扩展了Ceph块存储的应用场景。在目前的Ceph iSCSITarget方案中,主要有三种实现方案:第一种实现方案采用TGT+librbd方式,第二种实现方案采用SCST+krbd方式,第三种实现方案采用LIO+TCMU+librbd方式。其中,对于第一种实现方案,TGT是一个纯用户态的SCSI Target框架,可以很方便的与用户态的librbd进行对接,但是因为是工作在用户态,该实现方案存在性能较低的问题,越来越不能满足企业级的存储需求;对于第二种实现方案,SCST是Linux通用SCSI目标子系统,可以为Linux内核和SCSITarget驱动之间提供统一的接口,而且SCST虽然成熟度比较高,也曾经与LIO竞争进入Linux内核主线,但是由于SCST在其应用及性能方面不如LIO而被Linux内核抛弃;对于第三种实现方案,LIO也称为Linux IO,它作为内核态的SCSI Target的一种实现,对iSCSI RFC规范的支持非常好,包括完整的错误恢复都有支持,也是当前Linux内核的唯一标准;另外,由于LIO是纯内核态实现的,为了支持用户态后端而引入了用户态后端支持,即用户空间中的目标核心模块(Target Core Module in Userspace,TCMU),TCMU通过LIO把SCSI命令从LIO内核透传到用户空间,从而可以在用户空间实现各种Target驱动。
针对上述的三种实现方案,现有的Ceph方案基本上都会采用第三种实现方案。其中,iSCSI网关(iSCSI gateway)在iSCSI中是作为服务端的,它可以是iSCSI Target节点。目前,Ceph方案首先将使用LIO+TCMU+librbd方式作为iSCSI Target的选择,并配合TCMU来完成Ceph中块设备的iSCSI支持。需要说明的是,在创建iSCSI网关集群(iSCSI gatewayCluster,也称为iSCSI gateway集群)的时候,通常可以选择2-4个对象存储设备(Object-based Storage Device,OSD)节点作为网关(gateway)节点。另外,iSCSI gateway集群可以单独部署,也可以与OSD节点混合部署;为了提高可靠性,通常一个iSCSI gateway集群由2-4个OSD节点组成,这些节点可以组成多路径。
参见图1,其示出了相关技术方案提供的一种分布式存储系统10的架构示意图。如图1所示,该分布式存储系统10是基于Ceph集群(Ceph Cluster)而言的,分布式存储系统10包括有Ceph集群110,而Ceph集群110中包含有多个OSD节点1101(比如OSD节点1、OSD节点2、OSD节点3、OSD节点4、…、OSD节点N)和3个控制器(Monitor,MON)1102(比如MON1、MON2和MON3)。其中,这三个控制器1102(包括MON1、MON2和MON3)是Ceph集群的控制中心,主要通过管理控制状态表(用MON map表示)或者OSD状态表(用OSD map表示)等集群状态表来维护Ceph集群的状态一致性;针对这多个OSD节点1101,可以部署多套iSCSI网关集群(以2套iSCSI网关集群为例,比如iSCSI gateway集群1和iSCSI gateway集群2);这里,iSCSIgateway集群1是由OSD节点1和OSD节点2组成,iSCSI gateway集群2是由OSD节点3和OSD节点4组成。另外,分布式存储系统10还可以包括发起服务请求的发起方(Initiator)120;在图1中,发起方120包括有4个(比如Initiator1、Initiator2、Initiator3和Initiator4)。其中,Initiator1分别与OSD节点1、OSD节点2连接,Initiator2分别与OSD节点1、OSD节点2连接,Initiator3分别与OSD节点3、OSD节点4连接,Initiator4分别与OSD节点3、OSD节点4连接;这样发起方120(比如Initiator1、Initiator2、Initiator3和Initiator4)可以用于将SCSI命令封装打包并通过IP网络发送到iSCSI Target节点(比如OSD节点1、OSD节点2、OSD节点3或者OSD节点4等)。
结合图1所示的分布式存储系统10的架构示例,在现有的Ceph方案中,目前主要存在以下几个主要问题:第一、当Ceph集群规模比较大(比如OSD节点很多)的时候,如果只是部署少数几组iSCSI gateway集群(比如图1所示的2组),那么当用户通过iSCSI来访问Ceph集群时,所有的IO都会聚集到这少数几组iSCSI gateway集群中,此时随着创建逻辑单元号(Logical Unit Number,LUN)数量的增加,iSCSI gateway需要线性级地消耗内存和网络资源,同时还需要专门的服务器提供超大内存和超宽网络带宽,从而增加了构建集群的成本;而如果采用普通服务器,iSCSI gateway集群则会成为Ceph方案性能发挥的瓶颈。第二、当Ceph集群规模比较大(比如OSD节点很多)的时候,如果将所有OSD节点进行分组来部署多套iSCSI gateway集群,这样虽然能够减少IO聚集,但是却带了另外的问题,即各个iSCSIgateway集群之间是相互独立的,无法感知其他iSCSI gateway集群的存在,需要分别管理,增加了管理带复杂度;而且当一个iSCSI gateway集群中某个OSD节点宕机时,该iSCSIgateway集群便会处于不可更新状态,此iSCSI gateway集群中的其他OSD节点也无法供其他iSCSI gateway集群使用。第三、目前一个iSCSI gateway集群只能有一个iSCSI Target,而且不支持动态创建iSCSI Target,这样还很容易造成一个Target中卷过多的问题。例如,假定Ceph集群中包含有30个OSD节点,然后以3个OSD节点为一组来生成iSCSI gateway集群,从而整个Ceph集群最多可以有10个iSCSI Target;这时候如果需要创建卷,那么只能通过这些iSCSI Target创建,此时将会造成一个Target中存在卷过多的问题。
为了解决上述的技术问题,本发明实施例提供了一种存储管理方法,该方法应用于分布式存储系统,通过获取分布式存储系统的部署参数;基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;通过所述定制化网关集群对所述分布式存储系统进行存储管理;这样,根据生成的定制化网关集群,不仅避免了IO聚集的问题,而且还降低了在部署多套网关集群时的管理复杂度,同时该定制化网关集群还可以支持动态创建iSCSITarget,从而进一步提高了集群资源的利用率。
下面将结合附图对本发明各实施例进行详细描述。
参见图2,其示出了本发明实施例提供的一种存储管理方法的流程示意图。如图2所示,该方法可以包括:
S201:获取分布式存储系统的部署参数;
需要说明的是,该方法应用于分布式存储系统,而且该分布式存储系统是基于Ceph块存储而言的。其中,分布式存储系统中包括有多个OSD节点。针对这多个OSD节点来说,用户可以选择指定的部分OSD节点来获取分布式存储系统的部署参数,也可以选择全部OSD节点来获取分布式存储系统的部署参数,本发明实施例不作具体限定。
S202:基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
需要说明的是,根据所获取的部署参数,可以生成该分布式存储系统对应的定制化网关集群。其中,用户可以通过勾选的方式将该分布式存储系统中的全部OSD节点或者指定的部分OSD节点进行选择,根据所选择的OSD节点来组成定制化网关集群。例如,以选择全部OSD节点为例,此时定制化网关集群中包含有全部OSD节点,这些所有的OSD节点均可以作为网关节点。这样,在创建卷(也称之为块设备)的过程中,可以为每个卷创建一个与之对应的iSCSI Target,而且该定制化网关集群中任意一个OSD节点均可以作为创建iSCSITarget的网关节点。
S203:通过所述定制化网关集群对所述分布式存储系统进行存储管理。
需要说明的是,在得到定制化网关集群之后,可以通过定制化网关集群对分布式存储系统进行存储管理,比如可以进行卷的创建和删除、Target的创建和删除、网关节点的选择、Initiator与LUN之间的映射和权限配置等操作。具体地,定制化网关集群也提供了RESTful API接口,这样通过调用API接口,可以对定制化网关集群进行访问,从而实现了该分布式存储系统的存储服务。
还需要说明的是,表述性状态转移(Representational State Transfer,REST)是指一组架构的约束条件和原则,满足这些约束条件和原则的应用程序或设计就称之为RESTful。这里,RESTful是目前流行的应用程序编程(Application ProgrammingInterface,API)设计规范,用于API接口的设计;也就是说,定制化网关集群的API接口需要满足RESTful。
在本发明实施例中,首先获取分布式存储系统的部署参数;然后基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;最后通过所述定制化网关集群对所述分布式存储系统进行存储管理;这样,根据生成的定制化网关集群,不仅避免了IO聚集的问题,而且还降低了在部署多套网关集群时的管理复杂度,同时该定制化网关集群还可以支持动态创建iSCSI Target,从而进一步提高了集群资源的利用率。
在一些实施例中,在所述获取分布式存储系统的部署参数之前,所述方法还可以包括:
通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数;其中,所述分布式存储系统包括多个对象存储设备OSD节点。
需要说明的是,分布式存储系统中包括有多个OSD节点。通过这多个OSD节点对分布式存储系统进行部署的过程中,用户可以选择指定的部分OSD节点来确定分布式存储系统的部署参数,也可以选择全部OSD节点来确定分布式存储系统的部署参数;在实际应用中,通常会将全部OSD节点作为被选择节点来确定出分布式存储系统的部署参数,但是本发明实施例不作具体限定。
进一步地,在一些实施例中,所述通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数,包括:
接收第一选择指令;
根据所述第一选择指令,从所述多个OSD节点中选择全部OSD节点;
根据选择的全部OSD节点,确定出所述分布式存储系统的部署参数。
进一步地,在一些实施例中,所述通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数,包括:
接收第二选择指令;
根据所述第二选择指令,从所述多个OSD节点中选择部分OSD节点;
根据选择的部分OSD节点,确定出所述分布式存储系统的部署参数。
需要说明的是,针对分布式存储系统,可以提供一个可视化的管理界面(比如管理模块对应的界面),通过该管理界面对分布式存储系统进行部署;比如用户可以在该管理界面通过勾选的方式来获取被选择的节点,以确定出分布式存储系统的部署参数。具体地,当用户执行第一选择指令时,此时用户将所有的OSD节点全部勾选,即所有的OSD节点都可以作为定制化网关集群中的iSCSI gateway节点,这样所获取到的被选择的节点为全部OSD节点,从而能够确定出该分布式存储系统的部署参数;另外,当用户执行第二选择指令时,此时用户将指定的部分OSD节点进行勾选,即这部分OSD节点可以作为定制化网关集群中的iSCSI gateway节点,这样所获取到的被选择的节点为部分OSD节点,从而能够确定出该分布式存储系统的部署参数。
这样,根据得到的部署参数,就可以生成该分布式存储系统对应的定制化网关集群(比如可以用定制化iSCSI gateway集群表示)。在本发明实施例中,如无特殊说明,定制化网关集群将是由分布式存储系统中的所有OSD节点共同组成的。这样,由于分布式存储系统中的所有OSD节点组成了一套定制化网关集群,从而不仅可以将IO均匀分散到整个集群中,避免了IO聚集的问题;而且只有一套定制化网关集群,还降低了相关技术方案中部署多套网关集群时管理复杂度的问题。
在一些实施例中,在基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群之后,所述方法还可以包括:
在创建卷的过程中,调用所述定制化网关集群的API接口;
通过所述API接口,创建与所述卷对应的Target。
进一步地,在一些实施例中,所述通过所述API接口,创建与所述卷对应的Target,包括:
在创建所述Target的过程中,通过所述API接口获取所述定制化网关集群中可用的OSD节点;
从所述可用的OSD节点中选择预设数量的OSD节点,将选择的预设数量的OSD节点作为gateway节点;
根据所述gateway节点,获得所述卷对应的Target。
需要说明的是,定制化网关集群与原生的iSCSI gateway集群一样,定制化网关集群也可以提供一套RESTful API接口。这样,当需要创建卷(或者块设备)时,此时可以调用该定制化网关集群的API接口,为该卷创建一个单独的Target。在创建Target的过程中,可以选择预设数量的OSD节点来作为gateway节点,以形成多路径。然而,在选择预设数量的OSD节点时,还可以通过调用API接口获取该定制化网关集群中可用的OSD节点;再从这些可用的OSD节点中来选取预设数量的OSD节点,将其作为gateway节点以组成多路径;根据这些gateway节点,可以得到获得所创建的Target。这样所得到的gateway节点会自动跳过故障的OSD节点,从而避免了当一个OSD节点故障时,导致该故障的OSD节点所处的iSCSIgateway集群状态无法更新以及限制了其他OSD节点继续使用的问题。
另外,“预设数量的OSD节点”,这里的预设数量是指预先设定的数值。在本发明实施例中,预设数量可以是2个,也可以是3个,甚至还可以是其他个数;在实际应用中,推荐的预设数量设置为2个,但是本发明实施例不作具体限定。
在一些实施例中,在所述通过所述定制化网关集群对所述分布式存储系统进行存储管理之后,所述方法还包括:
通过iSCSI协议对所述定制化网关集群进行访问,以执行所述分布式存储系统的存储服务。
需要说明的是,ISCSI是一种利用IP网络来传输SCSI数据块的协议,它通常采用以太网协议传送SCSI命令和数据。具体地,当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI主机(initiator)层被封装成ISCSI消息包并通过TCP/IP传送到设备侧,设备侧的iSCSI目标(target)层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧iSCSI target层时被封装成iSCSI响应协议数据单元(Protocol Data Unit,PDU),通过TCP/IP网络传送给主机的iSCSI initiator层,iSCSI initiator会从iSCSI响应PDU里解析出SCSI响应并传送给操作系统,然后操作系统响应给应用程序。
也就是说,在得到定制化网关集群之后,可以通过定制化网关集群对分布式存储系统进行存储管理,比如可以进行卷的创建和删除、Target的创建和删除、网关节点的选择、Initiator与LUN之间的映射和权限配置等操作。这样,通过iSCSI协议对定制化网关集群进行访问,可以实现该分布式存储系统的存储服务。
参见图3,其示出了本发明实施例提供的一种分布式存储系统30的架构示意图。如图3所示,该分布式存储系统30也是基于Ceph集群(Ceph Cluster)而言的,与图1所示的分布式存储系统10相比,分布式存储系统30中的Ceph集群310除了包含有多个OSD节点3101(比如OSD节点1、OSD节点2、OSD节点3、OSD节点4、…、OSD节点N)和3个控制器3102(比如MON1、MON2和MON3)之外,Ceph集群310还包括有管理模块(Manager Module)3103。而且针对这多个OSD节点3101,该分布式存储系统30部署了一个定制化iSCSI gateway集群,该定制化iSCSI gateway集群包含了Ceph集群310中所有的OSD节点。另外,与图1所示的分布式存储系统10类似,分布式存储系统30还可以包括发起服务请求的发起方320;在图3中,发起方320也包括有4个(比如Initiator1、Initiator2、Initiator3和Initiator4)。其中,Initiator1分别与OSD节点1、OSD节点2连接,Initiator2分别与OSD节点4、OSD节点5连接,Initiator3分别与OSD节点2、OSD节点4连接,Initiator4分别与OSD节点5、OSD节点N连接;这样发起方320(比如Initiator1、Initiator2、Initiator3和Initiator4)也就可以将SCSI命令封装打包并通过IP网络发送到iSCSI Target节点(比如OSD节点1、OSD节点2、OSD节点3、OSD节点4、…、OSD节点N等)。
结合图3所示的分布式存储系统30的架构示例,Ceph集群310中所有的OSD节点组成一个定制化iSCSI Gateway集群,而且还提供了具有可视化界面的管理模块3103。与原生的iSCSI gateway集群相同,该定制化iSCSI Gateway集群也可以提供一套RESTful API接口。这样,通过该API接口,不仅可以进行Target的创建和删除、卷的创建和删除、gateway节点的选择等操作,而且还可以进行Initiator与LUN之间的映射和权限配置等操作。具体地,用户可直接通过该API接口来实现对定制化iSCSI gateway集群进行存储管理,以实现上述的操作。其中,为了简化用户的操作流程,管理模块3103可以对上述的操作进行屏蔽,而且用户在创建卷时,管理模块3103也可以默认地为该卷对应的创建一个Target,同时还会随机选择预设数量(推荐的预设数量为2个)的OSD节点作为Gateway节点,组成多路径。由于整个分布式存储系统30中只存在一套定制化iSCSI gateway集群,而且分布式存储系统30中所有的OSD节点均可作为gateway节点,从而解决了相关技术方案中所存在的IO聚集问题,还解决了部署多套iSCSI gateway集群时所存在的管理复杂度问题;同时在创建卷的过程中,还可以通过调用定制化iSCSI gateway集群的API接口,单独为卷创建一个Target,还能够解决相关技术方案中Target存在卷过多的问题。另外,在图3中,当OSD节点3出现故障无法使用时,在创建新的Target过程中,针对Gateway节点的选取还会自动跳过故障的OSD节点3,并不会由于一个OSD节点3故障而导致其所处的定制化iSCSI gateway集群状态无法更新以及限制了其他OSD节点的继续使用,还可以达到进一步提高系统资源利用率的目的。
在本发明实施例中,通过将分布式存储系统中的所有OSD节点或者指定的部分OSD节点组成一个定制化网关集群,该定制化网关集群还支持动态创建iSCSI Target,可以为某个卷单独创建一个与之对应的Target,也可以将多个卷放置到同一个Target中。这样,通过定制化网关集群就可以管理分布式存储系统中所有的Target,降低了相关技术方案中存在部署多套iSCSI gateway集群时管理复杂度的问题;而且还可以将IO均匀分散到整个定制化网关集群中,避免了IO聚集的问题。另外,该定制化网关集群中任何一个OSD节点均可以作为某个Target的一个gateway节点(也就是说,它对应着Target的一条路径);当某个OSD节点出现故障时,本发明实施例中只是该故障的OSD节点无法作为gateway节点使用,在创建新的Target时,会自动跳过该故障的OSD节点,从而解决了一个OSD节点故障而导致其所处的iSCSI gateway集群状态无法更新以及限制了其他OSD节点继续使用的问题,进而提高了系统资源的利用率。
上述实施例提供了一种存储管理方法,该方法应用于分布式存储系统,通过获取分布式存储系统的部署参数;基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;通过所述定制化网关集群对所述分布式存储系统进行存储管理;这样,根据生成的定制化网关集群,不仅避免了IO聚集的问题,而且还降低了在部署多套ISCSI gateway集群时的管理复杂度;另外,该定制化网关集群还可以支持动态创建iSCSI Target,且该定制化网关集群中任意一个OSD节点均可以作为所创建的iSCSI Target的网关节点,同时还会自动跳过该故障的OSD节点,从而进一步提高了集群资源的利用率。
基于前述实施例相同的发明构思,参见图4,其示出了本发明实施例提供的一种存储管理装置40的组成结构示意图。如图4所示,该存储管理装置40应用于分布式存储系统,该存储管理装置40可以包括:获取单元401、生成单元402和管理单元403,其中,
所述获取单元401,配置为获取分布式存储系统的部署参数;
所述生成单元402,配置为基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
所述管理单元403,配置为通过所述定制化网关集群对所述分布式存储系统进行存储管理。
在上述方案中,参见图4,所述存储管理装置40还包括部署单元404,配置为通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数;其中,所述分布式存储系统包括多个OSD节点。
在上述方案中,参见图4,所述存储管理装置40还包括接收单元405和选择单元406,其中,
所述接收单元405,配置为接收第一选择指令;
所述选择单元406,配置为根据所述第一选择指令,从所述多个OSD节点中选择全部OSD节点;
所述部署单元404,具体配置为根据选择的全部OSD节点,确定出所述分布式存储系统的部署参数。
在上述方案中,所述接收单元405,还配置为接收第二选择指令;
所述选择单元406,还配置为根据所述第二选择指令,从所述多个OSD节点中选择部分OSD节点;
所述部署单元404,具体配置为根据选择的部分OSD节点,确定出所述分布式存储系统的部署参数。
在上述方案中,参见图4,所述存储管理装置40还包括调用单元407和创建单元408,其中,
所述调用单元407,配置为在创建卷的过程中,调用所述定制化网关集群的API接口;
所述创建单元408,配置为通过所述API接口,创建与所述卷对应的Target。
在上述方案中,所述获取单元401,还配置为在创建所述Target的过程中,通过所述API接口获取所述定制化网关集群中可用的OSD节点;
所述创建单元408,具体配置为从所述可用的OSD节点中选择预设数量的OSD节点,将选择的预设数量的OSD节点作为gateway节点;以及根据所述gateway节点,获得所述卷对应的Target。
在上述方案中,所述管理单元403,还配置为通过iSCSI协议对所述定制化网关集群进行访问,以执行所述分布式存储系统的存储服务。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有存储管理程序,所述存储管理程序被至少一个处理器执行时实现前述实施例中所述方法的步骤。
基于上述存储管理装置40的组成以及计算机存储介质,参见图5,其示出了本发明实施例提供的存储管理装置40的具体硬件结构,可以包括:网络接口501、存储器502和处理器503;各个组件通过总线系统504耦合在一起。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统504。其中,网络接口501,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器502,用于存储能够在处理器503上运行的计算机程序;
处理器503,用于在运行所述计算机程序时,执行:
获取分布式存储系统的部署参数;
基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
通过所述定制化网关集群对所述分布式存储系统进行存储管理。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的系统和方法的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器503可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器503可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器503读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本发明所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,处理器503还配置为在运行所述计算机程序时,执行前述实施例中所述方法的步骤。
参见图6,其示出了本发明实施例提供的一种分布式存储系统60的组成结构示意图;其中,所述分布式存储系统60至少包括如前述实施例中所涉及的任意一种存储管理装置40。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
本发明所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本发明所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本发明所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种存储管理方法,所述方法应用于分布式存储系统,所述方法包括:
获取分布式存储系统的部署参数;
基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
通过所述定制化网关集群对所述分布式存储系统进行存储管理。
2.根据权利要求1所述的方法,其特征在于,在所述获取分布式存储系统的部署参数之前,所述方法还包括:
通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数;其中,所述分布式存储系统包括多个对象存储设备OSD节点。
3.根据权利要求2所述的方法,其特征在于,所述通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数,包括:
接收第一选择指令;
根据所述第一选择指令,从所述多个OSD节点中选择全部OSD节点;
根据选择的全部OSD节点,确定出所述分布式存储系统的部署参数。
4.根据权利要求2所述的方法,其特征在于,所述通过对所述分布式存储系统的部署,确定所述分布式存储系统的部署参数,包括:
接收第二选择指令;
根据所述第二选择指令,从所述多个OSD节点中选择部分OSD节点;
根据选择的部分OSD节点,确定出所述分布式存储系统的部署参数。
5.根据权利要求1至4任一项所述的方法,其特征在于,在基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群之后,所述方法还包括:
在创建卷的过程中,调用所述定制化网关集群的应用程序编程API接口;
通过所述API接口,创建与所述卷对应的目标Target。
6.根据权利要求5所述的方法,其特征在于,所述通过所述API接口,创建与所述卷对应的Target,包括:
在创建所述Target的过程中,通过所述API接口获取所述定制化网关集群中可用的OSD节点;
从所述可用的OSD节点中选择预设数量的OSD节点,将选择的预设数量的OSD节点作为网关gateway节点;
根据所述gateway节点,获得所述卷对应的Target。
7.根据权利要求1所述的方法,其特征在于,在所述通过所述定制化网关集群对所述分布式存储系统进行存储管理之后,所述方法还包括:
通过互联网小型计算机系统接口iSCSI协议对所述定制化网关集群进行访问,以执行所述分布式存储系统的存储服务。
8.一种存储管理装置,所述存储管理装置应用于分布式存储系统,所述存储管理装置包括:获取单元、生成单元和管理单元,其中,
所述获取单元,配置为获取分布式存储系统的部署参数;
所述生成单元,配置为基于所述部署参数,生成所述分布式存储系统对应的定制化网关集群;
所述管理单元,配置为通过所述定制化网关集群对所述分布式存储系统进行存储管理。
9.一种存储管理装置,其特征在于,所述存储管理装置包括:存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如权利要求1至7任一项所述方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有存储管理程序,所述存储管理程序被至少一个处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201910709212.XA 2019-08-01 2019-08-01 一种存储管理方法、装置以及计算机存储介质 Active CN112306380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910709212.XA CN112306380B (zh) 2019-08-01 2019-08-01 一种存储管理方法、装置以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910709212.XA CN112306380B (zh) 2019-08-01 2019-08-01 一种存储管理方法、装置以及计算机存储介质

Publications (2)

Publication Number Publication Date
CN112306380A true CN112306380A (zh) 2021-02-02
CN112306380B CN112306380B (zh) 2022-12-13

Family

ID=74486585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910709212.XA Active CN112306380B (zh) 2019-08-01 2019-08-01 一种存储管理方法、装置以及计算机存储介质

Country Status (1)

Country Link
CN (1) CN112306380B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489784A (zh) * 2021-07-05 2021-10-08 深圳市杉岩数据技术有限公司 分布式存储的非对称逻辑单元访问多路径实现方法及系统
CN113542412A (zh) * 2021-07-16 2021-10-22 中国电信股份有限公司 数据传输方法、装置、电子设备及存储介质
CN113721850A (zh) * 2021-08-26 2021-11-30 苏州浪潮智能科技有限公司 一种卷管理方法、系统、设备以及介质
CN114024834A (zh) * 2021-10-21 2022-02-08 济南浪潮数据技术有限公司 故障定位方法、装置、电子设备及可读存储介质
CN113489784B (zh) * 2021-07-05 2024-05-17 深圳市杉岩数据技术有限公司 分布式存储的非对称逻辑单元访问多路径实现方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702602A (zh) * 2015-03-04 2015-06-10 南京邮电大学 基于sip实现集群网关动态创建通道和扩容的系统和方法
CN109327332A (zh) * 2018-09-28 2019-02-12 南京易捷思达软件科技有限公司 一种Ceph云存储下基于LIO的iSCSI GateWay高可用实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702602A (zh) * 2015-03-04 2015-06-10 南京邮电大学 基于sip实现集群网关动态创建通道和扩容的系统和方法
CN109327332A (zh) * 2018-09-28 2019-02-12 南京易捷思达软件科技有限公司 一种Ceph云存储下基于LIO的iSCSI GateWay高可用实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489784A (zh) * 2021-07-05 2021-10-08 深圳市杉岩数据技术有限公司 分布式存储的非对称逻辑单元访问多路径实现方法及系统
CN113489784B (zh) * 2021-07-05 2024-05-17 深圳市杉岩数据技术有限公司 分布式存储的非对称逻辑单元访问多路径实现方法及系统
CN113542412A (zh) * 2021-07-16 2021-10-22 中国电信股份有限公司 数据传输方法、装置、电子设备及存储介质
CN113542412B (zh) * 2021-07-16 2024-01-05 天翼云科技有限公司 数据传输方法、装置、电子设备及存储介质
CN113721850A (zh) * 2021-08-26 2021-11-30 苏州浪潮智能科技有限公司 一种卷管理方法、系统、设备以及介质
CN113721850B (zh) * 2021-08-26 2023-08-25 苏州浪潮智能科技有限公司 一种卷管理方法、系统、设备以及介质
CN114024834A (zh) * 2021-10-21 2022-02-08 济南浪潮数据技术有限公司 故障定位方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN112306380B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
US10171567B2 (en) Load balancing computer device, system, and method
US10700979B2 (en) Load balancing for a virtual networking system
US10873638B2 (en) Capability discovery and enforcement to provide data in-flight (DIF) services along a communication path selected based on a DIF services policy associated with a virtual machine
US11294735B2 (en) Method and apparatus for accessing desktop cloud virtual machine, and desktop cloud controller
US9268590B2 (en) Provisioning a cluster of distributed computing platform based on placement strategy
EP3343364B1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN112306380B (zh) 一种存储管理方法、装置以及计算机存储介质
US11036535B2 (en) Data storage method and apparatus
CN113326101A (zh) 基于远程直接数据存储的热迁移方法、装置及设备
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
CN104468389A (zh) 消息的处理方法、服务器和服务器系统
WO2018107433A1 (zh) 信息处理方法和装置
WO2021135326A1 (zh) 一种数据备份方法、装置、设备及介质
CN115309545A (zh) 访问处理方法及计算机设备
US11169719B2 (en) System and method for deploying multi-node virtual storage appliances
US11363113B1 (en) Dynamic micro-region formation for service provider network independent edge locations
EP2946300B1 (en) Sata initiator addressing and storage device slicing
CN112468308A (zh) 虚拟局域网业务管理方法、虚拟局域网全局管理设备
US11307899B2 (en) System and method for validating virtual storage appliance deployment
US11937103B1 (en) Enhancing availability of radio-based applications using multiple compute instances and virtualized network function accelerators at cloud edge locations
US20240054052A1 (en) Failover recovery techniques for multi cloud recovery
US10996873B2 (en) System and method for I/O fencing based on storage array access control list
JP5170794B2 (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
GR01 Patent grant
GR01 Patent grant