CN115562562A - 基于客户端/服务器架构管理计算系统的方法、设备和程序产品 - Google Patents

基于客户端/服务器架构管理计算系统的方法、设备和程序产品 Download PDF

Info

Publication number
CN115562562A
CN115562562A CN202110743316.XA CN202110743316A CN115562562A CN 115562562 A CN115562562 A CN 115562562A CN 202110743316 A CN202110743316 A CN 202110743316A CN 115562562 A CN115562562 A CN 115562562A
Authority
CN
China
Prior art keywords
client
address mapping
storage
storage system
failed
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
Application number
CN202110743316.XA
Other languages
English (en)
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 CN202110743316.XA priority Critical patent/CN115562562A/zh
Priority to US17/738,270 priority patent/US11995322B2/en
Publication of CN115562562A publication Critical patent/CN115562562A/zh
Pending legal-status Critical Current

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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及基于客户端/服务器架构管理计算系统的方法、设备和程序产品。在一种方法中,管理存储系统的地址映射,地址映射包括存储系统中的多个存储设备中的存储空间与存储系统的用户之间的关联关系。基于地址映射,向与用户相关联的客户端提供数据访问服务,其中客户端包括用于访问存储系统中的与用户相关联的用户数据的用户数据客户端和用于访问与用户相关联的控制数据的控制数据客户端中的至少任一项。基于客户端/服务器架构,针对用户数据和控制数据提供统一的管理方式,进而以更为简单并且有效的方式管理存储系统。

Description

