CN107431643B - 用于监测存储集群元件的方法和装置 - Google Patents
用于监测存储集群元件的方法和装置 Download PDFInfo
- Publication number
- CN107431643B CN107431643B CN201680017124.8A CN201680017124A CN107431643B CN 107431643 B CN107431643 B CN 107431643B CN 201680017124 A CN201680017124 A CN 201680017124A CN 107431643 B CN107431643 B CN 107431643B
- Authority
- CN
- China
- Prior art keywords
- storage cluster
- storage
- information
- cluster
- operational information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
可以在节点范围和集群范围监测相关联但分离的存储集群的健康。监测集群范围内的存储集群包括监测支持存储集群并且连接存储集群的网络元件。最初,每个集群中的架构监测器发现集群拓扑。集群拓扑在整个存储集群的管理存储元件中被传送和维持。在存储集群拓扑已经被发现之后,每个集群的架构监测器可以周期性地确定存储集群的网络元件的状态。这使得存储集群能够维持对互连状态的认知,并且对状态的变化做出反应。此外,每个管理存储元件监测其自己的健康。该信息被聚合以确定何时根据在管理存储元件处定义的规则来触发纠正动作、警报和/或存储特征。
Description
相关申请
本申请要求于2015年2月3日提交的题为“MONITORING STORAGE CLUSTERELEMENTS”的美国专利申请No.14/613,085的优先权,其通过引用并入本文。
背景技术
本公开的各方面总体上涉及分布式计算领域,并且更具体地涉及监测跨网络分布的存储元件。
集群通常是指将硬件元件分组在一起以获得硬件元件(例如,磁盘驱动器、存储阵列、文件服务器、存储控制器等)的组(“集群”)的益处,其不能从单独的硬件元件来获得。集群可以用于各种存储特征,其示例包括负载平衡、故障转移支持、增加I/O带宽以及数据可用性。为了支持这些功能,数据在支持的存储元件之间被复制。
发明内容
可以在节点范围和集群范围两者监测相关联的但分离的存储集群的健康。监测集群范围的存储集群包括监测支持存储集群并且连接存储集群的网络元件。最初,每个集群中的架构监测器发现集群拓扑。集群拓扑在整个存储集群的管理存储元件中被传送和维持。在发现存储集群拓扑之后,每个集群的架构监测器可以周期性地确定存储集群的网络元件的状态。这允许存储集群维持对互连状态的认知,并且对状态的变化做出反应。此外,每个管理存储元件监测其自己的健康。该信息被聚合以确定何时根据在管理存储元件处定义的规则来触发纠正动作、警报和/或存储特征。
附图说明
通过参考附图可以更好地理解所公开的示例。
图1描绘了具有用于监测存储集群健康的健康监测器的两个示例存储集群。
图2描绘了用于实施对存储集群的监测的一组示例模块。
图3描绘了用于监测存储集群网络和相关联的存储集群网络的示例操作的流程图。
图4描绘了用于监测事件和事件历史的示例操作的流程图。
图5描绘了具有存储集群健康监测器的示例系统。
具体实施方式
下面的描述包括实施本公开的技术的示例系统、方法、技术、指令序列和计算机程序产品。然而,应当理解,可以在没有这些具体细节的情况下实践所描述的方面。例如,虽然示例涉及存储集群结构,但是可以将各方面应用于其他后端连接配置。在其他情况下,为了不模糊描述,没有详细示出众所周知的指令实例、协议、结构和技术。
术语
本描述使用术语“存储元件”来表示托管和/或管理对数据的访问的存储系统内的任何实体。本文中涉及的存储元件可以被分类为管理存储元件和托管存储元件。管理存储元件与托管存储元件之间的区别源于存储元件的主要功能。管理存储元件主要管理对托管存储元件的访问。管理存储元件处理来自其他设备(例如,客户端)的请求,并且可以发起执行操作(例如,快照操作)的请求。不管请求是来自另一设备还是源自管理存储元件,管理存储元件向托管存储元件传输请求。管理存储元件的示例包括文件服务器和存储控制器。托管存储元件主要执行从管理存储元件的角度最终满足请求的操作。托管存储元件执行对由管理存储元件的请求所指定的位置的读取或写入。这种读取或写入可以在一个磁盘或多个磁盘上被执行。在多层虚拟化的情况下,从管理存储元件的角度来看,可以在看起来是一个磁盘或多个磁盘的内容上执行读取或写入。托管存储元件的示例包括磁盘驱动器、光驱动器、存储阵列和磁带驱动器。
术语管理存储元件和托管存储元件基于存储元件的主要功能来使用,因为在元件之间功能不是排他性的。例如,存储控制器可以具有本地存储在高速缓存中的数据,以加速对访问请求的处理。即使存储控制器可以完成访问请求,存储控制器的主要功能也不是从本地存储器读取数据并且将数据写入本地存储器。类似地,托管存储元件可以包括管理对磁盘的访问的硬件。例如,冗余独立磁盘阵列(RAID)控制器和磁盘阵列可以被容纳在单个壳体内。虽然RAID控制器管理对磁盘阵列的访问,但是被容纳在该单个壳体中的部件的主要功能是完成从管理存储元件接收的请求。
本描述使用术语“带外”和“带内”。这些术语对应于不同的通信信道。例如,带内通信是指通过主要用于存储集群的数据交换、管理等的通信信道进行通信的通信。带外通信是指通过不是主要用于数据交换和/或管理的通信信道进行通信的消息,尽管与带内通信相比,它可以明显更少程度地用于这些目的。这些通信信道可以是物理上不同的(例如,不同的电缆、不同的接口等)和/或可以是不同的通信协议。
本描述还使用术语“网络元件”。术语网络元件是指通过网络引导通信的设备,其中该通信可以包括数据和访问请求。网络元件可以是路由器、交换机、桥接器等。
简介
存储元件的集群(“存储集群”)可以跨越多个网络与另一存储集群相关联/或经由长途连接(例如,数千公里)互连。存储集群彼此相关联,以支持前面提到的一些存储特征。数据可以在存储集群之间被镜像并且在存储集群之间被同步,以实现数据可用性、故障转移、灾难恢复等。大距离分离的相关联的集群降低了对基于位置的灾难的敏感性,并且允许增加的数据可用性。
跨集群支持的一些存储特征(例如,故障转移、镜像等)使用关于存储集群元件的信息。该信息可以包括配置信息、环境信息和统计信息。这些信息在本文中被称为“健康信息”,因为它可以指示存储集群的“健康”(即,操作完整性)。可以在节点范围和集群范围两者监测相关联但分离的存储集群的健康。监测集群范围的存储集群包括监测支持存储集群并且连接存储集群的网络元件。最初,每个集群中的架构监测器发现集群拓扑。集群拓扑在整个存储集群的管理存储元件中被传送和维持。在发现存储集群拓扑之后,每个集群的架构监测器可以周期性地确定存储集群的网络元件的状态。这允许存储集群维持对互连状态的认知,并且对状态的变化做出反应。此外,每个管理存储元件监测其自己的健康。该信息被聚合以确定何时根据在管理存储元件处定义的规则来触发纠正动作、警报和/或存储特征。
图示
图1描绘了具有用于监测存储集群健康的健康监测器的两个示例存储集群。第一存储集群101和第二存储集群103被描绘为具有相同的配置。虚线107描绘存储集群101、103的分离。每个存储集群包括一组互连的管理存储元件(“前端”)和存储后端。图1所示的针对每个存储集群的示例存储后端配置包括四个存储元件组(例如,存储阵列或存储堆栈)、桥接管理存储元件的网络和存储元件的网络(例如,桥接光纤信道到小型计算机系统接口(SCSI))的两个桥接器和两个交换机。存储集群的每个交换机通过被描绘为网络云的长通信距离连接到另一存储集群中的对等交换机。存储集群101的交换机104经由长通信距离网络105连接到存储集群103的交换机106。存储集群101的交换机113经由长通信距离网络123连接到存储集群103的交换机108。当然,其他配置也是可能的。
如上所述,存储集群101、103中的每个还包括四个存储管理元件。存储集群101包括管理存储元件109、115。存储集群103包括管理存储元件116。存储集群101、103的其他管理存储元件未被单独标识用于该图示。管理存储元件109托管节点监测器111。虽然没有被标记,但是存储集群101、103中的所有管理存储元件都托管节点监测器。节点监测器监测管理存储元件的子系统的健康。因此,节点监测器111监测管理存储元件109的子系统的健康。管理存储元件115除了节点监测器之外还托管架构监测器119。架构监测器119监测两个存储集群101、103中的后端架构的网络元件的健康。管理存储元件116也托管架构监测器和节点监测器。在管理存储元件116上运行的架构监测器还监测两个存储集群101、103中的后端架构的健康。如图所示,在每个存储集群中实例化单个架构监测器。管理存储元件116上的架构检测器的操作未被示出,因为它们与架构监测器119的操作类似。
图1中描绘了一系列阶段A-E,作为架构监测器119对后端架构中的特定问题做出反应的示例图示。这些是用于帮助说明架构监测器的功能的示例阶段。这些阶段不用于限制权利要求的范围。
在阶段A,架构监测器发现两个存储集群101、103的拓扑。当端口被连接时,架构监测器开始向连接到管理存储元件115的网络元件发送针对信息的请求。这些针对信息的请求通过直接连接到管理存储元件的网络元件来在整个架构传播。除了拓扑以外,架构监测器119还从存储集群101、103的交换机和桥接器请求健康信息。架构监测器119可以请求关于电源子系统的信息、环境信息、配置信息等。例如,架构监测器119可以发送具有定义与所请求信息相对应的对象的管理信息库(MIB)的简单网络管理协议(SNMP)消息。使用SNMP消息允许架构监测器119在存储集群的完成之前(例如,在光纤信道适配器被安装在管理存储元件115上以连接到其他管理存储元件之前)开始从网络元件收集信息。在发现拓扑之后,管理存储元件115与存储集群101的其他管理存储元件共享拓扑信息。同样,管理存储元件116将发现两个存储集群的拓扑,并且与存储集群103的管理存储元件共享该信息。在集群拓扑被建立之后,架构监测器119周期性地查询存储集群101、103中的网络元件以获得健康信息。
在阶段B,交换机113的健康信息发生改变。健康信息的改变的示例包括虚拟存储区域网络(VSAN)配置的改变和温度的改变。
在阶段C,架构监测器119在其周期性监测请求之一期间查询交换机113。架构监测器119收集信息,包括VSAN配置的改变和交换机113的温度。
在阶段D,架构监测器119利用所收集的信息来更新数据库117。数据库117跨两个存储集群101、103的管理存储元件被维持和同步。当数据库117被更新时,架构监测器119将规则至少应用于数据库117中的经更新的条目。例如,规则可以指示如果交换机113的温度超过定义的温度门限,则应当生成通知,并且如果交换机113的端口未被配置用于特定VSAN,则应当生成通知。
在阶段E,架构监测器119将规则应用于数据库117,并且确定要生成警报通知。架构监测器119生成通知,并且将其传递给管理存储元件115的另一模块。例如,架构监测器119向管理存储元件115的用户界面生成通知,通知交换机113的温度已超过温度警告门限。基于通知,系统或管理员可以采取纠正动作或启动纠正动作计划(例如,减少交换机113上的负载)。
图2描绘了用于实施对存储集群的监测的一组示例模块。图2描绘了架构数据收集器203、架构监测器207、集群监测器209和节点监测器211。所有这些模块可以通过管理接口201来配置。架构数据收集器203、架构监测器207、集群监测器209和节点监测器211也可以生成通知,并且将通知呈现给管理接口201。图2还描绘了子系统213、215。节点监测器211与子系统215交互,并且集群监测器209与子系统213交互。
架构数据收集器203收集关于存储集群和相关联的存储集群的后端架构的数据。架构数据收集器203可以作为后台进程、作业(即一系列程序)等运行。架构数据收集器203发现连接到托管架构数据收集器203的设备(“节点”)的接口的网络元件。架构数据收集器203还发现从托管节点被进一步移除的网络元件(例如,多达n个断开链路的网络元件)。架构数据收集器203可以通过查询被直接连接到托管节点的设备或者分析从这些网络元件收集的信息来发现没有被直接连接到托管节点的网络元件。例如,架构数据收集器203可以分析从网络元件收集的转发表。架构数据收集器203利用从网络元件收集的信息来更新集群数据库205。该信息指示网络元件的集群拓扑结构和健康信息。如之前图1所述,集群数据库205在存储集群的所有管理存储元件之间被传送。
架构监测器207使用集群数据库205和架构数据收集器203来监测存储集群架构的健康。架构监测器207使架构数据收集器203周期性地从架构的网络元件收集健康信息。架构监测器207可以从规则217安装规则或将规则引用到集群数据库205中。当架构数据收集器203更新集群数据库205时,调用已安装的规则以确保更新不违反规则的任何条件。例如,作为更新集群数据库205的部分,架构数据收集器203评估规则。架构监测器207还可以在集群数据库205中注册兴趣,并且当进行更新时接收通知或中断。然后,架构监测器207可以将来自规则217中的规则应用于集群数据库205中经更新的条目。如果违反了规则条件(例如,故障切换电源、端口错误配置等),则架构监测器207可以生成用于管理界面201的通知。然而,可以定义在生成通知之前需要一定数目的违规和/或违规组合的策略。因此,架构监测器207可以维护违规的历史以确定何时生成通知或警报。
集群监测器209还可以在集群数据库中注册兴趣和/或将来自规则217中的规则安装到集群数据库205中。集群监测器209经由架构数据收集器203和集群数据库205验证存储集群的拓扑。集群监测器209将拓扑规则传送到架构数据收集器203,以确保在存储集群(例如,单个交换架构)的设置中或在部署的存储集群中不存在违规(例如,管理存储元件丢失)。集群监测器209还与子系统213交互以确定其他规则违规。子系统213的示例包括互连的子系统和网络子系统。网络子系统可以具化网络协议的实施、用于联网的结构的管理(例如,逻辑接口、套接字等)、联网特征(例如,故障切换操作)等。集群监测器209可以周期性地(例如,通过应用程序编程接口(API))与任一子系统213接合。通过互连子系统的示例,集群监测器209可以周期性地调用函数以确定与其他管理存储元件的连接状态以及与后端存储的连接状态(例如,协议连接、端口统计等)。通过网络子系统的示例,集群监测器209可以周期性地调用函数来确定为集群间连接配置的逻辑接口的状态。集群监测器209还扫描其存储集群中的管理存储元件。集群监测器209可以扫描管理存储元件以验证连接、配置(例如,用于集群间连接的实例化对象)等。与架构监测器一样,集群监测器209可以根据规定何时生成通知的规则和策略来生成通知。然而,可以定义在生成通知之前需要一定数目的违规、违规组合和/或时间聚合的策略。因此,集群监测器209可以维护违规历史以确定何时生成通知或警报。
节点监测器211监测托管节点的健康。为此,节点监测器211与子系统215交互。子系统的示例包括存储子系统、电力子系统和互连子系统。节点监测器211可以利用API与子系统215交互,或者可以向子系统进程注册以接收特定事件的通知(例如,风扇故障、临界温度、功率损耗、端口故障等)。在某些情况下,可以从建议集群中的问题的子系统215而不是节点本身来生成事件。例如,子系统215可以生成指示集群间接口的故障的事件。节点监测器211将规则应用于事件,该规则将故障指示为可能的“反向铲(back-hoe)”事件。根据事件的规模和/或受影响的网络关系,反向铲事件涉及与站点、系统、集群、区域等的连接的完全丢失。这个事件与反向铲相关联,因为连接丢失的常见原因是实际的反向铲切断电缆。但是,反向铲事件可能是其他事件(例如自然灾害)。可能的反向铲事件的规则可以定义用于节点监测器211通知集群监测器209的动作。作为响应,集群监测器209可以执行一系列操作以确定是否已经发生反向铲事件。例如,集群监测器209可以使存储集群的所有管理存储元件ping相关联的存储集群(例如,灾难恢复对等存储集群)中的所有合作的管理存储元件。
反向铲事件的快速检测允许对反向铲事件的快速响应。当怀疑反向铲事件时,架构监测器207可以触发架构数据收集器203向相关联的存储集群的网络元件发送带外消息(例如,SNMP请求)。此外,集群监测器209可以使存储集群的管理存储元件检查心跳。作为示例,心跳可以被实施为经由光纤信道虚拟接口管理相关联的存储集群中的存储元件的心跳计数器的远程直接存储器访问读取。
所图示的各个模块是基于功能的结构,以帮助理解功能。图2不应当用于将权利要求的范围缩小到特定模块或程序组织。例如,可以实施或描绘单个模块以包含架构监测器207和架构数据收集器203的所示功能。此外,实施方式将根据不同的平台而变化。作为一个示例,监测实施方式可以在多线程单核处理器和多处理器节点之间变化。
虽然前述示例涉及存储集群架构,但是权利要求的范围不限于此。通常,存储集群可以配置有架构(例如,管理存储元件之间的完全连接),但是不需要连接配置。以下示例将更广泛地指代存储集群网络而不是架构。以下示例是独立于图2所示的特定模块分离的示例操作的流程图。
图3描绘了用于监测存储集群网络和相关联的存储集群网络的示例操作的流程图。框之间的虚线表示操作流不是直接顺序的,并且可以指示等待响应或中断。该图还将存储集群称为集群。参考执行操作的存储集群中的节点来描述操作,其中节点是管理存储元件。
在框301,节点发现其存储集群的网络拓扑,并且相应地更新集群数据库。当连接被建立时,节点发送通信以发现后端中的元件。后端元件可以包括存储元件和网络元件以及其他管理存储元件。节点通过不同的接口/端口/卡被连接到后端,而不是其他管理存储元件。节点可以使用物理接口、逻辑接口、全球名称和网络地址的任意组合来确定存储集群拓扑。节点可以发现具有带外通信和带内通信两者的拓扑。例如,节点可以将SNMP消息发送到带外(例如,除光纤信道外)的网络元件。节点可以首先在第一时间段内(例如在正在建立存储集群和/或正在配置集群关系的同时)发现具有带外通信的拓扑。之后,可以基于带内通信来完成对所收集的拓扑信息的更新。该第二或随后的时间段可以持续到定义的事件发生,例如集群关系的中断或改变。此外,节点可以在带内通信和带外通信之间转换,用于以定义的间隔收集操作信息和/或拓扑信息。定义的间隔可以取决于事件的发生,或者独立于事件。例如,节点可以使用带外通信,直到被通知带内通信已经建立。在可能的反向铲事件的通知之后,节点可以在带内通信和带外通信之间交替定义的时间段,直到可能的反向铲事件的解决。节点利用从存储集群的成员接收或取回的信息来更新集群数据库。节点还发现相关联的存储集群(例如,具有镜像或灾难恢复关系的存储集群)的拓扑。节点确定为集群间连接所配置的接口。例如,可以在管理存储元件上定义逻辑接口,以通过规定的网络元件连接到相关联的集群的管理存储元件。
在框303,节点将验证规则应用到所发现的网络拓扑。在至少一些集群存储拓扑被发现之后,可以将拓扑验证规则应用于信息,以确定所发现的拓扑是否符合由验证规则表示的规范。例如,拓扑验证规则可能需要一定数目的交换机、相关联的存储集群之间的冗余路径、一定数目的管理存储元件等。
在框305,节点根据在框303所应用的拓扑验证规则来确定所发现的集群存储拓扑是否有效。如果所发现的拓扑是有效的,则控制流向框309。如果不是,则控制流向框307。在框307,节点生成所发现的网络拓扑违反验证规则的通知。通知可以指示所违反的拓扑规则(例如,后端架构中最少两个交换机)。
在框309,针对存储集群网络中的每个网络元件开始重复操作。示例重复操作由框311表示。
在框311,节点从存储集群的所发现的网络元件请求操作信息(“健康信息”)。操作信息的示例包括环境信息(例如,当前温度、制造商推荐的操作温度)、配置信息(例如,VSAN配置、协议配置等)、子系统信息(例如,电源信息、风扇信息)和操作统计(例如,吞吐量、丢弃的数据包、每个连接的负载等)。节点可以发送指向网络元件的每个信息源(例如,操作系统、协议模块等)的一系列请求。例如,在发送对于操作统计的单独请求之前,节点可以发送对于关于配置的信息的请求。节点可以发送指示请求所有操作信息的单个请求。消息的格式将事先达成一致。在某些情况下,节点可以在请求操作信息之前配置网络元件。作为示例,节点可以向网络元件通知报告协议和消息的规范。节点可以安装支持报告协议和消息规范的代码。在操作信息的初始收集之后,节点可以在随后的请求中仅请求操作信息的子集。
在框313,节点确定是否存在附加的经发现的网络元件,其中操作信息将从附加的经发现的网络元件处获得。如果在该时间窗口内没有更多网络元件,则控制流向框315。如果存在要查询的附加的经发现的网络元件,则控制流向框309。
在框315,节点等待监测器触发。监测器触发可以是时间段的到期。节点可以被配置为在预定义的时间段从集群成员(包括后端网络元件)收集操作信息。监测器触发也可以是事件驱动或中断驱动的触发。例如,节点子系统中的事件可以使节点在时间段到期之前从全部或指定的集群成员请求全局或特定的操作信息。在监测器触发之后,控制流回到框309。
在框317,节点从存储集群网络的元件接收操作信息。从框311到框317的虚线指示节点接收操作信息。可以在框311的请求之后以及在可以被实施的任何超时机制之前的任何时间接收操作信息。因此,框311和框317之间的序列不一定是顺序的。换言之,在从元件X、Y和Z请求操作信息之后,节点可以正在从元件X接收操作信息。
在框319,节点根据接收到的操作信息来更新集群数据库。节点不一定写入从元件接收的所有操作信息。节点可以仅写入接收到的操作信息的子集。在某些情况下,节点可以不将任何东西写入集群数据库。例如,操作信息可以指示响应元件具有操作风扇并且正在可接受的温度下操作。在这种情况下,节点可能不会使用除元件响应的指示之外的任何内容来更新集群数据库。
在框321,节点确定接收到的操作信息是否违反规则。在概念上,规则可以是交换机的传输功率不能超过定义的门限。在程序代码中,规则将被表示为条件,例如,交换机的传输功率高于定义的门限。因此,违反规则将是满足以程序代码表达规则的条件。规则还可以指示或关联/引用违反规则时要采取的操作。作为示例,如果网络元件的工作电压超过门限,则向管理界面生成警报通知。节点可以通过利用表示操作信息(例如,交换机电压)的参数向规则中进行索引来访问规则集。作为另一示例,集群数据库的条目可以与规则相关联。这些规则可以被引用或者直接嵌入到集群数据库中。当条目被更新时,相应的规则被评估以确定它是否被违反。如果违反了规则,则控制流向框323。否则,当节点再次接收到操作信息时,控制流回到框317。
在框323,节点确定是否生成通知。尽管可能会违反规则,但是可以根据规则定义一种策略来在数目上或随时间来汇总违规。例如,策略可以将通知的生成条件规定为在规定的时间段内针对操作温度规则的警告级别的重复违反。相反,节点可以响应于临界温度水平的单个违反而生成通知。如果通知将被生成,则控制流向框325。在框325,节点根据规则生成通知。规则可以规定在用户界面中产生警报或者更新错误日志。
在框327,节点跟踪规则违反。如果违规的聚合将会触发通知生成,则节点将跟踪规则违反。即使通知被生成,也可以跟踪规则违反。对于相同规则的多次违反,可以生成不同的通知。此外,规则可以规定是否应当执行跟踪。
除了跟踪规则违反之外,节点还可以结合其他事件或累积地跟踪违反规则的事件。尽管图2主要涉及通过API与子系统交互,但是实施方式可以使用消息传递、事件生成和API的任意组合用于监测。
图4描绘了用于监测事件和事件历史的示例操作的流程图。图4的操作参考如图3所示的存储集群中的节点来描述。
在框401,节点接收事件的通知并且评估对应于事件的(多个)规则。节点上的监测进程向节点的另一进程注册以接收事件的通知。监测进程可以规定事件的类型、特定子系统、子系统和事件类型的组合等。监测进程可以向子系统的进程注册,或者向节点的操作系统的中央进程进行注册,例如。节点基于事件通知的内容和起始子系统来确定与事件相对应的规则。可以为每个子系统定义规则集。例如,可以为互连子系统定义规则集。规则可以包括基于统计的规则、连接时间规则、逻辑接口规则等。
在框403,节点根据评估的规则来确定事件是否单独地触发警报通知。如果是,则节点在框405生成警报通知。可以生成警报通知用于经由用户界面、消息传递或者节点的进程之间的通信来呈现。如果事件单独不触发警报通知,则控制流向框407。
在框407,节点确定事件是否可以与另一事件组合触发警报通知。另一事件可以是在给定时间段内发生的不同事件,或者另一事件可以是事件的先前事件。如果事件可以与另一事件组合触发警报通知,则控制流向框409。否则,控制流向框417。
在框409,节点确定其他事件是否已经被记录(即已经发生)。如果是,则控制流向框411。如果不是,则控制流向框413。作为与其他事件组合的事件的示例,其将被配置用于集群间连接的逻辑接口的故障。如果其他节点具有与相关联的存储集群的连接,则逻辑接口的故障可能是本地的。规则可以规定当检测到逻辑接口的故障时,节点将该故障传送到当前正在监测存储集群的节点。如果节点是监测存储集群的节点,则规则可以规定节点将要求其他节点对相关联的存储集群中的对等体进行ping。
在框413,节点确定对应于其他事件的子系统。作为示例,事件可以是超过警告门限但是没有超过临界温度门限的温度。规则可以规定节点应当从冷却子系统确定风扇状态。在某些情况下,子系统可以位于不同的节点上。例如,集群监测器节点将确定它将联系存储集群的其他节点。
在框419,节点查询子系统以确定是否发生了其他事件。如果规则指示节点应当查询冷却子系统,则节点查询冷却子系统以获得风扇状态。如果规则指示节点(作为集群监测器)应当查询其他节点的连接状态,则节点指示其他节点对相关联的存储集群中的对等体进行ping,并且基于结果来请求响应。
在框421,节点接收对查询的响应。在接收到响应之后,控制流向框411。
在框411,节点确定事件的组合是否触发警报通知。如果事件的组合触发警报通知,则控制流向框415,其中节点生成警报通知。否则,控制流向框417。在框417,节点更新事件的历史以指示事件。
流程图被提供以帮助理解说明,而不用于限制权利要求的范围。流程图描绘了可以在本公开的各个方面之间变化的示例操作。可以执行附加的操作;可以执行较少的操作;可以并行地执行操作;并且可以按不同的顺序执行操作。例如,框301和框303中描绘的操作可以重叠。在一段时间之后或在发现配置数目的集群成员之后,节点可以开始应用拓扑规则,并且继续应用这些规则以发现更多的存储集群。作为另一示例,图3似乎描绘了包括框309、框311和框313的操作循环。各方面不需要执行循环,并且允许操作的中断以及来自迭代序列的变化。参考图4,节点可以根据组合事件规则评估的结果来更新事件历史。
如本领域技术人员将理解的,本公开的各方面可以被具化为系统、方法或存储在一个或多个机器可读介质中的程序代码/指令。因此,各方面可以采取硬件、软件(包括固件、常驻软件、微代码等)、或软件和硬件的组合的形式,这些在本文中通常可以被称为“电路”、“模块”或“系统”。在示例图示中作为单个模块/单元呈现的功能可以根据平台(操作系统和/或硬件)、应用生态系统、接口、程序员偏好、编程语言、管理员偏好等中的任意一个来被不同地组织。
可以使用一个或多个机器可读介质的任何组合。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读存储介质可以是,例如但不限于,采用电子、磁、光、电磁、红外或半导体技术中的任何一种或组合来存储程序代码的系统、装置或设备。机器可读存储介质的更具体的示例(非详尽列表)包括以下多项:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或上述的任何合适的组合。在本文的上下文中,机器可读存储介质可以是可以包含或存储由或结合指令执行系统、装置或设备使用的程序的任何有形介质。
机器可读信号介质可以包括其中具化有机器可读程序代码的传播数据信号,例如在基带中或作为载波的部分。这种传播信号可以采取各种形式中的任何形式,包括但不限于电磁、光学或其任何合适的组合。机器可读信号介质可以是非机器可读存储介质并且可以传达、传播或传送程序用于由或结合指令执行系统、装置或设备使用的任何机器可读介质。
可以使用任何适当的介质来传输在机器可读介质上具化的程序代码,适当的介质包括但不限于无线、有线、光纤电缆、RF等、或前述的任何合适的组合。
用于执行本公开的各方面操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,一种或多种语言包括面向对象的编程语言,诸如编程语言、C++等;动态编程语言,诸如Python;脚本语言,诸如Perl编程语言或PowerShell脚本语言;和传统的程序性编程语言,诸如“C”编程语言或类似的编程语言。程序代码可以完全在独立的计算机上执行、可以以分布式的方式跨多台计算机执行、并且可以在一台计算机上执行,同时在另一台计算机上提供结果和/或接受输入。
示例参照根据本公开的各方面的方法、装置(系统)和程序代码的流程图和/或框图来描述。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由程序指令来实施。这些程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令能够创建用于实施在流程图和/或框图的框中规定的功能/动作的装置。
这些程序指令还可以被存储在机器可读介质中,机器可读介质可以引导计算机、其他可编程数据处理装置或其他设备以特定方式工作,使得存储在机器可读介质中的指令产生包括实施在流程图和/或框图的框中规定的功能/动作的指令的制品。
程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得能够在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实施的过程,使得在计算机或其他可编程装置上执行的指令能够提供用于实施在流程图和/或框图的框中规定的功能/动作的过程。
图5描绘了具有存储集群健康监测器的示例系统。系统包括处理器单元501(可能包括多个处理器、多个核、多个节点和/或实现多线程等)。计算机系统包括存储器507。存储器507可以是系统存储器(例如,高速缓存、SRAM、DRAM、零电容器RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等中的一个或多个)或以上已经描述的机器可读介质的可能实施方式中的一个或多个。计算机系统还包括总线503(例如,PCI、ISA、PCI-Express、总线、总线、NuBus等)、网络接口505(例如,光纤信道、以太网接口、互联网小型计算机系统接口、接口、SONET接口、无线接口等)和(多个)存储设备(例如,光存储装置、磁存储装置等)。该系统还包括存储集群健康监测器511。存储集群健康监测器511监测存储集群的管理存储元件、存储集群的后端元件以及相关联的存储集群的元件的健康。这些功能中的任何一个可以部分地(或完全地)在硬件和/或处理器单元501中被实施。例如,功能可以用专用集成电路、在处理器单元501中实现的逻辑中、在外围设备或卡上的协处理器中等被实施。此外,实施方式可以包括图5中未示出的较少或附加的部件(例如,视频卡、音频卡、附加网络接口、外围设备等)。处理器单元501、存储设备和网络接口505耦合到总线503。尽管被示出为耦合到总线503,但是存储器507可以耦合到处理器单元501。
尽管本公开参考各种实施方式和利用来描述,但是应当理解,描述是说明性的,并且权利要求的范围不限于此。通常,如本文中描述的用于监测存储集群和相关联的存储集群的健康的技术可以利用与任何硬件系统一致的设施或硬件系统来实施。很多变型、修改、添加和改进是可能的。
可以为本文中描述的部件、操作或结构提供多个实例作为单个实例。最后,各种部件、操作和数据存储之间的边界是有些任意的,并且在具体的说明性配置的上下文中示出了特定的操作。功能的其他分配被设想并且可以落在权利要求的范围内。通常,在示例配置中呈现为单独的部件的结构和功能可以被实施为组合的结构或部件。类似地,作为单个部件呈现的结构和功能可以被实施为单独的部件。这些和其他变型、修改、添加和改进可以落在权利要求的范围内。
Claims (21)
1.一种用于在系统中使用的计算机实施的方法,所述系统包括第一存储集群(101)以及与所述第一存储集群相关联的第二存储集群(103),所述第一存储集群和所述第二存储集群各自具有后端,所述后端包括存储元件和网络元件,所述方法由所述第一存储集群中的节点执行,所述方法包括:
确定(301)所述第一存储集群的所述后端和所述第二存储集群的所述后端的拓扑;
对照拓扑验证规则来验证经确定的所述拓扑;
从所述第一存储集群后端的网络元件以及从所述第二存储集群后端的网络元件周期性地获取(311)第一操作信息;
在从所述网络元件中的任何一个网络元件获取所述第一操作信息之后:
至少部分基于所述第一操作信息来在集群数据库(205)中更新(319)在所述第一存储集群中传送的存储集群信息;
确定(321)所述第一操作信息是否违反一个或多个规则的第一集合中的一个或多个规则;
响应于确定所述第一操作信息违反规则的所述第一集合中的一个或多个规则,确定(323)通知是否应当被生成;
响应于确定所述通知应当被生成,而生成(325)所述通知;
从所述节点的本地子系统获取(401)第二操作信息;
确定(411)所述第二操作信息与所述第一操作信息组合是否违反一个或多个规则的第二集合中的一个或多个规则;以及
如果所述第一操作信息和所述第二操作信息的所述组合违反规则的所述第二集合,则生成(415)通知。
2.根据权利要求1所述的方法,其中确定所述第一存储集群的所述后端和与所述第一存储集群相关联的所述第二存储集群的所述后端的所述拓扑包括:关于所述第一存储集群与所述第二存储集群之间的通信信道,而在带外从所述第二存储集群收集拓扑信息。
3.根据权利要求2所述的方法,还包括:经由带内通信来确定所述第一存储集群和所述第二存储集群二者的前端的拓扑。
4.根据权利要求2或3所述的方法,其中在带外收集所述拓扑信息包括:根据简单网络管理协议来收集所述拓扑信息。
5.根据权利要求1至3中的任一项所述的方法,其中所述第一操作信息包括:环境信息、配置信息、子系统信息或者操作统计;并且策略被定义为:在通知被生成之前,需要一定数目的违规、违规组合或者时间聚合。
6.根据权利要求1至3中的任一项所述的方法,其中周期性地获取所述第一操作信息包括:在第一时间段经由第一通信信道获取所述第一操作信息,以及在第二时间段经由第二通信信道获取所述第一操作信息。
7.根据权利要求1至3中的任一项所述的方法,其中所述操作信息包括配置信息和当前操作信息中的至少一项。
8.根据权利要求1至3中的任一项所述的方法,还包括:
确定所述第二操作信息指示所述第一存储集群与所述第二存储集群之间连通性的丢失;以及
响应于确定了所述第二操作信息指示连通性的所述丢失,确定所述第一操作信息是否也指示所述第一存储集群与所述第二存储集群之间连通性的丢失。
9.一种或多种非暂态机器可读介质,所述非暂态机器可读介质存储有程序代码,所述程序代码在被处理器执行时使节点执行在系统中使用的方法,所述系统包括第一存储集群(101)以及与所述第一存储集群相关联的第二存储集群(103),所述第一存储集群和所述第二存储集群各自具有后端,所述后端包括存储元件和网络元件,所述节点位于所述第一存储集群中,所述方法包括:
确定(301)所述第一存储集群的后端和所述第二存储集群的所述后端的拓扑;
对照拓扑验证规则来验证经确定的所述拓扑;
从所述第一存储集群后端的网络元件以及从所述第二存储集群后端的网络元件周期性地获取(311)操作信息;
响应于从网络元件接收到操作信息:
至少部分基于来自所述网络元件的所述操作信息来在集群数据库(205)中更新(319)在所述第一存储集群中传送的存储集群信息;
确定(321)所述操作信息是否违反一个或多个规则的第一集合中的一个或多个规则;
响应于确定所述操作信息违反规则的所述第一集合中的一个或多个规则,确定(323)通知是否应当被生成;
响应于确定所述通知应当被生成,而生成(325)所述通知;
从所述节点的本地子系统获取(401)操作信息;
确定(411)来自所述本地子系统的所述操作信息与周期性地获得的所述操作信息组合是否违反一个或多个规则的第二集合中的一个或多个规则;以及
如果操作信息的所述组合违反规则的所述第二集合中的一个或多个规则,则生成(415)通知。
10.根据权利要求9所述的机器可读介质,其中用于确定所述第一存储集群的所述后端和与所述第一存储集群相关联的所述第二存储集群的所述后端的所述拓扑的所述程序代码包括:用于关于所述第一存储集群与所述第二存储集群之间的通信信道,而在带外从所述第二存储集群收集拓扑信息的程序代码。
11.根据权利要求10所述的机器可读介质,所述方法还包括:经由带内通信来确定所述第一存储集群的前端和所述第二存储集群的前端的拓扑。
12.根据权利要求10或11所述的机器可读介质,其中用于带外地收集所述拓扑信息的所述程序代码包括:用于根据简单网络管理协议来收集所述拓扑信息的程序代码。
13.根据权利要求9至11中的任一项所述的机器可读介质,其中所述操作信息包括:环境信息、配置信息、子系统信息或者操作统计;并且策略被定义为:在通知被生成之前,需要一定数目的违规、违规组合或者时间聚合。
14.根据权利要求9至11中的任一项所述的机器可读介质,其中用于从所述网络元件周期性地获取所述操作信息的所述程序代码包括:用于在第一时间段经由第一通信信道从所述网络元件获取所述操作信息、以及在第二时间段经由第二通信信道从所述网络元件获取所述操作信息的程序代码。
15.根据权利要求9至11中的任一项所述的机器可读介质,其中所述操作信息包括配置信息和当前操作信息中的至少一项。
16.根据权利要求9至11中的任一项所述的机器可读介质,所述方法还包括:
确定来自所述本地子系统的所述操作信息指示所述第一存储集群与所述第二存储集群之间连通性的丢失;以及
响应于对来自所述本地子系统的所述操作信息指示连通性的所述丢失的确定,确定来自所述网络元件的所述操作信息是否也指示所述第一存储集群与所述第二存储集群之间连通性的丢失。
17.一种用于管理存储集群元件的装置,包括:
处理器;以及
存储有程序代码的机器可读存储介质,所述程序代码可由所述处理器执行,以使所述装置执行根据权利要求1至8中的任一项所述的方法。
18.一种用于管理存储集群元件的装置,包括第一存储集群(101)中的节点,所述第一存储集群与第二存储集群(103)相关联,所述第一存储集群和所述第二存储集群各自具有后端,所述后端包括存储元件和网络元件,所述节点包括:
处理器;以及
其上存储有程序代码的机器可读存储介质,所述程序代码可由所述处理器执行,以使所述装置:
确定所述第一存储集群的所述后端和所述第二存储集群的所述后端的拓扑;
对照拓扑验证规则来验证经确定的所述拓扑;
从所述第一存储集群后端的网络元件以及从所述第二存储集群后端的网络元件周期性地获取操作信息;
响应于从网络元件接收到操作信息:
至少部分基于来自所述网络元件的所述操作信息来在集群数据库中更新在所述第一存储集群中传送的存储集群信息;
确定所述操作信息是否违反一个或多个规则的第一集合中的一个或多个规则;
响应于确定所述操作信息违反所述一个或多个规则的第一集合中的一个或多个规则,确定通知是否应当被生成;
响应于确定所述通知应当被生成,而生成所述通知;
从所述节点的本地子系统获取操作信息;
确定来自所述节点的所述本地子系统的所述操作信息与周期性地获得的所述操作信息组合是否违反一个或多个规则的第二集合中的一个或多个规则;以及
如果操作信息的所述组合违反所述一个或多个规则的第二集合中的一个或多个规则,则生成通知。
19.根据权利要求18所述的装置,其中使所述装置确定所述第一存储集群的所述后端和与所述第一存储集群相关联的所述第二存储集群的所述后端的所述拓扑的所述程序代码包括由所述处理器可执行以使所述装置关于所述第一存储集群与所述第二存储集群之间的通信信道带外地从所述第二存储集群收集拓扑信息的程序代码。
20.根据权利要求19所述的装置,其中使所述装置带外地收集所述拓扑信息的所述程序代码包括由所述处理器可执行以使所述装置根据简单网络管理协议来收集所述拓扑信息的程序代码。
21.根据权利要求18至20中的任一项所述的装置,所述装置还被使得:
确定来自所述本地子系统的所述操作信息指示所述第一存储集群与所述第二存储集群之间连通性的丢失;以及
响应于来自所述本地子系统的所述操作信息指示连通性的所述丢失的确定,确定来自所述网络元件的所述操作信息是否也指示所述第一存储集群与所述第二存储集群之间连通性的所述丢失。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/613,085 US10437510B2 (en) | 2015-02-03 | 2015-02-03 | Monitoring storage cluster elements |
US14/613,085 | 2015-02-03 | ||
PCT/US2016/012980 WO2016126390A1 (en) | 2015-02-03 | 2016-01-12 | Monitoring storage cluster elements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107431643A CN107431643A (zh) | 2017-12-01 |
CN107431643B true CN107431643B (zh) | 2021-02-12 |
Family
ID=55305068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680017124.8A Active CN107431643B (zh) | 2015-02-03 | 2016-01-12 | 用于监测存储集群元件的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10437510B2 (zh) |
EP (1) | EP3254197B1 (zh) |
JP (1) | JP6586465B2 (zh) |
CN (1) | CN107431643B (zh) |
WO (1) | WO2016126390A1 (zh) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058120B2 (en) * | 2011-11-09 | 2015-06-16 | International Business Machines Corporation | Setting optimal space allocation policy for creating dependent snapshots to enhance application write performance and reduce resource usage |
US9781004B2 (en) | 2014-10-16 | 2017-10-03 | Cisco Technology, Inc. | Discovering and grouping application endpoints in a network environment |
US10868754B2 (en) * | 2016-01-27 | 2020-12-15 | Nebbiolo Technologies Inc. | High availability input/output management nodes |
US10809998B2 (en) | 2016-02-12 | 2020-10-20 | Nutanix, Inc. | Virtualized file server splitting and merging |
JP6982717B2 (ja) | 2016-03-25 | 2021-12-17 | ティーティーテック インダストリアル オートメーション アーゲー | フォグコンピューティング促進型フレキシブル工場 |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
US10372560B2 (en) * | 2016-06-22 | 2019-08-06 | EMC IP Holding Company LLC | Cloud storage write cache management system and method |
US10616347B1 (en) * | 2016-10-20 | 2020-04-07 | R&D Industries, Inc. | Devices, systems and methods for internet and failover connectivity and monitoring |
US10798063B2 (en) | 2016-10-21 | 2020-10-06 | Nebbiolo Technologies, Inc. | Enterprise grade security for integrating multiple domains with a public cloud |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
US11562034B2 (en) | 2016-12-02 | 2023-01-24 | Nutanix, Inc. | Transparent referrals for distributed file servers |
US11294777B2 (en) | 2016-12-05 | 2022-04-05 | Nutanix, Inc. | Disaster recovery for distributed file servers, including metadata fixers |
US11281484B2 (en) | 2016-12-06 | 2022-03-22 | Nutanix, Inc. | Virtualized server systems and methods including scaling of file system virtual machines |
US11288239B2 (en) | 2016-12-06 | 2022-03-29 | Nutanix, Inc. | Cloning virtualized file servers |
US20180205612A1 (en) * | 2017-01-13 | 2018-07-19 | Portworx, Inc. | Clustered containerized applications |
US10826788B2 (en) | 2017-04-20 | 2020-11-03 | Cisco Technology, Inc. | Assurance of quality-of-service configurations in a network |
CN108933708B (zh) * | 2017-05-27 | 2021-03-09 | 中国互联网络信息中心 | 一种分布式dns服务的多维度校验方法和系统 |
US10693738B2 (en) | 2017-05-31 | 2020-06-23 | Cisco Technology, Inc. | Generating device-level logical models for a network |
US10505816B2 (en) | 2017-05-31 | 2019-12-10 | Cisco Technology, Inc. | Semantic analysis to detect shadowing of rules in a model of network intents |
US10812318B2 (en) | 2017-05-31 | 2020-10-20 | Cisco Technology, Inc. | Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment |
US10554483B2 (en) | 2017-05-31 | 2020-02-04 | Cisco Technology, Inc. | Network policy analysis for networks |
US20180351788A1 (en) | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Fault localization in large-scale network policy deployment |
US10439875B2 (en) | 2017-05-31 | 2019-10-08 | Cisco Technology, Inc. | Identification of conflict rules in a network intent formal equivalence failure |
US10623271B2 (en) | 2017-05-31 | 2020-04-14 | Cisco Technology, Inc. | Intra-priority class ordering of rules corresponding to a model of network intents |
US10587621B2 (en) | 2017-06-16 | 2020-03-10 | Cisco Technology, Inc. | System and method for migrating to and maintaining a white-list network security model |
US11645131B2 (en) | 2017-06-16 | 2023-05-09 | Cisco Technology, Inc. | Distributed fault code aggregation across application centric dimensions |
US11469986B2 (en) | 2017-06-16 | 2022-10-11 | Cisco Technology, Inc. | Controlled micro fault injection on a distributed appliance |
US11150973B2 (en) | 2017-06-16 | 2021-10-19 | Cisco Technology, Inc. | Self diagnosing distributed appliance |
US10904101B2 (en) | 2017-06-16 | 2021-01-26 | Cisco Technology, Inc. | Shim layer for extracting and prioritizing underlying rules for modeling network intents |
US10498608B2 (en) * | 2017-06-16 | 2019-12-03 | Cisco Technology, Inc. | Topology explorer |
US10574513B2 (en) | 2017-06-16 | 2020-02-25 | Cisco Technology, Inc. | Handling controller and node failure scenarios during data collection |
US10348564B2 (en) | 2017-06-19 | 2019-07-09 | Cisco Technology, Inc. | Validation of routing information base-forwarding information base equivalence in a network |
US11283680B2 (en) | 2017-06-19 | 2022-03-22 | Cisco Technology, Inc. | Identifying components for removal in a network configuration |
US10528444B2 (en) | 2017-06-19 | 2020-01-07 | Cisco Technology, Inc. | Event generation in response to validation between logical level and hardware level |
US10341184B2 (en) | 2017-06-19 | 2019-07-02 | Cisco Technology, Inc. | Validation of layer 3 bridge domain subnets in in a network |
US10567228B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validation of cross logical groups in a network |
US10536337B2 (en) | 2017-06-19 | 2020-01-14 | Cisco Technology, Inc. | Validation of layer 2 interface and VLAN in a networked environment |
US10700933B2 (en) | 2017-06-19 | 2020-06-30 | Cisco Technology, Inc. | Validating tunnel endpoint addresses in a network fabric |
US10644946B2 (en) | 2017-06-19 | 2020-05-05 | Cisco Technology, Inc. | Detection of overlapping subnets in a network |
US10411996B2 (en) | 2017-06-19 | 2019-09-10 | Cisco Technology, Inc. | Validation of routing information in a network fabric |
US10560355B2 (en) | 2017-06-19 | 2020-02-11 | Cisco Technology, Inc. | Static endpoint validation |
US10805160B2 (en) | 2017-06-19 | 2020-10-13 | Cisco Technology, Inc. | Endpoint bridge domain subnet validation |
US10567229B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validating endpoint configurations between nodes |
US10554493B2 (en) | 2017-06-19 | 2020-02-04 | Cisco Technology, Inc. | Identifying mismatches between a logical model and node implementation |
US11343150B2 (en) | 2017-06-19 | 2022-05-24 | Cisco Technology, Inc. | Validation of learned routes in a network |
US10333787B2 (en) | 2017-06-19 | 2019-06-25 | Cisco Technology, Inc. | Validation of L3OUT configuration for communications outside a network |
US10505817B2 (en) | 2017-06-19 | 2019-12-10 | Cisco Technology, Inc. | Automatically determining an optimal amount of time for analyzing a distributed network environment |
US10812336B2 (en) | 2017-06-19 | 2020-10-20 | Cisco Technology, Inc. | Validation of bridge domain-L3out association for communication outside a network |
US10437641B2 (en) | 2017-06-19 | 2019-10-08 | Cisco Technology, Inc. | On-demand processing pipeline interleaved with temporal processing pipeline |
US10623259B2 (en) | 2017-06-19 | 2020-04-14 | Cisco Technology, Inc. | Validation of layer 1 interface in a network |
WO2019006016A1 (en) * | 2017-06-29 | 2019-01-03 | Level 3 Communications, Llc | CONTINUOUS DIFFUSION SERVER STATISTICS AND PREDICTIVE MITIGATION |
US10873509B2 (en) | 2018-01-17 | 2020-12-22 | Cisco Technology, Inc. | Check-pointing ACI network state and re-execution from a check-pointed state |
US10678610B2 (en) * | 2018-04-11 | 2020-06-09 | Oracle International Corporation | Using and updating topological relationships amongst a set of nodes in event clustering |
US11086738B2 (en) * | 2018-04-24 | 2021-08-10 | EMC IP Holding Company LLC | System and method to automate solution level contextual support |
US11086826B2 (en) | 2018-04-30 | 2021-08-10 | Nutanix, Inc. | Virtualized server systems and methods including domain joining techniques |
US10812315B2 (en) | 2018-06-07 | 2020-10-20 | Cisco Technology, Inc. | Cross-domain network assurance |
US11044273B2 (en) | 2018-06-27 | 2021-06-22 | Cisco Technology, Inc. | Assurance of security rules in a network |
US10659298B1 (en) | 2018-06-27 | 2020-05-19 | Cisco Technology, Inc. | Epoch comparison for network events |
US11019027B2 (en) | 2018-06-27 | 2021-05-25 | Cisco Technology, Inc. | Address translation for external network appliance |
US10911495B2 (en) | 2018-06-27 | 2021-02-02 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11218508B2 (en) | 2018-06-27 | 2022-01-04 | Cisco Technology, Inc. | Assurance of security rules in a network |
US10904070B2 (en) | 2018-07-11 | 2021-01-26 | Cisco Technology, Inc. | Techniques and interfaces for troubleshooting datacenter networks |
CN109086185B (zh) * | 2018-07-19 | 2022-04-22 | 郑州云海信息技术有限公司 | 一种存储集群的故障检测方法、装置、设备及存储介质 |
US10826770B2 (en) | 2018-07-26 | 2020-11-03 | Cisco Technology, Inc. | Synthesis of models for networks using automated boolean learning |
US10616072B1 (en) | 2018-07-27 | 2020-04-07 | Cisco Technology, Inc. | Epoch data interface |
US10728333B2 (en) * | 2018-08-01 | 2020-07-28 | International Business Machines Corporation | Dynamically switching between object storage transfer protocols |
US11023133B2 (en) | 2018-08-16 | 2021-06-01 | Acronis International Gmbh | Systems and methods for modifying storage system configuration using artificial intelligence |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
CN109936480B (zh) * | 2019-03-19 | 2020-09-15 | 鹏城实验室 | 网络拓扑发现方法及装置、存储介质及电子设备 |
CN110187838B (zh) * | 2019-05-30 | 2023-06-20 | 北京百度网讯科技有限公司 | 数据io信息处理方法、分析方法、装置和相关设备 |
US11301557B2 (en) | 2019-07-19 | 2022-04-12 | Dell Products L.P. | System and method for data processing device management |
US11409634B2 (en) * | 2019-11-14 | 2022-08-09 | Cisco Technology, Inc. | Retroactive tracing in a distributed system |
US11121914B2 (en) * | 2019-11-22 | 2021-09-14 | Walmart Apollo, Llc | Monitoring and self-healing of deployed environments |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US11201785B1 (en) * | 2020-05-26 | 2021-12-14 | Dell Products L.P. | Cluster deployment and management system |
CN112286755B (zh) * | 2020-09-24 | 2023-05-05 | 曙光信息产业股份有限公司 | 集群服务器带外数据采集方法、装置和计算机设备 |
US20230066137A1 (en) | 2021-08-19 | 2023-03-02 | Nutanix, Inc. | User interfaces for disaster recovery of distributed file servers |
CN116680066A (zh) * | 2022-02-23 | 2023-09-01 | 戴尔产品有限公司 | 用基于dhcp的资源来管理超融合基础架构(hci)设备节点和集群 |
US12009965B2 (en) * | 2022-07-18 | 2024-06-11 | VMware LLC | Methods and systems for discovering incidents through clustering of alert occurring in a data center |
US20240036997A1 (en) * | 2022-07-28 | 2024-02-01 | Netapp, Inc. | Methods and systems to improve input/output (i/o) resumption time during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11831715B1 (en) * | 2022-10-19 | 2023-11-28 | Dell Products L.P. | Scalable ethernet bunch of flash (EBOF) storage system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330431A (zh) * | 2007-06-19 | 2008-12-24 | 阿里巴巴集团控股有限公司 | 一种即时信息存储方法和系统 |
WO2014090070A1 (en) * | 2012-12-13 | 2014-06-19 | Tencent Technology (Shenzhen) Company Limited | Method and system for managing servers |
EP2784677A1 (en) * | 2013-03-26 | 2014-10-01 | Fujitsu Limited | Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold |
CN104320495A (zh) * | 2014-11-13 | 2015-01-28 | 许继电气股份有限公司 | 一种用电信息采集系统的海量数据存储方法及系统 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6466949B2 (en) * | 1998-11-23 | 2002-10-15 | Myway.Com Corporation | Performing event notification in a database having a distributed web cluster |
USRE40866E1 (en) * | 2000-09-27 | 2009-08-04 | Huron Ip Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment |
EP1282328A1 (de) * | 2001-07-27 | 2003-02-05 | Alcatel | Verfahren zum Aufbau von Telekommunikationsverbindungen im Anschlussbereich einer Teilnehmervermittlungsstelle, Teilnehmeranschlusssystem, Teilnehmervermittlungsstelle und Vorfeldeinrichtung |
CA2383881A1 (en) * | 2002-04-29 | 2003-10-29 | Ibm Canada Limited-Ibm Canada Limitee | Generic control interface with multi-level status |
US7533169B1 (en) | 2003-12-22 | 2009-05-12 | Symantec Operating Corporation | Object-driven visualization mechanism for zoning information on a storage area network |
JP4686303B2 (ja) * | 2005-08-24 | 2011-05-25 | 株式会社日立製作所 | ストレージ管理方法およびストレージシステム |
US7380074B2 (en) * | 2005-11-22 | 2008-05-27 | International Business Machines Corporation | Selecting storage clusters to use to access storage |
US7783605B2 (en) * | 2005-12-30 | 2010-08-24 | Microsoft Corporation | Calculating cluster availability |
JP4466615B2 (ja) * | 2006-06-16 | 2010-05-26 | 日本電気株式会社 | 運用管理システム、監視装置、被監視装置、運用管理方法及びプログラム |
US7822841B2 (en) * | 2007-10-30 | 2010-10-26 | Modern Grids, Inc. | Method and system for hosting multiple, customized computing clusters |
US8041996B2 (en) * | 2008-01-11 | 2011-10-18 | Alcatel Lucent | Method and apparatus for time-based event correlation |
JP5542398B2 (ja) * | 2009-09-30 | 2014-07-09 | 株式会社日立製作所 | 障害の根本原因解析結果表示方法、装置、及びシステム |
US9641394B2 (en) | 2012-01-30 | 2017-05-02 | Microsoft Technology Licensing, Llc | Automated build-out of a cloud-computing stamp |
US8418000B1 (en) * | 2012-03-13 | 2013-04-09 | True Metrics LLC | System and methods for automated testing of functionally complex systems |
US8751620B2 (en) * | 2012-03-30 | 2014-06-10 | International Business Machines Corporation | Validating deployment patterns in a networked computing environment |
US9348724B2 (en) * | 2012-05-21 | 2016-05-24 | Hitachi, Ltd. | Method and apparatus for maintaining a workload service level on a converged platform |
BR112015001818A2 (pt) * | 2012-07-27 | 2017-08-08 | Adaptive Spectrum & Signal Alignment Inc | sistema de gerenciamento e métodos de gerenciamento de transmissão duplex por divisão de tempo (tdd) através de cobre |
US8843688B2 (en) * | 2012-09-11 | 2014-09-23 | International Business Machines Corporation | Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system |
US9565080B2 (en) * | 2012-11-15 | 2017-02-07 | Microsoft Technology Licensing, Llc | Evaluating electronic network devices in view of cost and service level considerations |
US9195483B2 (en) * | 2013-01-28 | 2015-11-24 | Dell Products L.P. | Systems and methods for mirroring virtual functions in a chassis configured to receive a plurality of modular information handling systems and a plurality of modular information handling resources |
US9507932B2 (en) * | 2014-09-12 | 2016-11-29 | Alcatel Lucent | Policy enforcement in a topology abstraction system |
US11159599B2 (en) * | 2014-10-10 | 2021-10-26 | Dynatrace Llc | Method and system for real-time modeling of communication, virtualization and transaction execution related topological aspects of monitored software applications and hardware entities |
-
2015
- 2015-02-03 US US14/613,085 patent/US10437510B2/en active Active
-
2016
- 2016-01-12 JP JP2017541285A patent/JP6586465B2/ja active Active
- 2016-01-12 WO PCT/US2016/012980 patent/WO2016126390A1/en active Application Filing
- 2016-01-12 CN CN201680017124.8A patent/CN107431643B/zh active Active
- 2016-01-12 EP EP16703192.1A patent/EP3254197B1/en active Active
-
2019
- 2019-10-03 US US16/591,714 patent/US11106388B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330431A (zh) * | 2007-06-19 | 2008-12-24 | 阿里巴巴集团控股有限公司 | 一种即时信息存储方法和系统 |
WO2014090070A1 (en) * | 2012-12-13 | 2014-06-19 | Tencent Technology (Shenzhen) Company Limited | Method and system for managing servers |
EP2784677A1 (en) * | 2013-03-26 | 2014-10-01 | Fujitsu Limited | Processing apparatus, program and method for logically separating an abnormal device based on abnormality count and a threshold |
CN104320495A (zh) * | 2014-11-13 | 2015-01-28 | 许继电气股份有限公司 | 一种用电信息采集系统的海量数据存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3254197B1 (en) | 2020-09-09 |
EP3254197A1 (en) | 2017-12-13 |
US20200034069A1 (en) | 2020-01-30 |
CN107431643A (zh) | 2017-12-01 |
US10437510B2 (en) | 2019-10-08 |
JP6586465B2 (ja) | 2019-10-02 |
US11106388B2 (en) | 2021-08-31 |
US20160224277A1 (en) | 2016-08-04 |
WO2016126390A1 (en) | 2016-08-11 |
JP2018513442A (ja) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107431643B (zh) | 用于监测存储集群元件的方法和装置 | |
US9864517B2 (en) | Actively responding to data storage traffic | |
US8738961B2 (en) | High-availability computer cluster with failover support based on a resource map | |
US9836345B2 (en) | Forensics collection for failed storage controllers | |
US9736046B1 (en) | Path analytics using codebook correlation | |
US20110173350A1 (en) | Using a storage controller to determine the cause of degraded i/o performance | |
US8949653B1 (en) | Evaluating high-availability configuration | |
US9781201B2 (en) | Multicast transport | |
EP3956771B1 (en) | Timeout mode for storage devices | |
US9720789B2 (en) | Multicast transport configuration | |
CN107864055A (zh) | 虚拟化系统的管理方法及平台 | |
US20160234108A1 (en) | Selective data collection using a management system | |
US9639431B2 (en) | Fault policy implementation | |
US8489721B1 (en) | Method and apparatus for providing high availabilty to service groups within a datacenter | |
US10177968B2 (en) | Multipath driver cognitive analysis | |
US10452285B2 (en) | Storage system based host computer monitoring | |
AU2021266891B2 (en) | Fencing non-responding ports in a network fabric | |
US9143410B1 (en) | Techniques for monitoring guest domains configured with alternate I/O domains | |
US11474904B2 (en) | Software-defined suspected storage drive failure identification | |
US20240303146A1 (en) | Detection and mitigation of malfunctioning components in a cluster computing environment | |
US20240028723A1 (en) | Suspicious workspace instantiation detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |