CN110609699A - 维护存储系统的组件的方法、电子设备和计算机程序产品 - Google Patents

维护存储系统的组件的方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN110609699A
CN110609699A CN201810621204.5A CN201810621204A CN110609699A CN 110609699 A CN110609699 A CN 110609699A CN 201810621204 A CN201810621204 A CN 201810621204A CN 110609699 A CN110609699 A CN 110609699A
Authority
CN
China
Prior art keywords
node
storage system
determining
response
target component
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
CN201810621204.5A
Other languages
English (en)
Other versions
CN110609699B (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 CN201810621204.5A priority Critical patent/CN110609699B/zh
Priority to US16/146,879 priority patent/US10853191B2/en
Publication of CN110609699A publication Critical patent/CN110609699A/zh
Application granted granted Critical
Publication of CN110609699B publication Critical patent/CN110609699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开的实施例涉及用于维护存储系统的组件的方法、电子设备和计算机程序产品。该方法包括获取表示存储系统的拓扑的依赖图,依赖图包括节点和节点之间的有向边,节点与存储系统的组件对应,并且每条有向边从具有依赖关系的后继节点指向前驱节点。该方法还包括响应于要维护存储系统的目标组件,从依赖图中确定与目标组件对应的目标节点。该方法还包括从与目标节点相关联的信息中确定目标组件的类型。此外,该方法还可以基于目标组件的类型和目标节点的依赖关系中的后继关系,来管理目标组件的维护。本公开的实施例提供了一种通用且成本低的非破坏性维护方案。

Description

维护存储系统的组件的方法、电子设备和计算机程序产品
技术领域
本公开的实施例总体涉及存储系统,具体涉及用于维护存储系统的组件的方法、电子设备和计算机程序产品。
背景技术
对存储系统的组件的维护操作可能对存储系统的业务运行产生很大的影响。通常,技术支持工程师会安排用户的停机时间,然后离线地对存储系统进行维护。这使得用户体验变差,因为在停机时间期间用户无法使用存储系统。因此,所面临的技术挑战是如何检查和确认在线组件维护是非破坏性的,而不影响用户的正常使用。
发明内容
本公开的实施例提供了用于维护存储系统的组件的方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种维护存储系统的组件的方法。该方法包括获取表示存储系统的拓扑的依赖图,依赖图包括节点和节点之间的有向边,节点与存储系统的组件对应,并且每条有向边从具有依赖关系的后继节点指向前驱节点。该方法还包括响应于要维护存储系统的目标组件,从依赖图中确定与目标组件对应的目标节点。该方法还包括从与目标节点相关联的信息中确定目标组件的类型。此外,该方法还可以基于目标组件的类型和目标节点的依赖关系中的后继关系,来管理目标组件的维护。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时,使得电子设备执行以下动作:获取表示存储系统的拓扑的依赖图,依赖图包括节点和节点之间的有向边,节点与存储系统的组件对应,并且每条有向边从具有依赖关系的后继节点指向前驱节点;响应于要维护存储系统的目标组件,从依赖图中确定与目标组件对应的目标节点;从与目标节点相关联的信息中确定目标组件的类型;以及基于目标组件的类型和目标节点的依赖关系中的后继关系,来管理目标组件的维护。
在本公开的第三方面,提供了计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了用于维护存储系统的组件的示例环境的示意图;
图2示出了几种可能的组件维护情况;
图3示出了用于维护存储系统的组件的架构的示意图;
图4示出了根据本公开的一个实施例的维护存储系统的组件的方法的流程图;
图5示出了存储系统的拓扑的一个示例;
图6示出了表示图5所示的拓扑的依赖图;
图7A和图7B示出了根据本公开的一个实施例的管理目标组件的维护的方法的流程图;
图8示出了RAID信息的一个示例;
图9示出了图8所示的RAID的数据层信息的一个示例;
图10示出了根据本公开的一个实施例的用于维护存储系统的组件的装置的框图;以及
图11示出了可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
需要注意的是,在本文中使用的术语“组件”可以指代硬件、软件或固件,并且“组件”和“设备”可互换使用。在本文中使用的术语“维护存储系统的组件”可以指代更换或升级存储系统中的任何硬件、软件或固件,换言之,术语“维护”在本文中可以与“更换”或“升级”交换使用。在本文中使用的术语“非破坏性维护”可以指代能够在系统正常操作的情况下维护组件,而不需要系统停机或离线。
由于产品更新换代、盘报错等原因,存在需要维护存储系统的组件的情况(例如,更换盘阵列)。现有的一些组件维护方法都有其自己的缺点。例如,由于对组件的维护操作可能对存储系统的业务运行产生很大的影响,所以技术支持工程师通常会安排用户的停机时间,然后离线地对存储系统进行维护。这可以称为“离线组件维护”。然而,由于在停机时间期间用户无法使用存储系统,所以这种离线组件维护方法使得用户体验变差。
还可以采用一种基于系统级高可用性的技术方案来进行组件维护,其中备用存储系统将接管要维护的存储系统的业务。以数据域方法为例,当技术支持工程师检测到坏的串行附接的小型计算机系统接口的小型逻辑接口卡(SAS SLIC)时,需要使SLIC所附接的节点离线,然后用新卡来替换该坏卡。在高可用性环境中,如果该节点是主动-被动配置中的主动节点,那么系统级故障切换将被触发。要维护的存储系统整体将被备用存储系统所替换。这导致了严重的计算成本和资源成本。
此外,还可以采用一种基于冗余独立盘阵列(RAID)的在线盘固件维护方法,其中同时进行固件维护的盘的最大数目不能超出RAID的容错能力。然而,这种方法仅对盘级维护起作用。虽然这是一种非破坏性维护,但是并不能针对所有种类的组件维护通用。
本公开的实施例提供了一种通用的非破坏性维护方案,其可以在不需要业务停机的情况下维护存储系统中的任何硬件、软件或固件,从而改善了高可用性。本公开的非破坏性维护方案可以利用一些简单的检查逻辑来避免系统级故障切换,从而降低了计算成本和资源成本。
图1示出了用于维护存储系统的组件的示例环境100的示意图。应当理解,仅出于示例性的目的描述示例环境100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
如图1所示,示例环境100可以包括存储系统120。例如,存储系统120可以是企业存储系统。存储系统120包括诸如处理器、扩展器和盘之类的组件121。用户110可以使用存储系统120。例如,用户110可以搜索/查询存储系统120所存储的数据。另外,用户110可以对存储系统120进行维护。当存储系统120的组件121损坏或需要升级时,用户110可以用新的组件来替换现有的组件121。对组件121的维护操作可能对存储系统120的业务运行产生很大的影响。根据本公开的实施例,存储系统120的检查器125可以在执行维护之前确定是否需要系统停机以执行维护。在一些情况下,如果检查器125确定可以在存储系统120正常操作的情况下维护组件121,而不需要安排系统停机时间,那么可以在不影响用户110使用的情况下在后台进行组件121的维护。下文中所描述的方法或功能可以由检查器125执行。
图2示出了几种可能的组件121的维护情况。图2示出了若干种类的组件121。例如,组件121可以包括图2所示的主机总线适配器211-1、211-2、扩展器221-1、221-2、221-3、221-4、以及盘225-1、225-2、225-3、225-4。盘簇220-1、220-2可以包括盘阵列。例如,盘簇1220-1的盘阵列包括盘225-1、225-2。扩展器221-1、221-2、221-3、221-4可以充当用于盘225-1、225-2、225-3、225-4的路由器。主机总线适配器211-1、211-2分别连接至扩展器221-1、221-4,以使得存储处理器210可以控制盘225-1、225-2、225-3、225-4。图2中所示的组件的数目仅是示例性的,而非限制性的。例如,除了盘簇1 220-1、盘簇2 220-2外,还可以存在其它盘簇,这依赖于存储系统的存储容量。
当检测到盘225-1报错时,这意味着盘225-1是垂死盘并且需要用新盘来替换盘225-1。另外,存在需要下载新的盘固件的情况。这些情况可以被称为“盘维护”。
当检测到有问题的扩展器221-1(还可以称为链路控制卡(LCC))时,这意味着需要用新的扩展器来替换扩展器221-1。另外,存在需要下载新的扩展器固件的情况。这些情况可以被称为“扩展器维护”。
当检测到有问题的主机总线适配器211-1(还可以称为串行附接的小型计算机系统接口(SAS)的小型逻辑接口卡(SLIC))时,这意味着需要用新的主机总线适配器来替换主机总线适配器211-1。另外,存在需要下载新的主机总线适配器固件的情况,或者新的SLIC卡被添加以用于存储扩展的情况。这些情况可以被称为“主机总线适配器维护”。
当需要用新的存储处理器来交换有问题的存储处理器210时,这种情况可以被称为“存储处理器维护”。
当需要添加新的盘阵列或者新的盘簇以用于存储扩展的目的时,新的盘阵列机架(DAE)被添加。有时,用户110怀疑问题存在于DAE的背板中(连接盘的接口电路在DAE的背板上),则需要更换DAE。这些情况可以被称为“盘阵列机架维护”。
需要注意的是,以上描述的组件121的多种维护情况仅仅是示例性的,而非穷尽性的。上述组件维护操作可能对存储系统120的业务运行产生很大的影响。本公开的实施例提出了一种非破坏性维护方案。
图3示出了用于维护存储系统的组件的架构300的示意图。应当理解,仅出于示例性的目的描述架构300的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
架构300大体上可以包括存储子系统管理器310、监测和诊断模块320、维护接口330以及图1所示的检查器125。存储子系统管理器310可以用于管理存储系统120的设备。存储子系统管理器310可以包括三个组件:事件监听器312、拓扑模块314和依赖图模块316。事件监听器312可以监测例如由用户110执行的热插拔事件,并且向拓扑模块314通知由该热插拔事件所导致的设备状态改变。拓扑模块314保持存储系统120的本地节点的拓扑信息。当事件监听器312监测到热插拔事件时,拓扑模块314及时地更新拓扑信息。依赖图模块316可以基于拓扑模块314的拓扑信息来生成依赖图,以供检查器125使用。至少基于依赖图模块316所生成的依赖图,检查器125可以做出是否可以安全地更换或升级特定组件121而无需业务停机的决定。这将在下面更详细地讨论。
监测和诊断模块320可以用于存储系统120的各种组件121的健康监测和诊断。利用传感器技术和增强型硬件设计,监测和诊断模块320可以检测组件121的错误或故障。例如,监测和诊断模块320可以监测快速外围部件互连(PCIe)、主机总线适配器(HBA)、和串行附接小型计算机系统接口(SAS)域中的盘阵列等。基于传感器数据、系统管理事件和现有的历史日志等,监测和诊断模块320可以做出组件健康诊断和故障预测。在一些实施例中,如果检测到有问题的组件121,监测和诊断模块320可以向用户110发出警报。然后,用户110可以指示维护接口330更换或升级该有问题的组件121。
维护接口330可以支持各种各种的组件维护。如图2所示的,组件维护可以包括:盘维护、扩展器维护、主机总线适配器(HBA)维护、盘阵列机架(DAE)维护、容量扩展、控制器维护和存储处理器(SP)维护等。例如,当用户110想要更换坏的串行附接小型计算机系统接口(SAS)卡时,用户110可以向维护接口330输入请求。在本公开的实施例中,维护接口330将与检查器125一起工作,以确定是否可以在无需系统停机的情况下允许维护SAS卡的请求。
图4示出了根据本公开的一个实施例的维护存储系统的组件的方法400的流程图。例如,方法400可以由如图1或图3所示的检查器125来执行。应当理解的是,方法400还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
在410,检查器125可以获取表示存储系统120的拓扑的依赖图。检查器125可以从图3所示的依赖图模块316获取该依赖图。依赖图模块316可以将来自拓扑模块314的整个存储拓扑映射成有向依赖图,以供检查器125使用。
图5示出了存储系统的拓扑500的一个示例。如图5所示,拓扑500的上游从中央处理器510开始,向下进行到根联合体520。根联合体520指的是连接中央处理器510和外部设备系统的中枢模块。拓扑500从根联合体520向下进行到快速外围部件互连(PCIe)开关530,然后进行到主机总线适配器(HBA)1 540-1、HBA 2 540-2、HBA 3 540-3。拓扑500从HBA 2540-2向下进行到扩展器1 550-1,并且从HBA 3 540-3向下进行到扩展器4 550-4。扩展器1550-1与扩展器3550-3互连。扩展器4 550-4与扩展器2 550-2互连。最后,拓扑500从扩展器向下进行到诸如盘之类的端点设备。例如,拓扑500从扩展器1 550-1和扩展器2 550-2向下进行到第一组盘,该第一组盘包括盘1 560-1、盘2 560-2、盘N 560-3等。拓扑500从扩展器3550-3和扩展器4 550-4向下进行到第二组盘,该第二组盘包括盘1 560-4、盘2 560-5、盘M560-6等。盘N和盘M中的字母N和M表示每组盘中的盘数目,并且可以是任意正整数。
图6示出了表示图5所示的拓扑500的依赖图600。依赖图600是基于存储系统的拓扑500构建的。依赖图600包括节点和节点之间的有向边。在图6中,用圆点来表示节点,并且用带箭头的线来表示有向边。依赖图600中的节点与存储系统120的组件121对应。例如,组件121可以是图5所示的那些组件。图6中的节点17代表盘,而节点7和8对应该盘所附接的扩展器。只要节点7和8中的至少一个扩展器在线,节点17所对应的盘就可以良好工作。使用有向边来表示两个节点之间的依赖关系。依赖图600的每条有向边从具有依赖关系的后继节点指向前驱节点。例如,节点7可以被称为节点17的前驱节点,而节点17是节点7的后继节点。检查器125可以使用依赖图600来检查是否允许非破坏性维护。
返回到图4,在420,响应于要维护存储系统的目标组件,检查器125从依赖图600中确定与目标组件对应的目标节点。当用户110请求维护接口330更换目标组件121时,维护接口330首先向检查器125通知要维护的目标组件121。然后,检查器125可以确定依赖图600中与目标组件121对应的节点,作为目标节点。
在430,检查器125从与目标节点相关联的信息中确定目标组件121的类型。依赖图600中的节点可以包括至少两个信息:组件类型和路径计数。组件类型信息指示该节点所对应的组件是路由器(例如PCIe开关、HBA或扩展器)还是端点设备(例如盘)。路径计数信息可以指示从该节点到根节点的路径数目。例如,如图6所示,节点1是根节点,其是所有其它节点的前驱节点。节点5、节点7和节点17的路径计数分别为1、1和2。
在440,检查器125还可以基于目标组件121的类型和目标节点的依赖关系中的后继关系,来管理目标组件121的维护。如将在下面详细讨论的,本公开的实施例将在实际执行组件维护之前,首先确定是否允许非破坏性维护。
图7A和图7B示出了根据本公开的一个实施例的管理目标组件的维护的方法700的流程图。例如,方法700可以由如图1或图3所示的检查器125来执行。应当理解的是,方法700还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。方法700大体上包括四个过程:拓扑检查过程740、RAID检查过程750、数据检查过程760和备用系统检查过程770,其中图7A示出了拓扑检查过程740,并且图7B示出了另外三个过程。
图7A所示的拓扑检查过程740的算法和逻辑可以被描述如下。假设所确定的要维护的目标节点为依赖图中的节点X(下面将被称为目标节点X)。在702,根据与目标节点X相关联的组件类型信息,检查器125确定目标节点X所对应的目标组件是盘还是路由器。如果目标节点X所对应的目标组件是盘(即为端点设备),由于目标节点X不具有后继节点,所以它不会影响其它节点。然而,如果目标节点X被移除,它可能会破坏当前运行的RAID。因此,需要进入RAID检查过程750。即,方法700将进行到724,这将在下面更详细地描述。
如果在702确定目标节点X所对应的目标组件不是盘、而是路由器,方法700进行到704以确定目标节点X是否具有后继节点。如果确定目标节点X不具有后继节点,这意味着目标节点X的移除不会影响其它节点。方法700进行到722,以允许非破坏性维护(即,在存储系统120正常操作的情况下维护目标组件)。以这种方式,本公开的实施例可以支持在无需系统停机的情况下执行组件维护。
如果目标节点X具有后继节点,所有受影响的盘节点应该通过RAID检查过程750进行检查。在一些实施例中,如果确定目标节点X具有后继节点,检查器125确定目标节点X是否是后继节点的唯一前驱节点。这里的“唯一前驱节点”是指:从该后继节点到根节点的路径必须经过目标节点X。例如,受影响的盘节点是其路径计数为1(非多路径)并且目标节点X在其路径上的那些节点。如果确定目标节点X是后继节点的唯一前驱节点,检查器125可以确定目标节点X的所有后继节点所对应的组件是否包括盘。这里,“目标节点X的所有后继节点”是指目标节点X的后继节点以及依赖于该后继节点的节点。以这种方式,检查器125可以收集所有受影响的盘,以便稍后使这些盘通过RAID检查过程750进行检查。
作为一个示例,可以使用宽度优先搜索(BFS)算法来收集所有受影响的盘。如果在704确定目标节点X具有后继节点,方法700进行到706,目标节点X的所有一级后继节点(紧邻后继节点)将被放入队列Q中。例如,队列Q可以是先进先出(FIFO)队列。在708,检查器125确定队列Q是否为空。如果队列Q不为空,在710,使队列Q中的节点Y从队列Q出列。在712,检查器125检查节点Y的路径计数是否大于1(是否是多路径的)。如果节点Y的路径计数大于1,这说明目标节点X的移除不会影响节点Y,则方法700返回到708。如果节点Y的路径计数未大于1,在714确定节点Y所对应的组件是否为盘。如果是,在718将节点Y添加列表M,并且然后,方法700返回到708。列表M被用来存储所有受影响的盘。如果节点Y所对应的组件不是盘,在716,将节点Y的所有一级后继节点放入队列Q中。然后,方法700返回到708。以这种方式,检查器125可以遍历直接或间接地依赖于目标节点X的所有后继节点,从而确定特定后继节点是否可以通过除了目标节点X之外的方式来路由,并且找出受影响的盘节点。
如果在708确定队列Q为空,则方法700进行到720,以确定列表M是否为空。如果列表M为空,则不存在受影响的盘,并且在722允许非破坏性维护。如果列表M不为空,那么将列表M传递给RAID检查过程750,以进行进一步处理。
下面将描述图7B所示的RAID检查过程750。如果在702确定目标节点X所对应的目标组件是盘,则方法700将进行到724。检查器125可以使用存储系统120的RAID映射和状态信息,以确定与盘有关的冗余独立盘阵列(RAID)在盘停止工作的情况下是否能够正常操作。如果确定RAID在盘停止工作的情况下能够正常操作,在722允许在存储系统120正常操作的情况下维护目标组件。
如果在720确定列表M不为空,那么方法700也将进行到724。由拓扑检查过程740提供的盘列表M可以被映射到RAID组,并且检查每个相关联的RAID是否可以容忍相关盘故障。
图8示出了RAID信息的一个示例。图8示出了两个RAID组:包含8个盘的DG1 810和包含12个盘的DG2 820。这两个RAID组都是RAID 6类型的,即,RAID组最多可以容忍两个盘同时故障。在图8中具有虚线框的盘是受影响的盘。由于DG1 810仅有一个盘(盘4)故障,所以DG1 810可以在盘4暂时离线的情况下正常操作。相比之下,DG2 820中存在三个故障盘(盘10、盘15和盘17),这超过了DG2 820的容错能力。因此,DG2 820将不能正常操作。在这种情况下,检查器125可以使受影响的RAID进入数据检查过程760。
下面将描述图7B所示的数据检查过程760。如果RAID在盘停止工作的情况下不能够正常操作,在726,检查器125可以确定RAID所存储的数据是否为活跃数据。如果不是,在722,允许非破坏性维护。如果RAID所存储的数据是活跃数据,方法700将进入备用系统检查过程770。
术语“活跃数据”是指数据不能离线。活跃数据和非活跃数据分别被存储在不同的数据层中。检查器125可以利用数据层的类型来确定数据是否是活跃数据。数据层类型可以指示从用户角度看的热数据水平。热数据和冷数据通常分布在不同的盘中。例如,数据域系统可以具有活跃层、存档层、缓存层和云层。缓存层使用固态驱动器(SSD)盘,存档层使用串行高级技术附件(SATA)盘,而活跃层使用存取速率快的SAS接口类型的盘。存档层和云层的数据可以暂时离线,而不会影响业务。如果用户允许暂时性能劣化,那么缓存层也可以离线。而处于活跃层的数据的离线将会导致无法正常使用存储系统120。检查器125可以利用盘上的数据的层信息来确定针对该盘是否允许非破坏性维护。
图9示出了图8所示的RAID的数据层信息的一个示例。如图9所示,RAID DG1 810处于活跃层910,而RAID DG2 820处于存档层920。由于存档层920中的数据不是活跃数据,所以当RAID检查过程750仅报告DG2 820将不能够正常操作时(DG1 810可以容忍1个盘的离线),数据检查过程760将返回“允许非破坏性维护”。当RAID检查过程750报告DG1 810和DG2820两者都将不能够正常操作时,由于DG1 810处于活跃层910,所以将进入备用系统检查过程770。
下面将描述图7B所示的备用系统检查过程770。如果备用系统检查过程770获得来自数据检查过程760的故障的活跃层,检查器125将检查存储系统120是否是高可用性系统。换言之,如果RAID所存储的数据是活跃数据,检查器125可以确定备用存储系统是否可用。检查器125可以保持高可用性健康信息,并且使用该信息来检查是否允许高可用性故障切换。作为一个示例,在728,检查器125可以确定是否存在备用存储系统。如果不存在(这意味着存储系统120不是高可用性系统),在732,检查器125可以做出不允许非破坏性维护的决定。如果存在备用存储系统,在730,检查器125可以确定备用存储系统是否处于正常模式(是否健康)。如果不是,在732,检查器125可以做出不允许非破坏性维护的决定。如果备用存储系统处于正常模式,则在722允许非破坏性维护。
到目前为止,检查器125可以基于拓扑信息、RAID信息、数据层信息和高可用性状态中的一个或多个,来做出最终的决定。因此,检查器125可以基于多维度信息来做出是否允许非破坏性维护的决定,这改善了本公开实施例的有效性。
检查器125可以将是否允许非破坏性维护的决定返回给维护接口330。如果检查器125确定不允许非破坏性维护,那么维护接口330将在使存储系统120停机的情况下维护目标组件。如果检查器125使用了备用系统检查过程770并且确定允许非破坏性维护,那么维护接口330将使用备用存储系统来执行组件维护。在组件维护时,由备用存储系统(其备用节点)接管存储系统120的运行业务,但在用户110看来,仍然可以正常使用存储系统120。
如前所述,现有方法所支持的这种系统级高可用性故障切换具有严重的计算成本和资源成本。在本公开的实施例中,通过在先的拓扑检查过程740、RAID检查过程750和数据检查过程760,尽可能用这些轻量级的检查逻辑来避免高可用性故障切换(备用系统检查过程770)。仅将高可用性故障切换用作最后的手段,从而大大降低了成本。
图10示出了根据本公开的一个实施例的用于维护存储系统的组件的装置1000的框图。在一些实施例中,装置1000例如可以实施在检查器125处。备选地,在一些实施中,装置1000可以直接被实现为检查器125本身,也即,检查器125可以由装置1000实现。
如图10所示,装置1000可以包括获取模块1010,其被配置为获取表示存储系统的拓扑的依赖图,依赖图包括节点和节点之间的有向边,节点与存储系统的组件对应,并且每条有向边从具有依赖关系的后继节点指向前驱节点。装置1000还可以包括第一确定模块1020,其被配置为响应于要维护存储系统的目标组件,从依赖图中确定与目标组件对应的目标节点。装置1000还可以包括第二确定模块1030,其被配置为从与目标节点相关联的信息中确定目标组件的类型。此外,装置1000还可以包括管理模块1040,其被配置为基于目标组件的类型和目标节点的依赖关系中的后继关系,来管理目标组件的维护。
在一些实施中,管理模块1040可以包括:第一确定子模块,其被配置为响应于确定目标组件是路由器,确定目标节点是否具有后继节点;以及第一允许子模块,其被配置为响应于确定目标节点不具有后继节点,允许在存储系统正常操作的情况下维护目标组件。
在一些实施中,管理模块1040可以包括:第二确定子模块,其被配置为响应于确定目标组件是盘,确定与盘有关的冗余独立盘阵列在盘停止工作的情况下是否能够正常操作;以及第二允许子模块,其被配置为响应于确定冗余独立盘阵列在盘停止工作的情况下能够正常操作,允许在存储系统正常操作的情况下维护目标组件。
在一些实施中,管理模块1040可以包括:第三确定子模块,其被配置为响应于确定冗余独立盘阵列在盘停止工作的情况下不能够正常操作,确定冗余独立盘阵列所存储的数据是否为活跃数据;以及第三允许子模块,其被配置为响应于确定数据不是活跃数据,允许在存储系统正常操作的情况下维护目标组件。
在一些实施中,管理模块1040可以包括:第四确定子模块,其被配置为响应于确定数据是活跃数据,确定备用存储系统是否可用;第四允许子模块,其被配置为响应于确定备用存储系统可用,允许在存储系统正常操作的情况下维护目标组件;以及第一维护子模块,其被配置为响应于确定备用存储系统不可用,在使存储系统停机的情况下维护目标组件。
在一些实施中,管理模块1040可以包括:第五确定子模块,其被配置为响应于确定目标节点具有后继节点,确定目标节点是否是后继节点的唯一前驱节点;第六确定子模块,其被配置为响应于确定目标节点是后继节点的唯一前驱节点,确定目标节点的所有后继节点所对应的组件是否包括盘;第七确定子模块,其被配置为响应于确定组件包括盘,确定与盘有关的冗余独立盘阵列在盘停止工作的情况下是否能够正常操作;以及第五允许子模块,其被配置为响应于确定冗余独立盘阵列在盘停止工作的情况下能够正常操作,允许在存储系统正常操作的情况下维护目标组件。
在一些实施中,管理模块1040可以包括:第八确定子模块,其被配置为响应于确定目标节点具有后继节点,确定目标节点是否是后继节点的唯一前驱节点;以及第六允许子模块,其被配置为响应于确定后继节点还具有其他前驱节点,或者响应于确定目标节点是后继节点的唯一前驱节点、但目标节点的所有后继节点所对应的组件是盘以外的其他设备,允许在存储系统正常操作的情况下维护目标组件。
在一些实施中,组件包括硬件、软件或固件。
在一些实施中,装置1000还可以包括:检测模块,其被配置为检测存储系统的热插拔事件;更新模块,其被配置为响应于检测到热插拔事件发生,更新存储系统的拓扑;以及生成模块,其被配置为基于更新后的拓扑,生成依赖图。
在一些实施中,第四允许子模块可以包括接管单元,其被配置为由备用存储系统接管存储系统的操作。
出于清楚的目的,在图10中没有示出装置1000的某些可选模块。然而,应当理解,上文参考图1-9所描述的各个特征同样适用于装置1000。而且,装置1000的各个模块可以是硬件模块,也可以是软件模块。例如,在某些实施例中,装置1000可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,装置1000可以部分或者全部基于硬件来实现,例如被实现为集成电路(IC)、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA)等。本公开的范围在此方面不受限制。
图11示出了可以用来实施本公开的实施例的示例设备1100的示意性框图。如图所示,设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序指令或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法400和700,可由处理单元1101执行。例如,在一些实施例中,方法400和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序被加载到RAM1103并由CPU 1101执行时,可以执行上文描述的方法400和700的一个或多个框。备选地,CPU 1101也可以通过任何其他适当的方式(例如,借助于固件)而被配置为执行上文描述的方法400和700。
综上,本公开提供了一种非破坏性的维护方法,其可以支持在无需系统停机的情况下执行组件维护。该方法基于包括拓扑、RAID、数据存储层和高可用性信息等的多维度系统信息,提高了算法的有效性。这样的方法可以适用于包括硬件、软件和固件的各种种类的组件的非停机维护,并且运行成本低。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作动作,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (21)

