CN110609656B - 存储管理方法、电子设备和计算机程序产品 - Google Patents

存储管理方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN110609656B
CN110609656B CN201810622594.8A CN201810622594A CN110609656B CN 110609656 B CN110609656 B CN 110609656B CN 201810622594 A CN201810622594 A CN 201810622594A CN 110609656 B CN110609656 B CN 110609656B
Authority
CN
China
Prior art keywords
storage device
virtual volume
metadata information
virtual
storage
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
CN201810622594.8A
Other languages
English (en)
Other versions
CN110609656A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810622594.8A priority Critical patent/CN110609656B/zh
Priority to US16/369,408 priority patent/US10936217B2/en
Publication of CN110609656A publication Critical patent/CN110609656A/zh
Application granted granted Critical
Publication of CN110609656B publication Critical patent/CN110609656B/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
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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]
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本公开的实施例涉及存储管理方法、电子设备和相应的计算机程序产品。一种存储管理方法包括:接收创建虚拟卷的请求,请求至少指示虚拟卷的尺寸和服务等级;响应于请求,在第一存储设备上创建虚拟卷;将虚拟卷的元数据信息存储至第一存储设备可访问的本地数据库,元数据信息至少包括虚拟卷的标识信息和第一存储设备的标识信息;以及将元数据信息同步至至少一个第二存储设备。本公开的实施例能够。本公开的实施例能够在集群的存储设备上更为灵活地创建虚拟卷。

Description

