CN109997105A - 用于动态管理对分布式存储区域网络环境中的逻辑单元号的访问的方法及其设备 - Google Patents

用于动态管理对分布式存储区域网络环境中的逻辑单元号的访问的方法及其设备 Download PDF

Info

Publication number
CN109997105A
CN109997105A CN201780072093.0A CN201780072093A CN109997105A CN 109997105 A CN109997105 A CN 109997105A CN 201780072093 A CN201780072093 A CN 201780072093A CN 109997105 A CN109997105 A CN 109997105A
Authority
CN
China
Prior art keywords
node
lun
equipment
cluster
nodes
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
CN201780072093.0A
Other languages
English (en)
Other versions
CN109997105B (zh
Inventor
S·波普里
S·马雷迪亚
G·斯里尼瓦斯
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.)
NetApp Inc
Original Assignee
NetApp Inc
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 NetApp Inc filed Critical NetApp Inc
Publication of CN109997105A publication Critical patent/CN109997105A/zh
Application granted granted Critical
Publication of CN109997105B publication Critical patent/CN109997105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

动态调整分布式存储区域网络环境中的逻辑单元号故障域的方法、非暂时性计算机可读介质和设备包括:确定集群的多个节点中的至少一个节点何时被从该集群的该多个节点中的其他节点切断。标识由该多个节点中的每个节点拥有的任意逻辑单元号(LUN)。将由被确定为被切断的、该多个节点中的该至少一个节点拥有的所标识的LUN中的任意LUN的故障域从操作的分布式任务集合模式(DTM)调整到操作的单个任务集合模式(STM)。该调整在没有从DTM操作到STM操作的、到与该集群交互的一个或多个主机计算设备中的任意主机计算设备的任意通信的情况下进行。

Description