1.一种维护存储系统的组件的方法,包括:
获取表示存储系统的拓扑的依赖图,所述依赖图包括节点和所述节点之间的有向边,所述节点与所述存储系统的组件对应,并且每条所述有向边从具有依赖关系的后继节点指向前驱节点;
响应于要维护所述存储系统的目标组件,从所述依赖图中确定与所述目标组件对应的目标节点;
从与所述目标节点相关联的信息中确定所述目标组件的类型;以及
基于所述目标组件的类型和所述目标节点的依赖关系中的后继关系,来管理所述目标组件的维护。
2.根据权利要求1所述的方法,其中管理所述目标组件的维护包括:
响应于确定所述目标组件是路由器,确定所述目标节点是否具有后继节点;以及
响应于确定所述目标节点不具有后继节点,允许在所述存储系统正常操作的情况下维护所述目标组件。
3.根据权利要求1所述的方法,其中管理所述目标组件的维护包括:
响应于确定所述目标组件是盘,确定与所述盘有关的冗余独立盘阵列在所述盘停止工作的情况下是否能够正常操作;以及
响应于确定所述冗余独立盘阵列在所述盘停止工作的情况下能够正常操作,允许在所述存储系统正常操作的情况下维护所述目标组件。
4.根据权利要求3所述的方法,其中管理所述目标组件的维护还包括:
响应于确定所述冗余独立盘阵列在所述盘停止工作的情况下不能够正常操作,确定所述冗余独立盘阵列所存储的数据是否为活跃数据;以及
响应于确定所述数据不是活跃数据,允许在所述存储系统正常操作的情况下维护所述目标组件。
5.根据权利要求4所述的方法,其中管理所述目标组件的维护还包括:
响应于确定所述数据是活跃数据,确定备用存储系统是否可用;
响应于确定所述备用存储系统可用,允许在所述存储系统正常操作的情况下维护所述目标组件;以及
响应于确定所述备用存储系统不可用,在使所述存储系统停机的情况下维护所述目标组件。
6.根据权利要求2所述的方法,其中管理所述目标组件的维护还包括:
响应于确定所述目标节点具有后继节点,确定所述目标节点是否是所述后继节点的唯一前驱节点;
响应于确定所述目标节点是所述后继节点的唯一前驱节点,确定所述目标节点的所有后继节点所对应的组件是否包括盘;
响应于确定所述组件包括盘,确定与所述盘有关的冗余独立盘阵列在所述盘停止工作的情况下是否能够正常操作;以及
响应于确定所述冗余独立盘阵列在所述盘停止工作的情况下能够正常操作,允许在所述存储系统正常操作的情况下维护所述目标组件。
7.根据权利要求2所述的方法,其中管理所述目标组件的维护还包括:
响应于确定所述目标节点具有后继节点,确定所述目标节点是否是所述后继节点的唯一前驱节点;以及
响应于确定所述后继节点还具有其他前驱节点,或者响应于确定所述目标节点是所述后继节点的唯一前驱节点、但所述目标节点的所有后继节点所对应的组件是盘以外的其他设备,允许在所述存储系统正常操作的情况下维护所述目标组件。
8.根据权利要求1所述的方法,其中所述组件包括硬件、软件或固件。
9.根据权利要求1所述的方法,还包括:
检测所述存储系统的热插拔事件;
响应于检测到所述热插拔事件发生,更新所述存储系统的所述拓扑;以及
基于更新后的所述拓扑,生成所述依赖图。
10.根据权利要求5所述的方法,其中响应于确定所述备用存储系统可用,允许在所述存储系统正常操作的情况下维护所述目标组件包括:
由所述备用存储系统接管所述存储系统的操作。
11.一种电子设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述电子设备执行以下动作:
获取表示存储系统的拓扑的依赖图,所述依赖图包括节点和所述节点之间的有向边,所述节点与所述存储系统的组件对应,并且每条所述有向边从具有依赖关系的后继节点指向前驱节点;
响应于要维护所述存储系统的目标组件,从所述依赖图中确定与所述目标组件对应的目标节点;
从与所述目标节点相关联的信息中确定所述目标组件的类型;以及
基于所述目标组件的类型和所述目标节点的依赖关系中的后继关系,来管理所述目标组件的维护。
12.根据权利要求11所述的电子设备,其中管理所述目标组件的维护包括:
响应于确定所述目标组件是路由器,确定所述目标节点是否具有后继节点;以及
响应于确定所述目标节点不具有后继节点,允许在所述存储系统正常操作的情况下维护所述目标组件。
13.根据权利要求11所述的电子设备,其中管理所述目标组件的维护包括:
响应于确定所述目标组件是盘,确定与所述盘有关的冗余独立盘阵列在所述盘停止工作的情况下是否能够正常操作;以及
响应于确定所述冗余独立盘阵列在所述盘停止工作的情况下能够正常操作,允许在所述存储系统正常操作的情况下维护所述目标组件。
14.根据权利要求13所述的电子设备,其中管理所述目标组件的维护还包括:
响应于确定所述冗余独立盘阵列在所述盘停止工作的情况下不能够正常操作,确定所述冗余独立盘阵列所存储的数据是否为活跃数据;以及
响应于确定所述数据不是活跃数据,允许在所述存储系统正常操作的情况下维护所述目标组件。
15.根据权利要求14所述的电子设备,其中管理所述目标组件的维护还包括:
响应于确定所述数据是活跃数据,确定备用存储系统是否可用;
响应于确定所述备用存储系统可用,允许在所述存储系统正常操作的情况下维护所述目标组件;以及
响应于确定所述备用存储系统不可用,在使所述存储系统停机的情况下维护所述目标组件。
16.根据权利要求12所述的电子设备,其中管理所述目标组件的维护还包括:
响应于确定所述目标节点具有后继节点,确定所述目标节点是否是所述后继节点的唯一前驱节点;
响应于确定所述目标节点是所述后继节点的唯一前驱节点,确定所述目标节点的所有后继节点所对应的组件是否包括盘;
响应于确定所述组件包括盘,确定与所述盘有关的冗余独立盘阵列在所述盘停止工作的情况下是否能够正常操作;以及
响应于确定所述冗余独立盘阵列在所述盘停止工作的情况下能够正常操作,允许在所述存储系统正常操作的情况下维护所述目标组件。
17.根据权利要求12所述的电子设备,其中管理所述目标组件的维护还包括:
响应于确定所述目标节点具有后继节点,确定所述目标节点是否是所述后继节点的唯一前驱节点;以及
响应于确定所述后继节点还具有其他前驱节点,或者响应于确定所述目标节点是所述后继节点的唯一前驱节点、但所述目标节点的所有后继节点所对应的组件是盘以外的其他设备,允许在所述存储系统正常操作的情况下维护所述目标组件。
18.根据权利要求11所述的电子设备,其中所述组件包括硬件、软件或固件。
19.根据权利要求11所述的电子设备,所述指令当由所述至少一个处理单元执行时,还使得所述电子设备执行以下动作::
检测所述存储系统的热插拔事件;
响应于检测到所述热插拔事件发生,更新所述存储系统的所述拓扑;以及
基于更新后的所述拓扑,生成所述依赖图。
20.根据权利要求15所述的电子设备,其中响应于确定所述备用存储系统可用,允许在所述存储系统正常操作的情况下维护所述目标组件包括:
由所述备用存储系统接管所述存储系统的操作。
21.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至10中任一项所述的方法的步骤。
CN201810621204.5A 2018-06-15 2018-06-15 维护存储系统的组件的方法、电子设备和计算机可读介质 Active CN110609699B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810621204.5A CN110609699B (zh) 2018-06-15 2018-06-15 维护存储系统的组件的方法、电子设备和计算机可读介质
US16/146,879 US10853191B2 (en) 2018-06-15 2018-09-28 Method, electronic device and computer program product for maintenance of component in storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810621204.5A CN110609699B (zh) 2018-06-15 2018-06-15 维护存储系统的组件的方法、电子设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN110609699A true CN110609699A (zh) 2019-12-24
CN110609699B CN110609699B (zh) 2023-10-03

