G06F11/1425

Method and apparatus for redundancy in active-active cluster system
11194679 · 2021-12-07 · ·

A method is applied to a system including a host cluster and at least one pair of storage arrays. The host cluster includes a quorum host, which includes a quorum unit. The quorum host is an application host having a quorum function. A pair of storage arrays includes a first storage array and a second storage array. The quorum host receives a quorum request, temporarily stops delivering a service to the first storage array and the second storage array, determines, from the first storage array and the second storage array, which is a quorum winning storage array and which is a quorum losing storage array according to logic judgment, stops the service with the quorum losing storage array, sends quorum winning information to the quorum winning storage array, and resumes the delivered service between the host cluster and the quorum winning storage array.

Two node clusters recovery on a failure

Systems and methods for high availability computing systems. Systems and methods include disaster recovery of two-node computing clusters. A method embodiment commences upon identifying a computing cluster having two nodes, the two nodes corresponding to a first node and a second node that each send and receive heartbeat indications periodically while performing storage I/O operations. One or both of the two nodes detect a heartbeat failure between the two nodes, and in response to detecting the heartbeat failure, one or both of the nodes temporarily cease storage I/O operations. A witness node is accessed in an on-demand basis as a result of detecting the heartbeat failure. The witness performs a leadership election operation to provide a leadership lock to only one requestor. The leader then resumes storage I/O operations and performs one or more disaster remediation operations. After remediation, the computing cluster is restored to a configuration having two nodes.

Connectivity-aware witness for active-active storage

Architectures and techniques are described that can enhance the functionality of a witness for an active-active storage array. In the event of a dual storage area network (SAN) failure, or another suitable event, host-array connectivity can take precedence for the witness in determining a winner or loser. Techniques are presented to identify connectivity issues and to utilize connectivity data in connection with determining a winner or a loser.

LEADER ELECTION IN A DISTRIBUTED SYSTEM

Example implementations relate to consensus protocols in a stretched network. According to an example, a distributed system includes continuously monitoring network performance and/or network latency among a cluster of a plurality of nodes in a distributed computer system. Leadership priority for each node is set based at least in part on the monitored network performance or network latency. Each node has a vote weight based at least in part on the leadership priority of the node. Each node's vote is biased by the node's vote weight. The node having a number of biased votes higher than a maximum possible number of votes biased by respective vote weights received by any other node in the cluster is selected as a leader node.

Storage cluster configuration change method, storage cluster, and computer system

Various embodiments provide a storage cluster configuration change method, an apparatus, a computer system, and the like. In a storage cluster that uses a consensus replication protocol, when half of storage nodes become faulty, if it is determined that at least one storage node exists in the storage cluster after the fault, and a latest log index number of the storage node is greater than or equal to an index number of a committed log provided by the storage cluster for a client, an arbitration module sends a forced cluster configuration change instruction to a fault-free storage node. The forced cluster configuration change instruction is used to instruct the fault-free storage node to change local cluster configuration information.

Method and system for efficient updating of data in a linked node system

In general, embodiments of the invention relate to storing data and managing the stored data in linked nodes. Managing the data in the linked nodes includes updating erasure coded data in a manner that reduces the transmission of data chunks and parity chunks between the linked nodes.

SYSTEMS AND METHODS FOR MANAGING A HIGHLY AVAILABLE AND SCALABLE DISTRIBUTED DATABASE IN A CLOUD COMPUTING ENVIRONMENT

Systems and methods for managing a highly available distributed database comprising: a memory storing instructions; and one or more processors configured to execute the instructions to: determine that a source node, in a distributed database comprising the source node and one or more replica nodes, is not available; select a most-updated replica node from the one or more replica nodes; switch a role of the most-updated replica node to source; update a data store to label the source node as unavailable and the selected replica node as being a promoted source node; send a notification to a user device to update a database topology based on the updated data store; determine whether the user device has updated the database topology; and upon determining the user device has not updated the database topology, continue to send the notification to the user device until the user device has updated the database topology.

Systems and methods for enabling a highly available managed failover service

a data store and a proxy system. The data store may store state data relating to a cell of the application, each cell having a state. The proxy system may identify whether the cell is operating in the active state, the passive state, or the fenced state and access a database of acceptable and unacceptable commands for the cell's state. For each request directed to the cell received, the proxy system may identifies the request as an acceptable request based on identifying that one or more commands of the request are acceptable to process in the cell's state or identifies the request as an unacceptable request based on identifying that one or more commands of the request are unacceptable to process in the cell's state. The proxy system then conveys the acceptable requests and unacceptable requests appropriately.

Flexible byzantine fault tolerance

A method and system for performing a flexible Byzantine fault tolerant (BFT) protocol. The method includes sending, from a client device, a proposed value to a plurality of replica devices and receiving, from at least one of the plurality of replica devices, a safe vote on the proposed value. The replica device sends the safe vote, based on a first quorum being reached, to the client device and each of the other replica devices of the plurality of replica devices. The method further includes determining that a number of received safe votes for the proposed value meets or exceeds a second quorum threshold, selecting the proposed value based on the determination, and setting a period of time within which to receive additional votes. The method further includes, based on the period of time elapsing without receiving the additional votes, committing the selected value for the single view.

REDIRECTING I/O COMMUNICATIONS BASED ON NETWORK TOPOLOGY

Path components associated with I/O paths between another network component and a target system may be determined, and the health of target ports on such I/O paths may be determined. Failed I/O communications may be redirected based on the determined path components and the determined health of target ports. In response to a failed I/O communication, it may be determined which of the remaining I/O paths between the host system and the storage system has the least amount of associated path components in common with the failed I/O path, and the I/O communication may be redirected on such I/O path. The redirect I/O path also may be selected based on the health ranking of target ports of the I/O paths.