基于客户端/服务器架构管理计算系统的方法、设备和程序 产品
技术领域
本公开的各实现方式涉及存储系统,更具体地,涉及用于基于客户端/服务器架构来管理存储系统的方法、设备和计算机程序产品。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于数据可靠性和存储系统的响应时间也提供了越来越高的需求。目前,已经开发出了基于独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)的多种数据存储系统来提高数据的可靠性。当存储系统中的一个或者多个磁盘出现故障时,可以从其他正常操作的磁盘上的数据来重建故障磁盘中的数据。
目前已经开发出了映射RAID(Mapped RAID)。在该映射RAID中,磁盘是一个逻辑概念并且可以包括多个区块。一个逻辑磁盘中包括的多个区块可以分布在资源池中的不同物理存储设备上。对于映射RAID的一个条带中的多个区块而言,该多个区块应当分布在不同的物理存储设备上。这使得当该多个区块中的一个区块所在的物理存储设备出现故障时,可以执行重建操作以便从其他区块所在的物理存储设备中恢复数据。
存储系统可以包括用户数据和控制数据,用户数据表示被存储的数据本身,例如用户的文档、图像和视频等,控制数据表示为了维护存储系统的正常运行所需的数据,例如,用户数据相关的元数据,等等。在存储系统运行期间,如何管理存储系统中的多种类型的数据,成为一个技术难题。
发明内容
因而,期望能够开发并实现一种以更为有效的方式来管理存储系统的技术方案。期望该技术方案能够与现有的存储系统相兼容,并且通过改造现有存储系统的各种配置,来以更为有效的方式管理存储系统。
根据本公开的第一方面,提供了一种用于管理存储系统的方法,该方法在存储系统的服务器处被实现。在该方法中,管理存储系统的地址映射,地址映射包括存储系统中的多个存储设备中的存储空间与存储系统的用户之间的关联关系。基于地址映射,向与用户相关联的客户端提供数据访问服务,其中客户端包括用于访问存储系统中的与用户相关联的用户数据的用户数据客户端和用于访问与用户相关联的控制数据的控制数据客户端中的至少任一项。
根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行根据本公开的第一方面的方法。
根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1示意性示出了根据一个技术方案的存储系统的框图;
图2示意性示出了根据本公开的示例性实现方式的存储系统的框图;
图3示意性示出了根据本公开的示例性实现方式的用于管理存储系统的方法的流程图;
图4示意性示出了根据本公开的示例性实现方式的基于客户端/服务器架构来管理存储系统的框图;
图5示意性示出了根据本公开的示例性实现方式的用于向存储系统的用户分配存储空间的框图;
图6示意性示出了根据本公开的示例性实现方式的用于更新存储系统中的地址映射的框图;
图7示意性示出了根据本公开的示例性实现方式的用于处理存储系统中的故障存储设备的框图;
图8示意性示出了根据本公开的示例性实现方式的用于重建存储系统中的数据的框图;以及
图9示意性示出了根据本公开的示例性实现的用于管理存储系统的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
首先参见图1描述存储系统的概要。图1示意性示出了根据一个技术方案的存储系统100的框图。如图1所示,存储系统100可以包括多个存储设备110、112、114、…、以及116。每个存储设备可以包括多个区块,并且可以基于映射RAID来管理多个区块。将会理解,存储系统中的数据可以包括用户数据和控制数据。通常而言,这两种数据可以具有不同的优先级,例如,控制数据要求较高的可靠性和响应速度,并且用户数据在上述两个方面的要求可以低于控制数据的要求。
为了便于管理存储系统,可以将存储设备中的存储空间划分为控制数据部分(如图例120所示)和用户数据部分(如图例122所示)。上述两部分分别经由控制数据管理器130和用户数据管理器132来单独地管理。此时,存储系统中存在两个独立的管理器,这提高了存储系统的管理复杂度。进一步,预先分配给控制数据和用户数据的存储空间是固定的,并且在存储系统运行过程中不能动态地调整两种数据的存储空间。
为了解决已有技术方案中的缺陷,本公开的示例性实现方式提出了一种用于管理存储系统的技术方案。在下文中,将参见图2描述根据本公开的示例性实现方式的概要。图2示意性示出了根据本公开的示例性实现方式的存储系统200的框图。图2示出了基于客户端/服务器的架构的存储系统。RAID服务器230可以包括控制器226,用于管理存储系统中的物理存储设备、维护上层数据存储空间和用户之间的地址映射、监视存储设备的健康状态、管理存储设备的增加和减少、管理备用存储设备以及重建存储系统中的数据,等等。
如图2所示,物理存储设备可以包括基础存储设备210、扩展存储设备212和NVRAM(非易失随机存取存储器)存储设备214。在此,基础存储设备210可以表示扩展前的存储系统中的存储设备,扩展存储设备212可以表示扩展后的存储系统中的存储设备,并且NVRAM存储系统214可以表示用于执行高速访问的存储设备。可以将这些物理存储设备中的存储空间添加至存储资源池220。
进一步,可以将存储资源池220中的存储空间划分为多个较小的区块,并将这些区块添加至存储区块层224中以便向用户分配。地址映射222可以包括与向各个用户分配的区块相关的地址映射。此时,不必按照预定的比例来将各个存储设备划分为控制数据部分和用户数据部分,而是统一地管理各个存储设备。利用本公开的示例性实现方式,将不再区分控制数据和用户数据,而是采用统一的RAID服务器230来管理存储系统中的空间。换言之,RAID服务器230将同时管理两种类型的数据。
根据本公开的一个示例性实现方式,进一步提供了用于连接至服务器的RAID客户端240,以便维护与用户相关联的地址映射、服务于来自用户设备的访问请求、接收并转发来自用户设备的增加/降低存储空间的请求、以及执行重建操作,等等。具体地,RAID客户端240可以包括与用户相关联的地址映射242,并且经由控制器244来管理该用户相关的数据访问请求。将会理解,对于某个用户而言,可以分别启动用户数据客户端和控制数据客户端。在此用户数据客户端用于访问所述存储系统中的与所述用户相关联的用户数据,并且控制数据客户端用于访问与所述用户相关联的控制数据。RAID客户端240可以与RAID服务器230协作,以便管理存储系统200。
在下文中,将参见图3描述根据本公开的一个示例性实现方式的更多细节。图3示意性示出了根据本公开的示例性实现方式的用于管理存储系统的方法300的流程图。在框310处,管理存储系统的地址映射,地址映射包括存储系统中的多个存储设备中的存储空间与存储系统的用户之间的关联关系。换言之,该地址映射可以表示将多个存储设备中的哪些存储空间分配给该用户。根据本公开的一个示例性实现方式,在服务器230处,可以将多种存储设备中的存储空间划分为多个区块。参见图4描述有关地址映射的更多细节。
图4示意性示出了根据本公开的示例性实现方式的基于客户端/服务器架构来管理存储系统的框图400。例如,可以按照预定大小将每个存储设备划分为多个较大区块,并且基于映射RAID利用来自多个存储设备的较大区块生成多个条带,并将其放置到存储资源池220。进一步,可以将每个条带划分至多个较小区块(例如,切片),并且放置到存储区块层224。
根据本公开的一个示例性实现方式,可以为存储系统的每个用户提供地址映射,地址映射可以包括存储系统中的多个存储设备中的存储空间每个用户之间的关联关系。图4仅示意性示出了用于一个用户的地址映射222,尽管在图4中未示出,地址映射222可以分别包括用于控制数据的部分和用于用户数据的部分。根据本公开的一个示例性实现方式,当存储系统包括多个用户时,可以分别为每个用户提供相应的地址映射。
返回图3,在框320处,基于地址映射222,向与用户相关联的客户端提供数据访问服务。将会理解,在此的RAID服务器230可以为管理控制数据和用户数据提供统一的服务接口。此时,对于用户而言,可以分别启动用于控制数据的RAID客户端410和用于用户数据的RAID客户端420。两个客户端都可以连接至RAID服务器230,以便访问存储系统中的相应数据。在此,RAID客户端410可以访问存储系统中的与用户相关联的用户数据,并且RAID客户端420可以访问与用户相关联的控制数据。
如图4所示,每个客户端可以包括相应的地址映射和控制器。例如,RAID客户端410中的地址映射412可以包括地址映射222中的有关控制数据的部分的备份,并且RAID客户端420中的地址映射422可以包括地址映射222中的有关控制数据的部分的备份。将会理解,客户端处的地址映射是只读的,当RAID服务器处230的地址映射222被修改时,RAID服务器230可以将修改后的地址映射同步至客户端处。
在存储系统的运行过程中,RAID客户端410和420可以连接至RAID服务器230,以便实现数据访问功能。此时,在存储系统中不必提供两套单独的管理器来分别管理控制数据和用户数据,而是利用图4所示的客户端/服务器架构,可以以统一的方式来实现存储系统的功能。利用本公开的示例性实现方式,可以简化存储系统的设置和操作复杂度,并且实现管理功能的重用,从而提高存储系统的性能。
在下文中,将分别描述在存储系统的运行期间涉及的多种类型的服务。图5示意性示出了根据本公开的示例性实现方式的用于向存储系统的用户分配存储空间的框图500。将会理解,在此分配存储空间可以涉及分配控制数据的存储空间以及分配用户数据的存储空间。当控制数据的存储空间出现短缺时,RAID客户端410可以请求RAID服务器230分配更多的存储空间用于存储控制数据;并且当用户数据的存储空间出现短缺时,RAID客户端420可以请求RAID服务器230分配更多的存储空间用于存储用户数据。
根据本公开的一个示例性实现方式,数据访问服务可以包括空间分配服务。具体地,服务器可以根据接收到的来自客户端的用于向用户分配存储空间的分配请求,从多个存储设备获取目标存储空间。进一步,服务器可以基于目标存储空间的地址更新地址映射并且向客户端通知更新的地址映射,以使得客户端可以经由更新的地址映射来访问目标存储空间。
为简单起见,在描述图5所示的过程时,将不再区分用于控制数据的RAID客户端410和用于用户数据的RAID客户端420,而是使用RAID客户端240来代表两种客户端。此时,用于两种数据的分配过程是类似的。如图5所示,RAID客户端240可以向RAID服务器230请求510分配更多的存储空间。在接收到请求之后,RAID服务器230可以从存储区块层224中的可分配区块中获取512新空间,并且基于新空间的地址来更新514服务器处的地址映射222。继而,RAID服务器230可以向RAID客户端240同步516更新的地址映射并告知分配过程已经完成。此时,RAID客户端240即可将更新的地址映射同步518到本地。
根据本公开的一个示例性实现方式,分配新空间的过程不会影响已经被分配给用户的存储空间的数据,RAID客户端240可以继续服务于来自用户设备的数据访问请求。换言之,RAID客户端240不必暂停来自用户设备的数据访问请求。在完成图5所示的操作之后,用户获得了更多的存储空间(用于控制数据的存储空间和/或用于用户数据的存储空间)。继而,用户设备可以连接至RAID客户端240,并且利用RAID客户端240处的已经被更新的地址映射,来访问新被分配的存储空间。
相对于需要分别设置两套管理器的传统技术方案,RAID服务器230可以提供统一的分配接口,以便两种客户端在需要时请求分配更多的存储空间。进一步,传统技术方案预先将存储设备划分为控制数据部分和用户数据部分,这可以导致当用于一种数据的存储空间出现短缺时,无法继续分配。利用本公开的示例性实现方式,在建立存储区块层224时,并不指定各个存储区块的类型,而是在接收到来自某个类型的客户端的分配请求时,再指定存储区块的类型。以此方式,只要存储区块层224包括可用区块,则可以按照分配请求的类型来分配相应类型的存储区块。
具体地,当接收到来自用于控制数据的RAID客户端410的分配请求时,可以将存储区块层224中的可用区块分配给用户以便存储控制数据;并且当接收到来自用于用户数据的RAID客户端420的分配请求时,将存储区块层224中的可用区块分配给用户以便存储用户数据。以此方式,存储区块层对于两种数据类型而言是公共的,因而可以缓解出现某种类型的可用区块不足的情况。将会理解,在存储系统中可以以不同的方式来存储控制数据和用户数据。例如,可以使用镜像方式来存储控制数据,以便提供更高的可靠性;可以使用RAID5、RAID 6或者其他方式来存储控制数据,以便在提高可靠性的同时尽量充分利用存储空间。
根据本公开的一个示例性实现方式,数据访问服务可以包括地址映射更新服务。具体地,当确定需要更新地址映射时,服务器可以向客户端通知地址映射中的将要被更新的目标部分。服务器可以接收来自客户端的针对通知的确认,以便开始更新地址映射中的目标部分并且向客户端通知更新的地址映射。在下文中,参见图6描述有关更新地址映射的更多细节。图6示意性示出了根据本公开的示例性实现方式的用于更新存储系统中的地址映射的框图600。
如图6所示,RAID服务器230可以向RAID客户端240通知610将要更新地址映射。将会理解,RAID客户端240需要基于本地的地址映射的副本来服务于来自用户设备的数据访问请求,如果在RAID服务器230处更新了地址映射,将会导致RAID客户端240处的地址映射的副本与RAID服务器230处的地址映射不一致,进而出现冲突。因而,在更新地址映射之前,RAID客户端240需要静默(quiesce)数据访问请求。
根据本公开的一个示例性实现方式,在接收到来自RAID服务器230的通知后,RAID客户端240可以执行612静默操作。在此静默操作涉及尚未被执行的数据访问请求以及正在被执行的数据访问请求。具体地,该通知可以指示RAID客户端240暂缓用于访问地址映射中的目标部分的尚未被执行的数据访问请求。例如,可以将进入的数据访问请求(如果存在)排队。该通知还可以指示RAID客户端240等待用于访问目标部分的已经被执行的数据访问请求的完成。假设RAID客户端240正在执行n(n为正整数)个数据访问请求,可以继续执行这些请求,直到已经完成全部n个数据访问请求。
在完成静默操作之后,RAID客户端240可以向RAID服务器230确认614已经准备就行以便执行地址映射的更新,并且允许RAID服务器230开始更新过程。此时,RAID服务器230可以执行地址映射的更新,并且将更新后的地址映射持久化到下层存储设备中。继而,RAID服务器230可以向RAID客户端240同步618更新的地址映射。换言之,更新的地址映射被同步至RAID客户端240。在此,同步操作指示客户端利用更新的地址映射来替换客户端处的地址映射的副本,由此RAID客户端240处的地址映射的副本与RAID服务器230处的相一致。
进一步,在已经将更新的全部地址映射同步至RAID客户端240之后,RAID服务器230可以向RAID客户端240通知620解除静默操作。此时,RAID客户端240可以解除622静默操作,并且RAID客户端240可以恢复正常。如果此时存在被排队的未被执行的数据访问请求,RAID客户端240可以按顺序处理被排队的请求。如果不存在排队的请求,则RAID客户端240可以等待新的数据访问请求。
利用本公开的示例性实现方式,不论将要被更新的地址映射涉及控制数据还是用户数据,都可以按照图6所示的方式进行处理。此时,RAID服务器230可以同时服务于控制数据和用户数据。如果将要被更新的地址映射涉及控制数据,则RAID服务器230可以向用于控制数据的RAID客户端410发送通知;如果将要被更新的地址映射涉及用户数据,则RAID服务器230可以向用于用户数据的RAID客户端420发送通知。以此方式,可以简化存储系统的操作的复杂性进而提高存储系统的性能。
根据本公开的一个示例性实现方式,数据访问服务可以包括故障处理服务。如果RAID服务器230确定多个存储设备中出现故障存储设备,可以启动故障处理服务。具体地,可以确定地址映射中的涉及故障存储设备的故障存储空间,并且向相应的客户端通知故障存储空间。在下文中,参见图7描述有关故障处理服务的更多细节。图7示意性示出了根据本公开的示例性实现方式的用于处理存储系统中的故障存储设备的框图700。
如图7所示,在检测到故障存储设备之后,RAID服务器230可以确定712受到故障存储设备影响的全部区块。将会理解,存储系统是基于映射RAID的存储系统,因而存储区块层224中的位于故障存储设备中的一个或多个区块将会受到影响。此时,可以将这些受到影响的区块标记为故障区块。如果故障区块尚未被分配,则不会对用户产生影响;如果故障区块已经被分配给用户,则可以基于地址映射来找到被分配了故障区块的用户,并且向与该用户相关的RAID客户端240通知714上述故障。将会理解,如果故障存储设备中的区块被分配给多个用户,则可以针对每个用户执行类似的操作。在下文中,将仅以针对一个用户的操作为示例进行描述。
如图7所示,RAID服务器230可以向RAID客户端240通知714执行静默操作。将会理解,故障存储设备的出现可以导致RAID客户端240的本地地址映射副本中的某些存储空间不可用。因而,RAID客户端240需要停止服务。具体地,RAID客户端240可以执行716静默操作。根据本公开的一个示例性实现方式,RAID客户端240可以静默与故障存储空间相关联的数据访问请求,并且允许对正常存储空间的数据访问请求。在本公开的上下文中,静默操作的过程是类似的因而不再赘述。RAID客户端240可以向RAID服务器230确认718已经完成静默操作。
继而,RAID服务器230可以将故障区块的状态标记720为“降级”(degraded)。将会理解,在出现故障之后,某些故障存储设备可以通过重启等方式恢复正常,然而某些故障存储设备不会恢复正常。RAID服务器230可以设置722定时器(例如,5分钟或者其他时间间隔),以便检查故障存储设备在预定时间长度内是否可以恢复正常。继而,RAID服务器230可以向RAID客户端240同步724区块的状态和相关的元数据,并且通知RAID客户端240解除静默操作。继而,RAID客户端240可以解除726静默操作。
此时,RAID服务器230可以基于与故障存储设备相关联的阈值时间长度,来确定后续的处理操作。如果故障存储设备在预定阈值时间长度之内被恢复,则表示该故障存储设备已经恢复正常并且可以继续使用。可以将故障存储空间的状态从“降级”恢复至正常状态,并且向客户端通知故障存储设备已经被恢复。具体地,RAID服务器230可以向RAID客户端240同步各个区块最新的状态和相关的元数据,以便指示RAID客户端240可以继续处理数据访问请求。
继续参见图7来描述故障存储设备未恢复的情况,RAID服务器230可以检测728到定时器到期并且故障存储设备未被恢复。这表示故障存储设备在预定阈值时间长度之内没有被恢复,并且该故障存储设备不能继续使用。此时,RAID服务器230可以向RAID客户端240通知730再次执行静默操作。RAID客户端240可以执行732静默操作,并且告知RAID服务器230已经完成静默操作。进一步,RAID服务器230可以在存储系统中查找可用的备用区块以便替换734故障区块。具体地,可以基于所使用的RAID标准来从存储区块层224中选择适合的备用区块来替换每个故障区块。进一步,可以基于各个正常区块的地址来更新相应的地址映射。
在已经利用正常区块替换全部故障区块并且更新了RAID服务器230处的地址映射之后,RAID服务器230可以向RAID客户端240同步736更新的地址映射,并且通知RAID客户端240解除静默操作。具体地,RAID服务器230可以指示客户端利用更新的地址映射来更新客户端处的地址映射的副本。此时,RAID客户端240处的本地地址映射已经被更新,该地址映射涉及的全部存储空间均为正常存储空间并且可以被使用。RAID客户端240可以解除738静默操作,并且恢复正常。此时,在RAID服务器230和RAID客户端240处的地址映射中的存储空间还包括状态为“降级”的区块,因而RAID服务器230可以向RAID客户端240通知740执行重建操作。
利用本公开的示例性实现方式,在处理故障存储设备时,并不区分该故障存储设备中的各个区块用于存储控制数据还是用于存储用户数据,而是通过RAID服务器230来提供统一的故障处理接口。以此方式,RAID服务器230可以根据故障区块所包括数据的类型,来分别通知相应的RAID客户端来执行如图7所示的过程。
根据本公开的一个示例性实现方式,数据访问服务可以包括重建服务。具体地,RAID服务器230可以启动重建操作。在下文中,参见图8描述有关重建的更多细节。图8示意性示出了根据本公开的示例性实现方式的用于重建存储系统中的数据的框图800。如图8所示,RAID服务器230可以向RAID客户端240通知740启动重建操作。此时,RAID客户端240可以遍历810状态为“降级”的全部区块,并且基于相应的RAID标准来执行812重建过程。根据本公开的一个示例性实现方式,重建过程的具体步骤与已有技术方案类似,因而不再赘述。在已经完成针对状态为“降级”的全部区块的重建操作之后,RAID客户端240可以向RAID服务器230确认814已经完成重建。此时,RAID服务器230可以将相关区块的状态从“降级”更新816为正常。
利用本公开的示例性实现方式,在执行重建操作时,并不区分状态为“降级”的区块是用于存储控制数据还是用于存储用户数据,而是通过RAID服务器230来提供统一的数据重建接口。以此方式,RAID服务器230可以根据“降级”的区块涉及的数据类型,来分别通知相应的RAID客户端来执行重建操作。
将会理解,上文仅以分配存储空间、更新地址映射、处理故障存储设备以及重建操作为示例描述了如何基于客户端/服务器架构来管理存储系统的具体过程。根据本公开的一个示例性实现方式,还可以基于上文描述的原理,基于客户端/服务器架构来在存储系统中实现其他服务。例如,RAID客户端240可以接收来自用户设备的数据访问请求,并且相应地执行读取、写入、以及更新操作。又例如,当存储系统中的空闲存储空间出现不足时,可以向存储系统添加新的存储设备。此时,RAID服务器230可以将新的存储设备中的区块添加至存储区块层224以便用于分配。再例如,当各个存储设备的工作负载出现不平衡时,RAID服务器230可以执行负载均衡操作,并且基于上文描述的方法来向相应的RAID客户端同步更新后的地址映射。
根据本公开的一个示例性实现方式,客户端/服务器架构可以不必区分被存储的数据的类型,而是可以向控制数据和用户数据提供统一的服务接口。以此方式,可以简化存储系统的操作的复杂度进而提供更高的性能。
在上文中已经参见图2至图8详细描述了根据本公开的方法的示例,在下文中将描述相应的装置的实现。根据本公开的示例性实现,提供了一种用于管理存储系统的装置,该装置作为存储系统的服务器运行并且包括:管理模块,配置用于管理存储系统的地址映射,地址映射包括存储系统中的多个存储设备中的存储空间与存储系统的用户之间的关联关系;以及服务模块,配置用于基于地址映射,向与用户相关联的客户端提供数据访问服务。在此,客户端包括用于访问存储系统中的与用户相关联的用户数据的用户数据客户端和用于访问与用户相关联的控制数据的控制数据客户端中的至少任一项。根据本公开的示例性实现方式,该装置进一步包括用于执行上文描述的方法300中的其他步骤的模块。
图9示意性示出了根据本公开的示例性实现的用于管理计算系统设备900的框图。如图所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300,可由处理单元901执行。例如,在一些实现中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实现中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载到RAM 903并由CPU 901执行时,可以执行上文描述的方法300的一个或多个步骤。备选地,在其他实现中,CPU 901也可以以其他任何适当的方式被配置以实现上述过程/方法。
根据本公开的示例性实现,一种电子设备,包括:至少一个处理器;易失性存储器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行一种用于管理存储系统的方法。该方法在存储系统的服务器处被实现,并且包括:管理存储系统的地址映射,地址映射包括存储系统中的多个存储设备中的存储空间与存储系统的用户之间的关联关系;以及基于地址映射,向与用户相关联的客户端提供数据访问服务,其中客户端包括用于访问存储系统中的与用户相关联的用户数据的用户数据客户端和用于访问与用户相关联的控制数据的控制数据客户端中的至少任一项。
根据本公开的一个示例性实现方式,提供数据访问服务包括:响应于接收到来自客户端的用于向用户分配存储空间的分配请求,基于分配请求,从多个存储设备获取目标存储空间;基于目标存储空间,更新地址映射;以及向客户端通知更新的地址映射,以使得客户端经由更新的地址映射来访问目标存储空间。
根据本公开的一个示例性实现方式,提供数据访问服务包括:响应于确定地址映射将要被更新,向客户端通知地址映射中的将要被更新的目标部分,以使得客户端静默与目标部分相关联的数据访问请求;响应于接收到来自客户端的针对通知的确认,更新地址映射中的目标部分;以及向客户端通知更新的地址映射。
根据本公开的一个示例性实现方式,向客户端通知目标部分包括:指示客户端暂缓用于访问目标部分的尚未被执行的数据访问请求;以及指示客户端等待用于访问目标部分的正在被执行的数据访问请求的完成。
根据本公开的一个示例性实现方式,向客户端通知更新的地址映射包括:指示客户端利用更新的地址映射来更新客户端处的地址映射;以及指示客户端解除静默。
根据本公开的一个示例性实现方式,提供数据访问服务包括:响应于确定多个存储设备中出现故障存储设备,确定地址映射中的涉及故障存储设备的故障存储空间;向客户端通知故障存储空间,以使得客户端静默与故障存储空间相关联的数据访问请求;响应于接收到来自客户端的针对通知的确认,将故障存储空间标记为降级状态;以及基于与故障存储设备相关联的阈值时间长度,处理故障存储设备。
根据本公开的一个示例性实现方式,基于阈值时间长度来处理故障存储设备包括:响应于确定故障存储设备在阈值时间长度内被恢复,将故障存储空间的状态设置为正常状态;以及向客户端通知故障存储设备已经被恢复。
根据本公开的一个示例性实现方式,基于阈值时间长度来处理故障存储设备包括:响应于确定故障存储设备在阈值时间长度内未被恢复,向客户端设备通知故障存储设备未被恢复,以使得客户端静默与故障存储空间相关联的数据访问请求;基于多个存储设备中的正常存储空间更新地址映射;以及向客户端通知更新的地址映射。
根据本公开的一个示例性实现方式,向客户端通知更新的地址映射包括:指示客户端利用更新的地址映射来更新客户端处的地址映射;以及指示客户端解除静默。
根据本公开的一个示例性实现方式,存储系统包括基于独立盘冗余阵列的存储系统,以及方法进一步包括:指示客户端基于更新的地址映射来执行重建操作。
根据本公开的示例性实现,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的方法。
根据本公开的示例性实现,提供了一种计算机可读介质。计算机可读介质上存储有机器可执行指令,当机器可执行指令在被至少一个处理器执行时,使得至少一个处理器实现根据本公开方法。
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实现中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实现的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。