Family

ID=68840726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810621204.5A Active CN110609699B (zh) 2018-06-15 2018-06-15 维护存储系统的组件的方法、电子设备和计算机可读介质

Country Status (2)

Country Link
US (1) US10853191B2 (zh)
CN (1) CN110609699B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580844A (zh) * 2020-05-09 2020-08-25 上海航天电子通讯设备研究所 支持在轨动态更新的软硬件协同的应用程序维护方法
CN113407226A (zh) * 2021-06-29 2021-09-17 中电金信软件有限公司 组件信息的管理方法、装置和电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20205385A1 (en) * 2020-04-14 2021-10-15 Elisa Oyj Network monitoring
US11836645B2 (en) * 2020-06-15 2023-12-05 Nvidia Corporation Generating augmented sensor data for testing operational capability in deployed environments
CN112732669B (zh) * 2020-12-31 2024-03-19 北京达佳互联信息技术有限公司 一种数据处理方法和装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489078A (zh) * 2002-09-11 2004-04-14 �Ҵ���˾ 用于管理在分布式系统中的附属关系的方法和装置
CN1682196A (zh) * 2002-09-11 2005-10-12 国际商业器公司 分布式系统中的识别根原因和确定问题的方法和设备
CN101681342A (zh) * 2007-06-15 2010-03-24 微软公司 廉价驱动器的冗余堆(rpid)
CN102067130A (zh) * 2008-04-14 2011-05-18 西门子产品生命周期管理软件公司 用于修改实体模型中的几何关系的系统和方法
CN102449623A (zh) * 2009-03-31 2012-05-09 东京毅力科创株式会社 用于检测工具性能降级和失配的方法和系统
CN102959508A (zh) * 2010-06-25 2013-03-06 微软公司 更新考虑服务模型约束的节点
CN104639406A (zh) * 2013-11-07 2015-05-20 国际商业机器公司 基于动态使用关系建模计算机网络拓扑
US20160105330A1 (en) * 2014-10-09 2016-04-14 Splunk Inc. Monitoring service-level performance using a key performance indicator (kpi) correlation search
US20170048111A1 (en) * 2015-08-12 2017-02-16 At&T Intellectual Property I, L.P. Network management for content broadcast
CN106598637A (zh) * 2015-10-15 2017-04-26 联想企业解决方案(新加坡)有限公司 节点内的部件的选择性加载以加速维护动作

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7950007B2 (en) * 2006-06-15 2011-05-24 International Business Machines Corporation Method and apparatus for policy-based change management in a service delivery environment
US7757116B2 (en) * 2007-04-04 2010-07-13 Vision Solutions, Inc. Method and system for coordinated multiple cluster failover
US20090144720A1 (en) * 2007-11-30 2009-06-04 Sun Microsystems, Inc. Cluster software upgrades
US10333820B1 (en) * 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
US20160170841A1 (en) * 2014-12-12 2016-06-16 Netapp, Inc. Non-Disruptive Online Storage Device Firmware Updating
US9935823B1 (en) * 2015-05-28 2018-04-03 Servicenow, Inc. Change to availability mapping
US10387287B1 (en) * 2016-12-22 2019-08-20 EMC IP Holding Company LLC Techniques for rating system health

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489078A (zh) * 2002-09-11 2004-04-14 �Ҵ���˾ 用于管理在分布式系统中的附属关系的方法和装置
CN1682196A (zh) * 2002-09-11 2005-10-12 国际商业器公司 分布式系统中的识别根原因和确定问题的方法和设备
CN101681342A (zh) * 2007-06-15 2010-03-24 微软公司 廉价驱动器的冗余堆(rpid)
CN102067130A (zh) * 2008-04-14 2011-05-18 西门子产品生命周期管理软件公司 用于修改实体模型中的几何关系的系统和方法
CN102449623A (zh) * 2009-03-31 2012-05-09 东京毅力科创株式会社 用于检测工具性能降级和失配的方法和系统
CN102959508A (zh) * 2010-06-25 2013-03-06 微软公司 更新考虑服务模型约束的节点
CN104639406A (zh) * 2013-11-07 2015-05-20 国际商业机器公司 基于动态使用关系建模计算机网络拓扑
US20160105330A1 (en) * 2014-10-09 2016-04-14 Splunk Inc. Monitoring service-level performance using a key performance indicator (kpi) correlation search
US20170048111A1 (en) * 2015-08-12 2017-02-16 At&T Intellectual Property I, L.P. Network management for content broadcast
CN106598637A (zh) * 2015-10-15 2017-04-26 联想企业解决方案(新加坡)有限公司 节点内的部件的选择性加载以加速维护动作

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MA, X 等: "Version-consistent dynamic reconfiguration of component-based distributed systems", 《PROCEEDINGS OF THE 19TH ACM SIGSOFT SYMPOSIUM AND THE 13TH EUROPEAN CONFERENCE ON FOUNDATIONS OF SOFTWARE ENGINEERING》 *
MA, X 等: "Version-consistent dynamic reconfiguration of component-based distributed systems", 《PROCEEDINGS OF THE 19TH ACM SIGSOFT SYMPOSIUM AND THE 13TH EUROPEAN CONFERENCE ON FOUNDATIONS OF SOFTWARE ENGINEERING》, 30 September 2011 (2011-09-30), pages 245 - 255 *
梁晟 等: "基于节点属性的启发式网络拓扑布局算法", 《计算机工程与应用》 *
梁晟 等: "基于节点属性的启发式网络拓扑布局算法", 《计算机工程与应用》, vol. 52, no. 20, 26 October 2016 (2016-10-26), pages 122 - 126 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580844A (zh) * 2020-05-09 2020-08-25 上海航天电子通讯设备研究所 支持在轨动态更新的软硬件协同的应用程序维护方法
CN111580844B (zh) * 2020-05-09 2024-02-02 上海航天电子通讯设备研究所 支持在轨动态更新的软硬件协同的应用程序维护方法
CN113407226A (zh) * 2021-06-29 2021-09-17 中电金信软件有限公司 组件信息的管理方法、装置和电子设备
CN113407226B (zh) * 2021-06-29 2022-08-19 中电金信软件有限公司 组件信息的管理方法、装置和电子设备