存储管理方法、电子设备和计算机程序产品
技术领域
本公开总体上涉及数据存储领域,更具体地,涉及存储管理方法、电子设备和计算机程序产品。
背景技术
虚拟卷(Virtual Volume,也称为VVol)技术目前已经逐步应用于数据存储领域。引入虚拟卷的概念的意义在于,可以让虚拟机及其对应的磁盘对存储侧的资源进行分配。例如,存储侧可以按照用户的需求从共享存储资源池上按需分配给用户一定大小的虚拟卷,将虚拟卷挂载给虚拟机,以供用户存放系统及应用数据。通过使用专用的API接口(诸如,vSphere APIs for Storage Awareness,VASA),存储侧可以感知到虚拟卷及其相关内容,从而可以将数据服务和虚拟机操作(诸如,快照、克隆等)卸载到存储侧,进而简化用户侧的管理操作。
然而,目前的虚拟卷技术仅局限于在存储侧的单个存储设备上配置虚拟卷的相应操作,并未涉及在多个存储设备上配置虚拟卷的集群式操作。因此,目前的虚拟卷配置技术并不灵活,且并不足以应对用户的海量业务需求。
发明内容
本公开的实施例提供了存储管理方法、设备和相应的计算机程序产品。
在本公开的第一方面,提供了一种存储管理方法。该方法可以包括:接收创建虚拟卷的请求,该请求至少指示虚拟卷的尺寸和服务等级。该方法还可以包括:响应于请求,在第一存储设备上创建虚拟卷。该方法又可以包括:将虚拟卷的元数据信息存储至第一存储设备可访问的本地数据库,该元数据信息至少包括虚拟卷的标识信息和第一存储设备的标识信息。此外,还可以包括:将元数据信息同步至至少一个第二存储设备。
在某些实施例中,该方法还可以包括:响应于第一存储设备的服务等级下降到虚拟卷需要的需求以下,将虚拟卷迁移至能够满足需求的服务等级的第三存储设备;将经过迁移的虚拟卷的元数据信息存储至第三存储设备的数据库,经过迁移的虚拟卷的元数据信息至少指示虚拟卷的标识信息和第三存储设备的标识信息;以及将经过迁移的虚拟卷的元数据信息同步至第四存储设备。
在某些实施例中,该方法还可以包括:接收对虚拟卷的访问请求;以及响应于第一存储设备上的虚拟卷被迁移,基于存储在第四存储设备中的经过迁移的虚拟卷的元数据信息,创建指向经过迁移的虚拟卷的访问路径。
在某些实施例中,第四存储设备可以是第二存储设备。
在某些实施例中,该方法还可以包括:在虚拟卷与请求建立虚拟卷的管理节点之间创建协议端点,作为管理节点的代理与虚拟卷进行通信;将虚拟卷的标识信息、协议端点的标识信息以及第一存储设备的标识信息的对应关系作为元数据信息存储至本地数据库;以及将对应关系同步至至少一个第二存储设备。
在某些实施例中,创建虚拟卷可以包括:由第一存储设备上的第一虚拟控制器管理虚拟卷;以及响应于第一虚拟控制器停止工作,将虚拟卷的元数据信息迁移至第一存储设备上的第二虚拟控制器。
在某些实施例中,将元数据信息同步至至少一个第二存储设备包括:激活第一存储设备和第二存储设备中的非阻塞消息队列单元,以在第一存储设备与第二存储设备之间建立通信路径;经由通信路径将元数据信息从第一存储设备发送至第二存储设备。
在本公开的第二方面,提供了一种电子设备。该设备可以包括:至少一个处理单元;以及至少一个存储器,其耦合至至少一个处理单元并且存储有机器可执行指令,当指令由至少一个处理单元执行时,使得设备执行动作,该动作可以包括:接收创建虚拟卷的请求,请求至少指示虚拟卷的尺寸和服务等级;响应于请求,在第一存储设备上创建虚拟卷;将虚拟卷的元数据信息存储至第一存储设备可访问的本地数据库,元数据信息至少包括虚拟卷的标识信息和第一存储设备的标识信息;以及将元数据信息同步至至少一个第二存储设备。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目标、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了传统存储管理系统的总体布置的示意图;
图2示出了根据本公开的实施例的存储管理系统的总体布置的示意图;
图3示出了根据本公开的实施例的存储侧的多个存储设备的详细布置的示意图;
图4示出了根据本公开的实施例的用于存储管理的过程或方法的流程图;
图5示出了根据本公开的实施例的用于存储管理的过程或方法的流程图;
图6示出了根据本公开的实施例的用于存储管理的过程或方法的流程图;以及
图7示出了根据本公开的实施例的用于存储管理的设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其它明确的和隐含的定义。
虚拟卷是由存储侧导出的VMDK(虚拟机硬盘格式文件)粒度存储实体。目前,虚拟卷是通过协议端点(PE)与用户侧主机建立连接的。协议端点是物理存储结构的一部分,其根据需要建立从虚拟机到各自虚拟卷的数据路径。存储系统支持虚拟卷上的数据服务。数据服务、虚拟卷系统的配置和管理完全是在数据路径的带外(out-of-band)完成的。为了管理目的,虚拟卷可以封装在称为存储容器(SC)的逻辑实体中。虚拟卷的主要目的是使存储虚拟化,从而可以将数据服务和虚拟机操作(诸如,快照、克隆等)卸载到存储侧,进而简化用户侧的管理操作。
图1示出了传统存储管理系统100的总体布置的示意图。
如图1所示,目前,位于存储侧120的诸如EMC公司的产品VNX的存储设备可以支持诸如ESXi服务器和vCenter的用户侧(或管理员侧)110在单个存储设备上配置虚拟卷130。此时,存储侧120相对于用户侧110是黑盒,故用户侧110不需要知道虚拟卷130的具体分配过程。举例来说,用户侧110仅通过向存储侧120发送诸如虚拟卷尺寸等的请求,存储侧120就可以在单个存储设备上为用户侧110分配符合要求的区域,用于创建虚拟卷130。由此可以看出,目前用户侧110仅能够管理单个存储设备中的虚拟卷。因此,用户在集群的存储设备上配置虚拟卷的灵活性受到限制。
为了至少部分地解决上述以及其他潜在的问题和缺陷,本公开的实施例提供了一种用于存储管理的方案。针对上述问题,本公开的用于存储管理的方案作出如下改进:首先,在存储侧设置具有多个存储设备的存储设备集群;此外,为使创建的虚拟卷的元数据信息成为存储设备集群可查询的全局信息,可以在将该虚拟卷的元数据信息存储到所在的本地数据库的同时,也将该元数据信息同步到存储设备集群的其他存储设备中。
图2示出了根据本公开的实施例的存储管理系统200的总体布置的示意图。如图2所示,用户侧210可以向存储侧220发送创建虚拟卷(未示出)的请求,其中包含创建该虚拟卷所需的尺寸以及服务等级的信息。用户侧220基于该尺寸和服务等级为虚拟卷配置一区域。作为示例,当存储设备221具有足够的存储空间且满足该服务等级时,存储侧220可以将虚拟卷自动创建在存储设备221上。之后,与传统的配置虚拟卷的方法类似地,还需要将虚拟卷的元数据信息存储至存储设备211可访问的本地数据库(诸如PostgreSQL)。然而,由于不同存储设备不能获取彼此的数据库中的信息,故还需要将该虚拟卷的元数据信息全局化。也就是说,在将虚拟卷的元数据信息存储在本地数据库的同时,还应当将其同步至至少一个其他存储设备,例如,存储设备222至存储设备22N中的一个。从而,可以在集群的存储设备上更为灵活地创建虚拟卷。这些优点将在下文中结合具体的技术方案进行详细讨论。
图3示出了根据本公开的实施例的存储侧300的存储设备310和存储设备320的详细布置的示意图。如图3所示,存储设备310包含两个虚拟控制器311和312以及一个被创建的虚拟卷313。这两个虚拟控制器311和312用于对存储设备310中创建的虚拟卷进行管理。与存储设备310类似地,存储设备320包含两个虚拟控制器321和322以及一个被创建的虚拟卷323。虚拟控制器321和322用于对存储设备320中创建的虚拟卷进行管理。每个存储设备中的两个虚拟控制器均被双活配置。如图3所示,未绘出阴影的虚拟控制器312和321均为主虚拟控制器,而绘出阴影的虚拟控制器311和322均为备虚拟控制器。
存储设备310和存储设备320组成了一个用于创建虚拟卷的存储设备群集。与图1中的单个存储设备120不同,全局虚拟存储空间(Virtual DataStore)包含存储设备310和存储设备320的空间容量,并且虚拟卷的元数据信息对于整个全局虚拟存储空间是可见的。下文将详细讨论实现元数据信息的全局可见的具体实现方式。
图4示出了根据本公开的实施例的用于存储管理的过程或方法400的流程图。在某些实施例中,方法400可以在图7示出的设备中实现。作为示例,方法400可以在图2所示的存储管理系统200或图3所示的存储管理系统300中实现。现参照图3,描述图4示出的根据本公开实施例的用于存储管理的过程或方法400。为了便于理解,在下文描述中提及的具体数据均是示例性的,并不用于限定本公开的保护范围。
在401,接收创建虚拟卷的请求,该请求至少指示虚拟卷的尺寸和服务等级。作为示例,服务等级可以包括针对一般用户的低级、针对企业用户的中级以及针对重要用户的高级。如上所述,用户侧210无需确定带创建的虚拟卷的具体位置,该工作可以由存储侧220自动完成。在某些实施例中,当存储侧220发现没有满足创建该虚拟卷所需的尺寸和服务等级的存储设备时,可以向用户侧210报告此情况。
在403,判定是否接收到该请求。如图3所示,当确定接收到来自用户侧210的创建虚拟卷的请求时,在存储设备221上创建虚拟卷313。在某些实施例中,先在存储设备221和存储设备222中找到满足请求中确定的服务等级的存储设备,例如,存储设备221。然后,确定存储设备221的剩余空间大于创建虚拟卷313所需的尺寸,并且当存储设备221的剩余空间大于创建虚拟卷313所需的尺寸时,存储侧220确定将虚拟卷313创建在存储设备221上。
在405,将虚拟卷313的元数据信息存储至存储设备221可访问的本地数据库。作为示例,元数据信息至少可以包括虚拟卷313的标识信息和虚拟卷313所在的存储设备221的标识信息。备选地或附加地,元数据信息还可以包括与该虚拟卷313所对应的协议端点的标识信息。在某些实施例中,存储设备221可访问的本地数据库可以是由存储设备221中的主虚拟控制器312维护的PostgreSQL数据库。
在407,将元数据信息同步至至少一个其他存储设备222。在某些实施例中,可以将图2的存储侧220中的存储设备222至存储设备22N中的一个存储设备(诸如存储设备222)预先设置为主存储设备。在创建虚拟卷313之后,可以将虚拟卷313的元数据信息同步至作为主存储设备的存储设备222。一旦其他存储设备需要询问虚拟卷313的元数据信息,就可以通过询问存储设备222来获取虚拟卷313的元数据信息。备选地或附加地,还可以将虚拟卷313的元数据信息同步至存储侧220的所有存储设备221至22N。通过执行上述过程,存储侧220的每个存储设备均可以获取在该存储侧220上创建的所有虚拟卷的元数据信息。
在某些实施例中,方法400还可以包括:在虚拟卷与请求建立虚拟卷的管理节点(即,用户侧210)之间创建协议端点,作为管理节点的代理与虚拟卷进行通信;将虚拟卷的标识信息、协议端点的标识信息以及一个存储设备(诸如存储设备221)的标识信息的对应关系作为元数据信息存储至本地数据库。并且,将对应关系同步至至少一个其他存储设备(诸如存储设备222)。创建协议端点的意义在于,可以作为用户侧的代理与虚拟卷进行通信。
在某些实施例中,创建虚拟卷313可以包括:由存储设备221上的虚拟控制器312管理虚拟卷313。响应于虚拟控制器312停止工作,将虚拟卷313的元数据信息迁移至存储设备221上的备虚拟控制器311。
此外,下文还将再次参照图3来详细描述将元数据信息同步至其他存储设备的过程。如图3所示,存储设备221与存储设备222经由一路径(由虚线箭头所示)可通信地连接。该路径的建立是通过激活存储设备221中已有的非阻塞消息队列单元(即,ZMQ模块)好存储设备222中已有的非阻塞消息队列单元建立的。具体地,可以在存储设备221中创建一个跨设备的同步模块,该同步模块由主虚拟控制器312管理,并且用于从由主虚拟控制器312维护的PostgreSQL数据库中获取虚拟卷的元数据信息。之后,该同步模块利用存储设备221中已有的ZMQ模块与其他存储设备222进行通信,并且其他存储设备222基于同样的原理来建立通信路径。这种建立通信路径的方式利用了存储设备中已有的通信模块,同时能够实现各存储设备之间的实时通信,从而可以即时的更新各虚拟卷的元数据信息。
又如图3所示,与在存储设备221上创建虚拟卷313的过程类似地,还可以在存储设备222上创建虚拟卷323。虚拟卷313与虚拟卷323可以是用户侧210需要使用的一组虚拟卷。由此,即可以实现在多个存储设备上创建一组相关联的虚拟卷的过程。
在存储系统长期运行的过程中,各存储设备所能够提供的服务等级可能会发生改变。下文将结合图5详细描述存储设备的服务等级降低的情况下的存储管理方式。
图5示出了根据本公开的实施例的用于存储管理的过程或方法500的流程图。在某些实施例中,方法500可以在图7示出的设备中实现。作为示例,方法500可以在图2所示的存储管理系统200或图3所示的存储管理系统300中实现。为了便于理解,在下文描述中提及的具体数据均是示例性的,并不用于限定本公开的保护范围。
在501,首先确定该存储设备的服务等级是否下降到虚拟卷需要的需求以下,如果是,则行进至503。
在503,将虚拟卷迁移至能够满足需求的服务等级的另一存储设备。在某些实施例中,先在存储侧220的多个存储设备中找到满足请求中确定的服务等级的存储设备,例如,存储设备223。然后,确定存储设备223的剩余空间大于创建虚拟卷所需的尺寸,并且当存储设备223的剩余空间大于创建虚拟卷所需的尺寸时,存储侧220确定将虚拟卷创建在存储设备223上。备选地或附加地,可以通过浮动IP技术(floating IP)来实现服务在各存储设备间的跳转。
在505,将经过迁移的虚拟卷的元数据信息存储至存储设备223的数据库。作为示例,经过迁移的虚拟卷的元数据信息至少可以指示虚拟卷的标识信息和该虚拟卷所在的存储设备223的标识信息。备选地或附加地,元数据信息还可以包括与该虚拟卷所对应的协议端点的标识信息。在某些实施例中,存储设备223的数据库可以是由存储设备223中的主虚拟控制器(未示出)维护的PostgreSQL数据库。
在507,将经过迁移的虚拟卷的元数据信息同步至存储设备22N。在某些实施例中,可以将存储侧220中的存储设备222至存储设备22N中的一个存储设备(诸如存储设备22N)预先设置为主存储设备。在创建虚拟卷之后,可以将虚拟卷的元数据信息同步至作为主存储设备的存储设备22N。一旦其他存储设备需要询问虚拟卷的元数据信息,就可以通过询问存储设备22N来获取虚拟卷的元数据信息。备选地或附加地,还可以将虚拟卷的元数据信息同步至存储侧220的所有存储设备221至22N。通过执行上述过程,存储侧220可以根据各存储设备222至22N的运行状况来调配维护特定虚拟卷的存储设备,并且存储侧220的每个存储设备均可以获取在该存储侧220上完成迁移的所有虚拟卷的元数据信息。
在某些实施例中,用户侧210可能随时对在存储侧220处创建的虚拟卷进行访问。下文将结合图6对存储侧220处理用户侧210的访问指令的过程。
图6示出了根据本公开的实施例的用于存储管理的过程或方法600的流程图。在某些实施例中,方法600可以在图7示出的设备中实现。作为示例,方法600可以在图2所示的存储管理系统200或图3所示的存储管理系统300中实现。为了便于理解,在下文描述中提及的具体数据均是示例性的,并不用于限定本公开的保护范围。
在601,接收对虚拟卷的访问请求。此时,由于用户侧210不能直接获取虚拟卷的元数据信息,故需要存储侧220在主存储设备或任意一个存储设备的数据库中找到该虚拟卷的元数据信息。作为示例,如果虚拟卷被初始地创建在存储设备221上,则在603,确定存储设备221上的虚拟卷是否被迁移。如果是,则行进至605。在605,可以基于存储在例如存储设备22N中的经过迁移的虚拟卷的元数据信息,创建指向经过迁移的虚拟卷的访问路径。也就是说,在虚拟卷被迁移的情况下,仍然可以获取该虚拟卷的被全局地存储的元数据信息。
通过以上过程,可以利用集群的存储设备实现更为灵活的虚拟卷配置,从而进一步简化了用户侧的管理操作。
图7示出了可以用来实施本公开内容的实施例的示例设备700的示意性框图。如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法400、500和/或600,可由处理单元701执行。例如,在一些实施例中,方法400、500和/或600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法400、500和/或600的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (13)