Claims (20)

1.一种用于管理存储系统的方法,所述方法在所述存储系统的服务器处被实现,并且所述方法包括:
管理所述存储系统的地址映射,所述地址映射包括所述存储系统中的多个存储设备中的存储空间与所述存储系统的用户之间的关联关系;以及
基于所述地址映射,向与所述用户相关联的客户端提供数据访问服务,其中所述客户端包括用于访问所述存储系统中的与所述用户相关联的用户数据的用户数据客户端和用于访问与所述用户相关联的控制数据的控制数据客户端中的至少任一项。
2.根据权利要求1所述的方法,其中提供所述数据访问服务包括:响应于接收到来自所述客户端的用于向所述用户分配存储空间的分配请求,
基于所述分配请求,从所述多个存储设备获取目标存储空间;
基于所述目标存储空间,更新所述地址映射;以及
向所述客户端通知更新的所述地址映射,以使得所述客户端经由更新的所述地址映射来访问所述目标存储空间。
3.根据权利要求1所述的方法,其中提供所述数据访问服务包括:响应于确定所述地址映射将要被更新,
向所述客户端通知所述地址映射中的将要被更新的目标部分,以使得所述客户端静默与所述目标部分相关联的数据访问请求;
响应于接收到来自所述客户端的针对所述通知的确认,更新所述地址映射中的所述目标部分;以及
向所述客户端通知更新的所述地址映射。
4.根据权利要求3所述的方法,其中向所述客户端通知所述目标部分包括:
指示所述客户端暂缓用于访问所述目标部分的尚未被执行的数据访问请求;以及
指示所述客户端等待用于访问所述目标部分的正在被执行的数据访问请求的完成。
5.根据权利要求3所述的方法,其中向所述客户端通知所述更新的所述地址映射包括:
指示所述客户端利用更新的所述地址映射来更新所述客户端处的地址映射;以及
指示所述客户端解除所述静默。
6.根据权利要求1所述的方法,其中提供所述数据访问服务包括:响应于确定所述多个存储设备中出现故障存储设备,
确定所述地址映射中的涉及所述故障存储设备的故障存储空间;
向所述客户端通知所述故障存储空间,以使得所述客户端静默与故障存储空间相关联的数据访问请求;
响应于接收到来自所述客户端的针对所述通知的确认,将所述故障存储空间标记为降级状态;以及
基于与所述故障存储设备相关联的阈值时间长度,处理所述故障存储设备。
7.根据权利要求6所述的方法,其中基于所述阈值时间长度来处理所述故障存储设备包括:响应于确定所述故障存储设备在所述阈值时间长度内被恢复,
将所述故障存储空间的状态设置为正常状态;以及
向所述客户端通知所述故障存储设备已经被恢复。
8.根据权利要求6所述的方法,其中基于所述阈值时间长度来处理所述故障存储设备包括:响应于确定所述故障存储设备在所述阈值时间长度内未被恢复,
向所述客户端设备通知所述故障存储设备未被恢复,以使得所述客户端静默与所述故障存储空间相关联的数据访问请求;
基于所述多个存储设备中的正常存储空间更新所述地址映射;以及
向所述客户端通知更新的所述地址映射。
9.根据权利要求8所述的方法,其中向所述客户端通知更新的所述地址映射包括:
指示所述客户端利用更新的所述地址映射来更新所述客户端处的地址映射;以及
指示所述客户端解除所述静默。
10.根据权利要求8所述的方法,其中所述存储系统包括基于独立盘冗余阵列的存储系统,以及所述方法进一步包括:指示所述客户端基于更新的所述地址映射来执行重建操作。
11.一种电子设备,包括:
至少一个处理器;
易失性存储器;以及
与所述至少一个处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述至少一个处理器执行时使得所述设备执行一种用于管理存储系统的方法,所述方法在所述存储系统的服务器处被实现,并且所述方法包括:
管理所述存储系统的地址映射,所述地址映射包括所述存储系统中的多个存储设备中的存储空间与所述存储系统的用户之间的关联关系;以及
基于所述地址映射,向与所述用户相关联的客户端提供数据访问服务,其中所述客户端包括用于访问所述存储系统中的与所述用户相关联的用户数据的用户数据客户端和用于访问与所述用户相关联的控制数据的控制数据客户端中的至少任一项。
12.根据权利要求11所述的设备,其中提供所述数据访问服务包括:响应于接收到来自所述客户端的用于向所述用户分配存储空间的分配请求,
基于所述分配请求,从所述多个存储设备获取目标存储空间;
基于所述目标存储空间,更新所述地址映射;以及
向所述客户端通知更新的所述地址映射,以使得所述客户端经由更新的所述地址映射来访问所述目标存储空间。
13.根据权利要求11所述的设备,其中提供所述数据访问服务包括:响应于确定所述地址映射将要被更新,
向所述客户端通知所述地址映射中的将要被更新的目标部分,以使得所述客户端静默与所述目标部分相关联的数据访问请求;
响应于接收到来自所述客户端的针对所述通知的确认,更新所述地址映射中的所述目标部分;以及
向所述客户端通知更新的所述地址映射。
14.根据权利要求13所述的设备,其中向所述客户端通知所述目标部分包括:
指示所述客户端暂缓用于访问所述目标部分的尚未被执行的数据访问请求;以及
指示所述客户端等待用于访问所述目标部分的正在被执行的数据访问请求的完成。
15.根据权利要求13所述的设备,其中向所述客户端通知所述更新的所述地址映射包括:
指示所述客户端利用更新的所述地址映射来更新所述客户端处的地址映射;以及
指示所述客户端解除所述静默。
16.根据权利要求11所述的设备,其中提供所述数据访问服务包括:响应于确定所述多个存储设备中出现故障存储设备,
确定所述地址映射中的涉及所述故障存储设备的故障存储空间;
向所述客户端通知所述故障存储空间,以使得所述客户端静默与故障存储空间相关联的数据访问请求;
响应于接收到来自所述客户端的针对所述通知的确认,将所述故障存储空间标记为降级状态;以及
基于与所述故障存储设备相关联的阈值时间长度,处理所述故障存储设备。
17.根据权利要求16所述的设备,其中基于所述阈值时间长度来处理所述故障存储设备包括:响应于确定所述故障存储设备在所述阈值时间长度内被恢复,
将所述故障存储空间的状态设置为正常状态;以及
向所述客户端通知所述故障存储设备已经被恢复。
18.根据权利要求16所述的设备,其中基于所述阈值时间长度来处理所述故障存储设备包括:响应于确定所述故障存储设备在所述阈值时间长度内未被恢复,
向所述客户端设备通知所述故障存储设备未被恢复,以使得所述客户端静默与所述故障存储空间相关联的数据访问请求;
基于所述多个存储设备中的正常存储空间更新所述地址映射;以及
向所述客户端通知更新的所述地址映射。
19.根据权利要求18所述的设备,其中向所述客户端通知更新的所述地址映射包括:
指示所述客户端利用更新的所述地址映射来更新所述客户端处的地址映射;以及
指示所述客户端解除所述静默,
其中所述存储系统包括基于独立盘冗余阵列的存储系统,以及所述方法进一步包括:指示所述客户端基于更新的所述地址映射来执行重建操作。
20.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令用于执行根据权利要求1至10中的任一项所述的方法。
CN202110743316.XA 2021-07-01 2021-07-01 基于客户端/服务器架构管理计算系统的方法、设备和程序产品 Pending CN115562562A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110743316.XA CN115562562A (zh) 2021-07-01 2021-07-01 基于客户端/服务器架构管理计算系统的方法、设备和程序产品
US17/738,270 US11995322B2 (en) 2021-07-01 2022-05-06 Method, device, and program product for managing computing system based on client/server architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110743316.XA CN115562562A (zh) 2021-07-01 2021-07-01 基于客户端/服务器架构管理计算系统的方法、设备和程序产品