Also Published As

Publication number Publication date
US10853191B2 (en) 2020-12-01
CN110609699B (zh) 2023-10-03
US20190384508A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
CN110609699B (zh) 维护存储系统的组件的方法、电子设备和计算机可读介质
US8738961B2 (en) High-availability computer cluster with failover support based on a resource map
CN107431643B (zh) 用于监测存储集群元件的方法和装置
US8839032B2 (en) Managing errors in a data processing system
US9734025B2 (en) Automatic client side seamless failover
US20130201992A1 (en) Information processing system and information processing apparatus
US20150347124A1 (en) Firmware update apparatus and storage control apparatus
JP2013535745A (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US10970178B2 (en) Generating a health condition message on a health condition detected at a server to send to a host system accessing the server
US10942835B2 (en) Processing a health condition message on a health condition to determine whether to perform a swap operation
US10732873B1 (en) Timeout mode for storage devices
JPWO2009081737A1 (ja) 縮退構成設計システムおよび方法
US11025518B2 (en) Communicating health status when a management console is unavailable
CN112748856A (zh) 管理盘的方法、电子设备和计算机程序产品
US7865766B2 (en) Providing increased availability of I/O drawers during concurrent I/O hub repair
US7673082B2 (en) Method and system to determine device criticality for hot-plugging in computer configurations
US8812916B2 (en) Failure data management for a distributed computer system
US20130007512A1 (en) Managing storage providers in a clustered appliance environment
US8230261B2 (en) Field replaceable unit acquittal policy
US20200026596A1 (en) I/o recovery and diagnostics
US20200026631A1 (en) Dynamic i/o monitoring and tuning
US10452445B2 (en) Dynamically configurable storage clusters
US20170046718A1 (en) Warrantied component cost optimization

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