1.一种存储管理方法,包括:
接收创建虚拟卷的请求,所述请求至少指示所述虚拟卷的尺寸和服务等级;
响应于所述请求,在第一存储设备上创建所述虚拟卷;
将所述虚拟卷的元数据信息存储至所述第一存储设备可访问的本地数据库,所述元数据信息至少包括所述虚拟卷的标识信息和所述第一存储设备的标识信息;
将所述元数据信息同步至至少一个第二存储设备;
在所述虚拟卷与请求建立所述虚拟卷的管理节点之间创建协议端点,作为所述管理节点的代理与所述虚拟卷进行通信;
将所述虚拟卷的标识信息、所述协议端点的标识信息以及所述第一存储设备的标识信息的对应关系作为所述元数据信息存储至所述本地数据库;以及
将所述对应关系同步至所述至少一个第二存储设备。
2.根据权利要求1所述的方法,还包括:
响应于所述第一存储设备的服务等级下降到所述虚拟卷需要的需求以下,将所述虚拟卷迁移至能够满足所述需求的服务等级的第三存储设备;
将经过迁移的所述虚拟卷的元数据信息存储至所述第三存储设备的数据库,经过迁移的所述虚拟卷的元数据信息至少指示所述虚拟卷的标识信息和所述第三存储设备的标识信息;以及
将经过迁移的所述虚拟卷的元数据信息同步至第四存储设备。
3.根据权利要求2所述的方法,还包括:
接收对所述虚拟卷的访问请求;以及
响应于所述第一存储设备上的所述虚拟卷被迁移,基于存储在所述第四存储设备中的经过迁移的所述虚拟卷的元数据信息,创建指向经过迁移的所述虚拟卷的访问路径。
4.根据权利要求2或3所述的方法,其中所述第四存储设备是所述第二存储设备。
5.根据权利要求1所述的方法,其中创建所述虚拟卷包括:
由所述第一存储设备上的第一虚拟控制器管理所述虚拟卷;以及
响应于所述第一虚拟控制器停止工作,将所述虚拟卷的所述元数据信息迁移至所述第一存储设备上的第二虚拟控制器。
6.根据权利要求1所述的方法,其中将所述元数据信息同步至所述至少一个第二存储设备包括:
激活所述第一存储设备和所述第二存储设备中的非阻塞消息队列单元,以在所述第一存储设备与所述第二存储设备之间建立通信路径;
经由所述通信路径将所述元数据信息从所述第一存储设备发送至所述第二存储设备。
7.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,其耦合至所述至少一个处理单元并且存储有机器可执行指令,当所述指令由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
接收创建虚拟卷的请求,所述请求至少指示所述虚拟卷的尺寸和服务等级;
响应于所述请求,在第一存储设备上创建所述虚拟卷;
将所述虚拟卷的元数据信息存储至所述第一存储设备可访问的本地数据库,所述元数据信息至少包括所述虚拟卷的标识信息和所述第一存储设备的标识信息;
将所述元数据信息同步至至少一个第二存储设备;
在所述虚拟卷与请求建立所述虚拟卷的管理节点之间创建协议端点,作为所述管理节点的代理与所述虚拟卷进行通信;
将所述虚拟卷的标识信息、所述协议端点的标识信息以及所述第一存储设备的标识信息的对应关系作为所述元数据信息存储至所述本地数据库;以及
将所述对应关系同步至所述至少一个第二存储设备。
8.根据权利要求7所述的设备,其中所述动作还包括:
响应于所述第一存储设备的服务等级下降到所述虚拟卷需要的需求以下,将所述虚拟卷迁移至能够满足所述需求的服务等级的第三存储设备;以及
将经过迁移的所述虚拟卷的元数据信息存储至所述第三存储设备的数据库,经过迁移的所述虚拟卷的元数据信息至少指示所述虚拟卷的标识信息和所述第三存储设备的标识信息;以及
将经过迁移的所述虚拟卷的元数据信息同步至第四存储设备。
9.根据权利要求8所述的设备,其中所述动作还包括:
接收对所述虚拟卷的访问请求;以及
响应于所述第一存储设备上的所述虚拟卷被迁移,基于存储在所述第四存储设备中的经过迁移的所述虚拟卷的元数据信息,创建指向经过迁移的所述虚拟卷的访问路径。
10.根据权利要求8或9所述的设备,其中所述第四存储设备是所述第二存储设备。
11.根据权利要求7所述的设备,其中创建所述虚拟卷包括:
由所述第一存储设备上的第一虚拟控制器管理所述虚拟卷;以及
响应于所述第一虚拟控制器停止工作,将所述虚拟卷的所述元数据信息迁移至所述第一存储设备上的第二虚拟控制器。
12.根据权利要求7所述的设备,其中将所述元数据信息同步至所述至少一个第二存储设备包括:
激活所述第一存储设备和所述第二存储设备中的非阻塞消息队列单元,以在所述第一存储设备与所述第二存储设备之间建立通信路径;
经由所述通信路径将所述元数据信息从所述第一存储设备发送至所述第二存储设备。
13.一种计算机可读存储介质,其上存储有计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1至6任一项所述的方法的步骤。
CN201810622594.8A 2018-06-15 2018-06-15 存储管理方法、电子设备和计算机程序产品 Active CN110609656B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810622594.8A CN110609656B (zh) 2018-06-15 2018-06-15 存储管理方法、电子设备和计算机程序产品
US16/369,408 US10936217B2 (en) 2018-06-15 2019-03-29 Providing virtual volume flexibility on a storage device cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810622594.8A CN110609656B (zh) 2018-06-15 2018-06-15 存储管理方法、电子设备和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110609656A CN110609656A (zh) 2019-12-24
CN110609656B true CN110609656B (zh) 2023-05-30