Publications (1)

Publication Number Publication Date
CN115562562A true CN115562562A (zh) 2023-01-03

Family

ID=84737216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110743316.XA Pending CN115562562A (zh) 2021-07-01 2021-07-01 基于客户端/服务器架构管理计算系统的方法、设备和程序产品

Country Status (2)

Country Link
US (1) US11995322B2 (zh)
CN (1) CN115562562A (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4426262B2 (ja) 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
US7870353B2 (en) * 2005-08-15 2011-01-11 International Business Machines Corporation Copying storage units and related metadata to storage
US7536586B2 (en) * 2006-01-12 2009-05-19 Dell Products L.P. System and method for the management of failure recovery in multiple-node shared-storage environments
US20120124183A1 (en) * 2010-03-31 2012-05-17 James Louis Long Clients and servers for allocating and managing exclusive access to a portion of remote storage space
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
CN113391945A (zh) 2020-03-12 2021-09-14 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备以及计算机程序产品
US11636069B2 (en) 2020-07-24 2023-04-25 Capital Thought Holdings L.L.C. Data storage system and method
US20220308791A1 (en) * 2021-03-26 2022-09-29 Intel Corporation System, apparatus, and method for scheduling metadata requests

Also Published As

Publication number Publication date
US20230004309A1 (en) 2023-01-05
US11995322B2 (en) 2024-05-28

Similar Documents

Publication Publication Date Title
CN109683826B (zh) 用于分布式存储系统的扩容方法和装置
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
CN110413201B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US8560628B2 (en) Supporting autonomous live partition mobility during a cluster split-brained condition
EP2923272B1 (en) Distributed caching cluster management
US8726274B2 (en) Registration and initialization of cluster-aware virtual input/output server nodes
US20200097449A1 (en) File management in thin provisioning storage environments
US11888933B2 (en) Cloud service processing method and device, cloud server, cloud service system and storage medium
US9792150B1 (en) Detecting site change for migrated virtual machines
US10430217B2 (en) High availability using dynamic quorum-based arbitration
US11366682B1 (en) Automatic snapshotting for recovery of instances with local storage
JP6388290B2 (ja) 分散システムにおけるロック・サーバの故障を処理するための方法およびシステム
US9529772B1 (en) Distributed caching cluster configuration
CN111857541A (zh) 用于管理存储系统的方法、设备和计算机程序产品
EP3648405B1 (en) System and method to create a highly available quorum for clustered solutions
CN112764661A (zh) 用于管理存储系统的方法、设备和计算机程序产品
US20220083229A1 (en) Data storage system with configurable durability
US11461123B1 (en) Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
CN109840051B (zh) 一种存储系统的数据存储方法及装置
US11734038B1 (en) Multiple simultaneous volume attachments for live migration between cloud regions and edge locations
CN109992447B (zh) 数据复制方法、装置及存储介质
US20140380089A1 (en) Method and apparatus for recovering failed disk in virtual machine
CN115562562A (zh) 基于客户端/服务器架构管理计算系统的方法、设备和程序产品
US11573839B1 (en) Dynamic scheduling for live migration between cloud regions and edge locations
US10855521B2 (en) Efficient replacement of clients running large scale applications

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