用于动态管理对分布式存储区域网络环境中的逻辑单元号的 访问的方法及其设备
本申请要求2016年11月22日提交的美国专利申请序列号15/358,582的权益,其全部内容通过引用并入本文。
技术领域
该技术一般涉及管理分布式存储区域网络(SAN)环境的方法和设备,更具体地,涉及动态管理对分布式存储区域网络中逻辑单元号的访问的方法、非暂态计算机可读介质和设备,该分布式存储区域网络对主机透明且无中断。
背景技术
分布式存储区域网络(SAN)环境具有形成集群的多个节点。该集群向主机呈现存储的单个逻辑视图,但实际上包括多个逻辑单元号(LUN)。结果,对多个节点之一所拥有的多个LUN中的特定一个LUN的访问对于主机是透明的。然而,在每个LUN内部物理连接到集群中的多个节点之一并由其拥有。因此,必须将对这些LUN中的一个LUN的任意介质访问操作重定向到拥有LUN的集群中的节点。因此,为了促进该重定向,关于LUN中的每一个的诸如管理状态和预留状态的某些元数据信息被分发并缓存在可以到达LUN的集群中的多个节点中的每个节点上。必须在集群中的所有节点上存在分布式元数据信息的单个且一致的视图,并且需要在集群中的所有参与节点上更新发生在分布式元数据信息上的任意更改。
该分布式SAN环境中的集群连接问题可能导致失去与集群的其余部分连接的节点变得无响应。例如集群节点之间可能存在导致分区的网络问题。分区是当只有节点的子集可以相互通信时在集群中发生的条件。分区内的节点可以保持彼此之间的连接性,但是它们从不同分区的节点不可到达。分布式SAN环境中的此分区也称为裂脑(“split brain”)场景。遗憾的是,现有的方法和系统无法以对访问LUN的主机透明且无中断的方式来动态地管理对LUN的访问。
附图说明
图1是具有集群的存储区域网络(SAN)环境的示例的框图,该集群包括多个节点,这些节点被配置为动态地管理对SAN环境中的逻辑单元号的访问,该逻辑单元号对于主机计算设备中的任意一个是透明且无中断的;
图2是用于图1中所示的多个节点之一的存储节点控制器设备的示例的框图;
图3是用于动态管理对分布式存储区域网络中的逻辑单元号的访问的方法的示例的流程图,该逻辑单元号对于主机计算设备中的任意一个是透明且无中断的。
图4是分区之前的集群的示例的功能框图;
图5是分区之后的集群的示例的功能框图;
图6是在基于逻辑单元号的所有权的标识动态调整到节点的路径的状态之后的集群的示例的功能框图;以及
图7是在基于分区的标识的动态调整之后到多个节点中的每个节点的路径的状态表的示例。
具体实施方式
在图1-2中示出了具有集群11的存储区域网络(SAN)环境10的示例,集群11包括多个节点19(1)-19(n),其被配置为以对主机计算设备16(1)-16(n)是透明且无中断的方式来动态管理对逻辑单元号(LUN)的访问。在该特定示例中,环境10包括集群11和主机计算设备16(1)-16(n),它们由一个或多个通信网络18耦合在一起,集群11具有存储节点控制器设备12(1)-12(n)和节点存储设备14(1)-14(n),其包括节点19(1)-19(n),尽管环境可以包括其他类型和/或数量的系统、设备、组件和/或其他配置中的其他元素。该技术提供了许多优点,包括提供方法、非暂态计算机可读介质、以及计算设备,计算设备动态管理对SAN环境中的逻辑单元号的访问,该逻辑单元号对主机计算设备透明且无中断。
更具体地参考图1-2,在该示例中,集群11包括多个节点19(1)-19(n),并且向主计算设备16(1)-16(n)中的一个或多个呈现存储装置的单个逻辑视图,尽管集群可以包括其他类型和/或数量的系统、设备、组件和/或其他配置中的其他元件。
多个节点19(1)-19(n)中的每一个包括存储节点控制器设备12(1)-12(n)中的一个以及节点存储设备14(1)-14(n)中的对应一个节点存储设备,尽管节点中的每一个可以包括其他类型和/或数量的系统、设备、组件和/或其他配置中的其他元件。在该特定示例中,存储节点控制器设备12(1)-12(2)通过高可用性互连13(1)耦合在一起,并且存储节点控制器设备12(n-1)-12(n)通过高可用性互连13(2)耦合在一起,尽管存储节点控制器设备12(1)-12(n)中的一个或多个可以具有或不具有其他类型和/或数量的互连。另外,在该示例中,存储节点控制器设备12(1)-12(n)也各自通过后端集群互连15耦合在一起,但是在这些设备中的两个或更多个之间可以使用或不使用其他类型和/或数量的连接。
更具体地参考图2,示出了一个存储节点控制器计算设备12(1)的示例。在该示例中,除了另外通过本文的示例的方式示出和描述的之外,其他存储节点控制器计算设备12(2)-12(n)中的每一个具有与存储节点控制器计算设备12(1)相同的结构和操作。存储节点控制器计算设备12(1)-12(n)中的每一个可以包括其他类型和/或数量的系统、设备、组件和/或其他配置中的其他元件。存储节点控制器计算设备12(1)-12(n)中的每一个可以执行任意数量的功能,包括例如管理节点存储设备14(1)-14(n)上的存储操作,诸如管理对LUN的访问。存储节点控制器计算设备12(1)包括一个或多个处理器20、存储器22和/或通信接口24,它们通过总线26或其他通信链路耦合在一起,尽管再次,存储节点控制器计算设备12(1)-12(n)或其他计算设备中的每一个可以包括其他类型和/或数量的系统、设备、组件和/或其他配置中的其他元件。
存储节点控制器计算设备12(1)的处理器20可以执行在存储节点控制器计算设备12(1)的存储器22中存储的编程指令,用于通过本文的实施例的方式示出和描述的操作和/或其他功能。存储节点控制器计算设备12(1)的处理器20可以包括一个或多个CPU或具有一个或多个处理核的通用处理器,例如尽管也可以使用其他类型的处理器。
存储节点控制器计算设备12(1)的存储器22存储用于本文描述和示出的本技术的一个或多个方面的这些编程指令,尽管编程指令中的一些或所有可以存储在别处。各种不同类型的存储器存储设备,诸如随机存取存储器(RAM)、只读存储器(ROM)、硬盘、固态驱动器、闪存、或由耦合到处理器的磁、光或其他读写系统读取和写入的其他计算机可读介质,可用于存储器。
因此,存储节点控制器计算设备12(1)的存储器22可以存储一个或多个应用,其可以包括计算机可执行指令,该计算机可执行指令当由存储节点控制器计算设备12(1)执行时,使得存储节点控制器计算设备12(1)执行动作,诸如包括例如动态管理对集群11中的LUN的访问的存储操作,并执行如下面参考图3-7所描述和说明的其他动作和操作。应用也可以实现为其他应用的模块或组件。此外,应用可以实现为操作系统扩展、模块、插件等。
更进一步地,应用可以在基于云的计算环境中操作。应用可以在虚拟机或虚拟服务器内执行或作为虚拟机或虚拟服务器执行,该虚拟机或虚拟服务器可以在基于云的计算环境中被管理。此外,应用、甚至存储节点控制器计算设备12(1)本身可以位于在基于云的计算环境中运行的虚拟服务器中,而不是绑定到一个或多个特定物理网络计算设备。此外,应用可以在存储节点控制器计算设备上执行的一个或多个虚拟机(VM)中运行。另外,在该技术的一个或多个实施例中,在存储节点控制器计算设备12(1)上运行的虚拟机可以由管理器管理或监督。
在该特定示例中,存储节点控制器计算设备12(1)的存储器22包括节点健康监视状态模块28、LUN标识模块30和LUN访问管理模块32,其各自包括存储的编程指令,用于执行如本文所示和所述的该技术的各方面,尽管存储器可以例如包括其他类型和/或数量的其他策略、模块、编程指令、数据库和/或应用。节点健康监视状态模块28包括存储的编程指令以监视到存储节点控制器计算设备12(1)-12(n)的连接的状态,尽管该模块可以以其他方式执行其他类型和/或数量的其他监视操作。LUN标识模块30包括存储的编程指令以标识节点存储设备14(1)-14(n)中的每一个所拥有的特定LUN,尽管该模块可以以其他方式执行其他类型和/或数量的其他标识操作。LUN访问管理模块32包括存储的编程指令,其用于动态地管理与关于和/或访问节点存储设备14(1)-14(n)中的LUN的信息有关的操作,尽管该模块可以以其他方式执行其他类型和/或数量的其他监测操作。
存储节点控制器计算设备12(1)的通信接口24在存储节点控制器计算设备12(1)和其他存储节点控制器设备12(2)-12(n)、节点存储设备14(1)-14(n)中的一个或多个、和/或主机计算设备16(1)-16(n)中的一个或多个之间可操作地耦合和通信,它们都通过一个或多个通信网络18和/或其他连接耦合在一起,但是也可以使用其他类型和/或数量的通信网络和/或与到其他设备和/或元件的其他类型和/或数量的连接和/或配置的其他连接。
仅作为示例,通信网络18可以包括局域网(LAN)或广域网(WAN),并且可以使用以太网和工业标准协议上的TCP/IP,尽管可以使用其他类型和/或数量的协议和/或通信网络。该示例中的通信网络18可以采用任意合适的接口机制和网络通信技术,包括例如任意合适形式的电信业务(例如语音、调制解调器等)、公共交换电话网(PSTN)、基于以太网的分组数据网络(PDN)、其组合等。通信网络18还可以包括直接连接(例如用于当图1中所示的、诸如存储节点控制器计算设备12(1)-12(n)、节点存储设备14(1)-14(n)、和/或主机计算设备16(1)-16(n)的设备在相同物理机器上作为虚拟实例操作)。
虽然在该示例中将存储节点控制器计算设备12(1)示出为包括单个设备,但是在其他示例中,存储节点控制器计算设备12(1)可以包括多个设备或刀片,每个设备或刀片具有一个或多个处理器(每个处理器具有一个或多个处理核),其实现该技术的一个或多个步骤。在这些示例中,设备中的一个或多个可以具有专用通信接口或存储器。替代地,设备中的一个或多个可以利用存储节点控制器计算设备中包括的一个或多个其他设备的存储器、通信接口或其他硬件或软件组件。
另外,在其他示例中一起包括存储节点控制器计算设备12(1)的设备中的一个或多个可以是独立设备或者与一个或多个其他设备或装置集成,诸如例如节点存储设备14(1)-14(n)之一。此外,这些示例中的存储节点控制器计算设备12(1)的设备中的一个或多个可以在相同或不同的通信网络中,该相同或不同的通信网络例如包括一个或多个公共、私有或云网络。
节点存储设备14(1)-14(n)中的每一个可以包括一个或多个处理器、存储器和通信接口,它们通过总线或其他通信链路耦合在一起,尽管可以使用其他数量和/或类型的存储设备。该示例中的节点存储设备14(1)-14(n)可以处理经由通过通信网络18和/或其他连接上的存储节点控制器计算设备12(1)-12(n)中的一个或多个来从主机计算设备16(1)-16(n)接收的存储操作请求。节点存储设备14(1)-14(n)可以是硬件或软件,或者可以表示池中具有多个服务器的系统,其可以包括内部或外部网络。虽然节点存储设备14(1)-14(n)被示为单个设备,但是一个或多个可以包括两个或更多个系统、设备、组件和/或其他配置中的其他元件。
因此,本文公开的技术不应被解释为限于单个环境,并且还设想了其他配置和架构。例如节点存储设备14(1)-14(n)中的一个或多个可以在存储节点控制器计算设备12(1)-12(n)中的对应一个之内或作为存储节点控制器计算设备12(1)-12(n)中的对应一个的一部分操作,而不是作为与存储节点控制器计算设备12(1)-12(n)中对应的一个进行通信的独立存储设备。
该示例中的主机计算设备16(1)-16(n)包括任意类型的计算设备,诸如移动计算设备、台式计算设备、膝上型计算设备、平板计算设备、虚拟机(包括基于云的计算机)等,其可以执行操作和其他功能,诸如在节点19(1)-19(n)中的一个或多个上的存储操作。该示例中的主计算设备16(1)-16(n)中的每个包括处理器、存储器和通信接口,它们通过总线或其他通信链路耦合在一起,但是可以使用其他数量和/或类型的网络设备。
主机计算设备16(1)-16(n)可以运行接口应用,诸如标准Web浏览器或独立客户端应用,其可以提供接口以做出针对节点存储设备14(1)-14(n)中的一个或多个上存储的内容的请求,并且经由通信网络18和/或其他连接接收在节点存储设备14(1)-14(n)的一个或多个上存储的内容。主机计算设备16(1)-16(n)还可以包括显示设备,诸如显示屏或触摸屏、和/或输入设备,诸如例如键盘。
尽管本文描述和示出了具有节点19(1)-19(n)、主机计算设备16(1)-16(n)、以及通信网络18和其他连接的示例性环境10,节点19(1)-19(n)包括存储节点控制器计算设备12(1)-12(n)和节点存储设备14(1)-14(n),但可以使用其他类型和/或数量的系统、设备、组件和/或其他拓扑中的元件。应当理解,本文描述的示例的系统是出于示例性目的,因为用于实现示例的特定硬件和软件的许多变型是可能的,如相关领域的技术人员将理解的。
环境10中描绘的组件中的一个或多个组件,诸如例如存储节点控制器计算设备12(1)-12(n)、节点存储设备14(1)-14(n)、和/或主机计算设备16(1)-16(n),可以被配置为在相同物理机器上作为虚拟实例操作。换句话说,存储节点控制器计算设备12(1)-12(n)、节点存储设备14(1)-14(n)或主机计算设备16(1)-16(n)中的一个或多个可以在相同的物理设备上操作,而不是作为通过通信网络18和/或其他连接进行通信的单独设备。另外,可能存在比图1中所示的更多或更少的节点19(1)-19(n)以及更多或更少的节点主机计算设备16(1)-16(n),节点19(1)-19(n)具有存储节点控制器计算设备12(1)-12(n)和节点存储设备14(1)-14(n)。
另外,在任意示例中,两个或更多个计算系统或设备可以替代系统或设备中的任意一个。因此,还可以根据需要实现诸如冗余和复制的分布式处理的原理和优点,以增加示例的设备和系统的鲁棒性和性能。这些示例还可以在使用任意合适的接口机制和业务技术的任意合适的网络上扩展的计算机系统上实现,包括仅作为示例,以任意合适的形式地电信业务(例如语音和调制解调器)、无线业务网络、蜂窝业务网络、分组数据网络(PDN)、因特网、内联网及其组合。
示例还可以体现为一个或多个非暂态计算机可读介质,其具有存储在其上的指令,用于通过本文的示例描述和说明的本技术的一个或多个方面。一些示例中的指令包括可执行代码,该可执行代码当由一个或多个处理器执行时,使得处理器执行实现本文描述和示出的该技术的示例的方法所必需的步骤。
现在将参照图1-7描述动态管理对节点19(1)-19(n)中的LUN的访问的示例性方法,节点19(1)-19(n)包括集群11中的存储节点控制器计算设备12(1)-12(n)和节点存储设备14(1)-14(n),该方法对于主机计算设备16(1)-16(n)透明且无中断。为了便于说明,图4-6中所示的功能框图仅示出了环境10和集群11的一部分。
更具体地参考图3,在步骤100中,存储节点控制器设备12(1)-12(n)中的每一个的当前连接状态由存储节点控制器设备12(1)-12(n)中的每一个监视。存储节点控制器设备12(1)-12(n)中的每一个可以诸如经由仅作为示例的方式的集群互连15与其他存储节点控制器设备12(1)-12(n)共享所监视的状态和并将其存储在存储器中,尽管可以使用用于共享或以其他方式使连接状态可用的其他方式和/或协议。
由图4中的功能框图示出在任意检测到的截止(诸如检测到节点19(1)-19(n)中的无响应的一个)之前的集群11的示例。在该特定示例中,集群11中没有节点19(1)-19(n)的当前分区,并且主机计算设备16(1)可以通过到存储节点控制器设备12(1)活动优化(A/O)路径或者通过到存储节点控制器12(2)-12(n)和集群互连15之一的有效非优化(A/NO)路径之一来访问节点存储设备14(1)。
在步骤102中,由存储节点控制器设备12(1)-12(n)中的每一个基于步骤100中的监视来确定节点19(1)-19(n)中的任意节点的存储节点控制器设备12(1)-12(n)的连接的任意一个连接是否已经被切断,诸如例如节点19(1)-19(n)中的任意节点都是无响应的。如果在步骤102中,未检测到节点19(1)-19(n)中的任意一个的存储节点控制器设备12(1)-12(n)中的任意一个的切断,则采用否分支回到步骤100,以继续监视连接状态。如果在步骤102中,检测到节点19(1)-19(n)中的任意一个的存储节点控制器设备12(1)-12(n)中的任意一个的切断,则采用“是”分支转到步骤104。
由图5中的功能框图示出在检测到的切断(诸如检测到节点19(1)没有响应)之后的集群11的示例。在该特定示例中,存在对集群11中的节点19(1)(少数分区)与节点19(2)-19(n)(多数分区或代表)的存储节点控制器设备12(1)-12(n)的划分。最初且没有本文示出和描述的技术中,经由存储节点控制器设备12(1)从主机计算设备16(1)到节点存储设备14(1)的路径仍被通告为活动优化的并且经由存储节点控制器设备12(2)-12(n)之一到节点存储设备14(1)的路径仍然被通告为活动的非优化的。
在步骤104中,由节点存储设备14(1)-14(n)中的每一个拥有的任意逻辑单元号(LUN)由存储节点控制器设备12(1)-12(N)中的每一个标识并且可以由存储节点控制器设备12(1)-12(N)中的每一个存储。存储节点控制器设备12(1)-12(n)中的每一个可以诸如经由仅作为示例的方式的集群互连15来与其他存储节点控制器设备12(1)-12(n)共享所标识的LUN所有权的任意LUN所有权,其可以由存储节点控制器设备12(1)-12(n)存储。
在步骤106中,由确定为被切断的、存储节点控制器设备12(1)-12(n)中的对应的一个或多个(即在少数分区中)可访问的一个或多个节点存储设备14(1)-14(n)拥有的所标识的LUN中的任意一个的故障域,被从操作的分布式任务集合模式(DTM)调整到操作的本地单任务集合模式(STM),而不需要到与集群11交互的一个或多个主机计算设备16(1)-16(n)中的任意一个的、关于从DTM操作到STM操作的调整的任意通信。进行此调整时,由被确定为被切断(即,在少数分区中)的存储节点控制器设备12(1)-12(n)中的对应的一个或多个访问的一个或多个节点存储设备14(1)-14(n)拥有的识别的LUN中的任意一个的任意输入/输出(I/O)操作被中止。
在该特定示例中,DTM是操作的分布式模式,其要求具有到由一个或多个节点存储设备14(1)-14(n)拥有的所标识的LUN中的任意一个的路径的所有存储节点控制器设备12(1)-12(n)在向任意主机计算设备16(1)-16(n)中的任意一个提供数据的同时彼此完全同步。另外,在该特定示例中,STM是操作的单任务模式,其通过仅与存储节点控制器设备12(1)-12(n)中的特定一个本地操作来消除上述同步要求。
另外,在步骤106中,对由未被切断的、存储节点控制器设备12(1)-12(n)中的对应的一个或多个(即,在集群11的多数分区中)可访问的一个或多个节点存储设备14(1)-14(n)所拥有的所标识的LUN中的任意一个的访问,不调整相对于彼此的操作的模式。由未被切断的存储节点控制器设备12(1)-12(n)中的对应的一个或多个(即,在多数分区中)可访问的一个或多个节点存储设备14(1)-14(n)拥有的识别的LUN中的任意一个相对于多数分区保持在操作的分布式任务集合模式(DTM)中。
在步骤108中,由被确定为被切断的、存储节点控制器设备12(1)-12(n)中的对应的一个或多个(即,在少数分区中)可访问的一个或多个节点存储设备14(1)-14(n)所拥有的所标识的LUN中的任意一个的路径的通告状态,被设置为活动优化的指定,而经由多数分区中的其他存储节点控制器设备12(1)-12(n)到少数分区中那些已标识的LUN中的任意一个的所有其他路径被调整为不可用(U)的指定。
同时,直接到由未被切断的存储节点控制器设备12(1)-12(n)中的对应的一个或多个(即,在多数分区中)可访问的一个或多个节点存储设备14(1)-14(n)所拥有的所标识的LUN中的任意一个的每一个路径的通告状态被设置为有效优化的指定。诸如经由高可用性互连13(1)-13(n)或集群互连15之一到由未被切断的、存储节点控制器设备12(1)-12(n)中的对应的一个或多个(即,在多数分区中)可访问的一个或多个节点存储设备14(1)-14(n)所拥有的所标识的LUN中的任意一个的其他间接路径的通告状态被设置为有效非优化的指定。
通过图6中的功能框图和图7中具有针对路径的调整指定的示例性表格示出了调整已被检测为无响应并且从DTM操作划分到STM操作的节点19(1)的任意标识的LUN的故障域的示例。在该特定示例中,在集群11中存在节点19(1)(少数分区)与节点19(2)-19(n)(多数分区或代表)的存储节点控制器设备12(1)-12(n)的划分。此外,少数分区中的操作被设置为STM以及从主机计算设备16(1)经由存储节点控制器设备12(1)到节点存储设备14(1)所拥有的所标识的LUN中的任意一个的路径仍然被通告为活动优化的。另外,经由存储节点控制器设备12(2)-12(n)之一到由节点存储设备14(1)拥有的所标识的LUN中的任意一个LUN的路径现在被通告为不可用。同时,多数分区中的操作仍然是DTM并且从主机计算设备16(1)经由存储节点控制器设备12(2)-12(n)中对应的的一个到每个节点存储设备14(2)-14(n)拥有的所标识的LUN中的任意一个的直接路径仍然被通告为活动优化的。另外,经由存储节点控制器设备12(2)-12(n)中的非对应的一个,到由节点存储设备14(2)-14(n)拥有的所标识的LUN中的任意一个的间接路径现在在多数分区中被通告为活动非优化的。
在步骤110中,由存储节点控制器设备12(1)-12(n)中的每一个,基于监视存储节点控制器设备12(1)-12(n)中的每一个的连接状态,做出被确定为被切断的、存储节点控制器设备12(1)-12(n)中的一个或多个是否已重新获得到其他存储节点控制器设备12(1)-12(n)的连接的确定。如果在步骤110中,确定指示尚未重新获得连接,则将采用否分支返回到步骤110以继续监视连接状态,直到重新获得连接。如果在步骤112中确定指示已经重新获得连接,则将采用“是”分支返回到步骤112。
在步骤112中,针对由被确定为已经重新获得连接或以其他方式修复的、存储节点控制器设备12(1)-12(n)中的对应的一个或多个可访问的一个或多个节点存储设备14(1)-14(n)所拥有的所标识的LUN中的任意一个的故障域的调整被从操作的本地STM被再次调整到操作的DTM,而不需要到与集群11交互的一个或多个主机计算设备16(1)-16(n)中的任意一个的、关于从STM操作到DTM操作的调整通信。因此,利用该技术,可以基于连接状态,以对主机计算设备16(1)-16(n)透明和非中断的方式,根据需要扩展和缩小故障域。
在步骤114中,当被修复并调整到DTM时,经由存储节点控制器设备12(1)-12(n)中的对应的一个到节点存储设备14(1)-14(n)中的每一个的直接路径的通告状态被设置为活动优化,并且经由存储节点控制器设备12(1)-12(n)中的非对应的一个到节点存储设备14(1)-14(n)中的每一个的间接路径的状态被设置为活动非优化的。
因此,如通过本文的示例所示,该技术提供了动态管理对SAN环境中的逻辑单元号的访问的方法、非暂态计算机可读介质和计算设备。该技术能够基于少数和多数分区中标识的LUN来动态地切换操作的模式,并使该切换过程对主机计算设备保持透明且无中断。此外,利用该技术,在经历从DTM到STM以及从STM回到DTM的转换时,主机计算设备上的任意输入/输出(I/O)操作保持不受干扰且无缝。
已经如此描述了本发明的基本概念,对于本领域技术人员来说显而易见的是,前述详细公开内容旨在仅以示例而不是限制性的方式呈现。各种改变、改进和修改将发生,并且对于本领域技术人员而言是预期的,尽管本文没有明确说明。这些改变、改进和修改旨在本文中被提出,并且在本发明的精神和范围内。另外,所引用的处理元件或序列的顺序、或者数字、字母或其他指定的使用,并不旨在将要求保护的过程限制为任意顺序,除非可以在权利要求中指定。因此,本发明仅受所附权利要求及其等同物的限制。