Family

ID=68839480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810622594.8A Active CN110609656B (zh) 2018-06-15 2018-06-15 存储管理方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US10936217B2 (zh)
CN (1) CN110609656B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217673A (zh) * 2020-09-30 2021-01-12 北京东土科技股份有限公司 控制器站间通信方法、装置、计算机设备及存储介质
US11928492B2 (en) 2021-01-04 2024-03-12 EMC IP Holding Company LLC Enforcing quality of service in a virtualized storage environment
CN112882653A (zh) * 2021-01-26 2021-06-01 北京金山云网络技术有限公司 存储卷创建方法、装置及电子设备
CN116360696B (zh) * 2023-03-31 2024-01-23 北京志凌海纳科技有限公司 分布式块存储系统、介质及其电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118195A1 (en) * 2012-02-10 2013-08-15 Hitachi, Ltd. Storage management method and storage system in virtual volume having data arranged astride storage devices
US9223659B1 (en) * 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085883B1 (en) * 2002-10-30 2006-08-01 Intransa, Inc. Method and apparatus for migrating volumes and virtual disks
JP4139675B2 (ja) * 2002-11-14 2008-08-27 株式会社日立製作所 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US8671265B2 (en) * 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8798262B1 (en) 2010-12-23 2014-08-05 Emc Corporation Preserving LBA information between layers of a storage I/O stack for LBA-dependent encryption
US8751828B1 (en) 2010-12-23 2014-06-10 Emc Corporation Sharing encryption-related metadata between multiple layers in a storage I/O stack
US8190784B1 (en) 2011-03-30 2012-05-29 Emc Corporation In-band transport mechanism for carrying communications among functional components of a storage I/O interface stack
US8826041B1 (en) 2011-03-30 2014-09-02 Emc Corporation In-band detection mechanism for detecting intermediate layer in a storage I/O driver stack
US9787522B1 (en) 2011-06-29 2017-10-10 EMC IP Holding Company LLC Data processing system having failover between hardware and software encryption of storage data
US20170206107A1 (en) * 2012-02-14 2017-07-20 Aloke Guha Systems And Methods For Provisioning Of Storage For Virtualized Applications
US9069481B1 (en) 2013-06-28 2015-06-30 Emc Corporation Automated non-disruptive data encapsulation and de-encapsulation
CN107078956B (zh) * 2014-12-11 2020-10-02 At&T知识产权一部有限合伙公司 多层分布式路由器体系结构及相关方法、系统和介质
US9983807B1 (en) 2015-03-30 2018-05-29 EMC IP Holding Company LLC Static service levels and application specific usage tags for storage policy based management of storage resources
US10146782B1 (en) 2015-06-30 2018-12-04 EMC IP Holding Company LLC Secure erasure of files by a filesystem
US10216433B2 (en) * 2015-12-11 2019-02-26 EMC IP Holding Company LLC Accessing a virtual volume on a storage array
WO2017116264A1 (en) 2015-12-29 2017-07-06 Emc Corporation Efficient deduplication of logical units
US20180267728A1 (en) * 2016-02-11 2018-09-20 Hewlett Packard Enterprise Development Lp Provisioning volumes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118195A1 (en) * 2012-02-10 2013-08-15 Hitachi, Ltd. Storage management method and storage system in virtual volume having data arranged astride storage devices
US9223659B1 (en) * 2012-06-28 2015-12-29 Emc International Company Generating and accessing a virtual volume snapshot in a continuous data protection system

Also Published As

Publication number Publication date
US10936217B2 (en) 2021-03-02
US20190384514A1 (en) 2019-12-19
CN110609656A (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN107506258B (zh) 用于数据备份的方法和设备
CN110609656B (zh) 存储管理方法、电子设备和计算机程序产品
US9628290B2 (en) Traffic migration acceleration for overlay virtual environments
CN110058959B (zh) 数据备份方法、设备和计算机程序产品
US20160092119A1 (en) Data migration between different types of storage systems
US10341287B2 (en) Direct transmission of data between applications in a multi-tenant environment
CN111614490B (zh) 基于顶级容器集群对托管容器集群的管理系统及方法
US20200233698A1 (en) Client controlled transaction processing involving a plurality of participants
US20170168813A1 (en) Resource Provider SDK
US8543680B2 (en) Migrating device management between object managers
US10425475B2 (en) Distributed data management
US20140214956A1 (en) Method and apparatus for managing sessions of different websites
US10341181B2 (en) Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems
WO2014108769A1 (en) Management of distributed network switching cluster
CN109726038B (zh) 用于管理虚拟机的方法和设备
US9559910B2 (en) Locating virtual machine(s) within virtual networks
CN110609731B (zh) 用于管理虚拟机的方法、设备和计算机程序产品
US20200267230A1 (en) Tracking client sessions in publish and subscribe systems using a shared repository
US11792289B2 (en) Live socket redirection
CN115442129A (zh) 一种管理集群访问权限的方法、装置和系统
CN110058790B (zh) 用于存储数据的方法、设备和计算机程序产品
CN112241337A (zh) 用于管理备份数据的方法、设备和计算机程序产品
US20140059538A1 (en) Virtual machine state tracking using object based storage
US11948016B2 (en) Application programming interface management
US11526499B2 (en) Adaptively updating databases of publish and subscribe systems using optimistic updates

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