Claims (16)

1.一种方法,包括:
由计算设备确定集群的多个节点中的至少一个节点何时被从所述集群的所述多个节点中的其他节点切断;
由所述计算设备标识由所述多个节点中的每个节点拥有的任意逻辑单元号(LUN);以及
由所述计算设备将针对由被确定为被切断的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的故障域从操作的分布式任务集合模式(DTM)调整到操作的单个任务集合模式(STM),而无需到与所述集群交互的一个或多个主机计算设备中的任意主机计算设备的、关于从DTM操作到STM操作的所述调整的任意通信。
2.根据权利要求1所述的方法,其中调整所述故障域还包括:
由所述计算设备中止由被确定为被切断的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的任意未决输入/输出(I/O)操作。
3.根据权利要求1或2所述的方法,还包括:由所述计算设备将到被确定为被切断的、所述多个节点中的所述至少一个节点的路径通告为活动优化路径,并且将从所述多个节点中的所述其他节点到被确定为被切断的、所述多个节点中的至少一个节点的其他路径通告为不可用的。
4.根据任一前述权利要求所述的方法,还包括:
由所述计算设备确定多个节点中的所述至少一个节点何时重新获得与所述多个节点中的所述其他节点的连接;以及
通过从操作的所述STM切换到操作的所述DTM来调整由被确定为重新获得连接的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的所述故障域,而无需到与所述集群交互的一个或多个主机计算设备中的任意主机计算设备的、关于从所述STM操作到所述DTM操作的所述调整的任意通信。
5.根据权利要求4所述的方法,还包括:
由所述计算设备将从所述多个节点中的所述其他节点到所述多个节点中的所述至少一个节点的路径通告为活动的非优化的。
6.一种非暂态机器可读介质,具有存储在其上的用于执行包括机器可执行代码的方法的指令,所述机器可执行代码在由至少一个机器执行时使得所述机器:
确定集群的多个节点中的至少一个节点何时被从所述集群的所述多个节点中的其他节点切断;
标识由所述多个节点中的每个节点拥有的任意逻辑单元号(LUN);以及
将针对由被确定为被切断的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的故障域从操作的分布式任务集合模式(DTM)调整到操作的单个任务集合模式(STM),而无需到与所述集群交互的一个或多个主机计算设备中的任意主机计算设备的、关于从DTM操作到STM操作的所述调整的任意通信。
7.根据权利要求6所述的介质,其中调整所述故障域还包括:
中止针对由被确定为被切断的、所述多个节点中的所述至少一个节点拥有的所标识的LUN中的任意LUN的任意输入/输出(I/O)操作。
8.根据权利要求6或7所述的介质,还包括:将到被确定为被切断的、所述多个节点中的所述至少一个节点的路径通告为活动优化路径,并且将从所述多个节点中的所述其他节点到被确定为被切断的、所述多个节点中的所述至少一个节点的其他路径通告为不可用的。
9.根据权利要求6至8中任一项所述的介质,还包括:
确定多个节点中的所述至少一个节点何时重新获得到所述多个节点中的所述其他节点的连接;以及
通过从操作的所述STM切换到操作的所述DTM来调整针对由被确定为重新获得连接的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的所述故障域,而无需关于到与所述集群交互的一个或多个主机计算设备中的任意主机计算设备的、从所述STM操作到所述DTM操作的所述调整的任意通信。
10.根据权利要求9所述的介质,还包括:
将从所述多个节点中的所述其他节点到所述多个节点中的所述至少一个节点的路径通告为活动非优化的。
11.一种计算设备,包括:
存储器,包含机器可读介质,所述机器可读介质包括机器可执行代码,所述机器可读介质具有存储在其上的、用于执行动态管理对分布式存储区域网络环境中的逻辑单元号(LUN)的访问的方法的指令;以及
处理器,被耦合到所述存储器,所述处理器被配置为执行所述机器可执行代码以使得所述处理器:
确定集群的多个节点中的至少一个节点何时被从所述集群的所述多个节点中的其他节点切断;
标识由所述多个节点中的每个节点拥有的任意逻辑单元号(LUN);以及
将针对由被确定为切断的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的故障域从操作的分布式任务集合模式(DTM)调整到操作的单个任务集合模式(STM),而无需到与所述集群交互的一个或多个主机计算设备中的任意主机计算设备的、关于从DTM操作到STM操作的所述调整的任意通信。
12.根据权利要求11所述的设备,其中为了调整所述故障域,所述一个或多个处理器还被配置为能够执行在所述存储器中被存储的编程指令以:
中止由被确定为被切断的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的任意输入/输出(I/O)操作。
13.根据权利要求11或12所述的设备,其中所述一个或多个处理器还被配置为能够执行在所述存储器中被存储的编程指令以:
将到被确定为被切断的、所述多个节点中的所述至少一个节点的路径通告为活动优化路径,并且将从所述多个节点中的所述其他节点到被确定为被切断的、所述多个节点中的所述至少一个节点的其他路径通告为不可用的。
14.根据权利要求11至13中任一项所述的设备,其中所述一个或多个处理器还被配置为能够执行在所述存储器中被存储的编程指令以:
确定多个节点中的所述至少一个节点何时重新获得到所述多个节点中的所述其他节点的连接;以及
通过从操作的所述STM切换到操作的所述DTM来调整针对由被确定为重新获得连接的、所述多个节点中的所述至少一个节点拥有的所标识的所述LUN中的任意LUN的所述故障域,而无需到与所述集群交互的一个或多个主机计算设备中的任意主机计算设备的、关于从所述STM操作到所述DTM操作的所述调整的任意通信。
15.根据权利要求14所述的设备,其中所述一个或多个处理器还被配置为能够执行在所述存储器中被存储的编程指令以:
将从所述多个节点中的所述其他节点到所述多个节点中的所述至少一个节点的路径通告为活动的非优化的。
16.一种计算机程序,包括计算机可读指令,所述计算机可读指令在由机器执行时使所述机器执行根据权利要求1至5中任一项所述的方法。
CN201780072093.0A 2016-11-22 2017-08-23 用于动态管理对分布式存储区域网络环境中的逻辑单元号的访问的方法及其设备 Active CN109997105B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/358,582 US10168903B2 (en) 2016-11-22 2016-11-22 Methods for dynamically managing access to logical unit numbers in a distributed storage area network environment and devices thereof
US15/358,582 2016-11-22
PCT/US2017/048131 WO2018097870A1 (en) 2016-11-22 2017-08-23 Methods for dynamically managing access to logical unit numbers in a distributed storage area network environment and devices thereof

Publications (2)

Publication Number Publication Date
CN109997105A true CN109997105A (zh) 2019-07-09
CN109997105B CN109997105B (zh) 2021-01-12

Family

ID=59791159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780072093.0A Active CN109997105B (zh) 2016-11-22 2017-08-23 用于动态管理对分布式存储区域网络环境中的逻辑单元号的访问的方法及其设备

Country Status (5)

Country Link
US (1) US10168903B2 (zh)
EP (1) EP3545402B1 (zh)
JP (1) JP6644954B2 (zh)
CN (1) CN109997105B (zh)
WO (1) WO2018097870A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433678A (zh) * 2020-11-26 2021-03-02 湖南国科微电子股份有限公司 一种分布式存储系统的网络调整方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2719673A1 (en) * 2010-11-05 2011-01-18 Ibm Canada Limited - Ibm Canada Limitee Fencing shared cluster resources
US20130268495A1 (en) * 2012-04-09 2013-10-10 Microsoft Corporation Split brain protection in computer clusters
US20150169647A1 (en) * 2013-12-13 2015-06-18 Netapp, Inc. Access management techniques for storage networks
CN104734878A (zh) * 2013-12-18 2015-06-24 国际商业机器公司 软件定义联网灾难恢复的方法和系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782416B2 (en) * 2001-01-12 2004-08-24 Hewlett-Packard Development Company, L.P. Distributed and geographically dispersed quorum resource disks
US7831782B1 (en) * 2004-06-30 2010-11-09 Symantec Operating Corporation Roll-back log to provide data consistency
US7778157B1 (en) * 2007-03-30 2010-08-17 Symantec Operating Corporation Port identifier management for path failover in cluster environments
US8898663B2 (en) * 2009-12-16 2014-11-25 Symantec Corporation Storage visibility in virtual environments
US8443231B2 (en) * 2010-04-12 2013-05-14 Symantec Corporation Updating a list of quorum disks
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US9152336B1 (en) * 2012-06-30 2015-10-06 Emc Corporation System and method for LUN adjustment
US8930746B1 (en) * 2012-06-30 2015-01-06 Emc Corporation System and method for LUN adjustment
US20140101279A1 (en) * 2012-10-04 2014-04-10 Hitachi, Ltd. System management method, and computer system
US8464095B1 (en) * 2012-11-15 2013-06-11 DSSD, Inc. Method and system for multi-dimensional raid reconstruction and defect avoidance
US9335949B1 (en) * 2013-02-25 2016-05-10 Netapp, Inc. System and method for deferring invalidation of inodes of a volume during volume invalidation
US9817721B1 (en) * 2014-03-14 2017-11-14 Sanmina Corporation High availability management techniques for cluster resources
US9690803B1 (en) * 2014-06-30 2017-06-27 EMC IP Holding Company LLC Auxiliary files in a container file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2719673A1 (en) * 2010-11-05 2011-01-18 Ibm Canada Limited - Ibm Canada Limitee Fencing shared cluster resources
US20130268495A1 (en) * 2012-04-09 2013-10-10 Microsoft Corporation Split brain protection in computer clusters
US20150169647A1 (en) * 2013-12-13 2015-06-18 Netapp, Inc. Access management techniques for storage networks
CN104734878A (zh) * 2013-12-18 2015-06-24 国际商业机器公司 软件定义联网灾难恢复的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433678A (zh) * 2020-11-26 2021-03-02 湖南国科微电子股份有限公司 一种分布式存储系统的网络调整方法、装置、设备及介质
CN112433678B (zh) * 2020-11-26 2022-08-19 湖南国科微电子股份有限公司 一种分布式存储系统的网络调整方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109997105B (zh) 2021-01-12
US20180143763A1 (en) 2018-05-24
EP3545402A1 (en) 2019-10-02
JP6644954B2 (ja) 2020-02-12
EP3545402B1 (en) 2020-10-28
JP2019536167A (ja) 2019-12-12
US10168903B2 (en) 2019-01-01
WO2018097870A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
US10747714B2 (en) Scalable distributed data store
US10728135B2 (en) Location based test agent deployment in virtual processing environments
US8832498B1 (en) Scalable codebook correlation for cloud scale topology
US9104572B1 (en) Automated root cause analysis
JP5998206B2 (ja) クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散
US10853210B2 (en) Storage device health status synchronization
US9736046B1 (en) Path analytics using codebook correlation
CN105706056A (zh) 现代硬件上的故障域
CN104811476B (zh) 一种面向应用服务的高可用部署实现方法
Luo et al. Plink: Discovering and exploiting locality for accelerated distributed training on the public cloud
CN104579765B (zh) 一种集群系统的容灾方法和装置
US9525729B2 (en) Remote monitoring pool management
US11635994B2 (en) System and method for optimizing and load balancing of applications using distributed computer clusters
CN105592139B (zh) 一种分布式文件系统管理平台的ha实现方法及装置
US9832269B2 (en) Methods for migrating data between heterogeneous storage platforms and devices thereof
Weissman et al. Early experience with the distributed nebula cloud
US9424133B2 (en) Providing an eventually-consistent snapshot of nodes in a storage network
US10498815B2 (en) Data recovery objective modeling
US10067841B2 (en) Facilitating n-way high availability storage services
CN109997105A (zh) 用于动态管理对分布式存储区域网络环境中的逻辑单元号的访问的方法及其设备
US20160011929A1 (en) Methods for facilitating high availability storage services in virtualized cloud environments and devices thereof
Ward NoSQL database in the cloud: MongoDB on AWS
CN104506663B (zh) 一种智能云计算运行管理系统
Holcomb NoSQL database in the cloud: Riak on AWS
WO2016122723A1 (en) Methods for facilitating n-way high availability storage services and devices thereof

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