Storage device failover
First Claim
1. A method, comprising:
- representing a plurality of storage devices as resources of a cluster, to a cluster resource manager executing within the cluster, that manages cluster resources on a plurality of cluster nodes, the cluster resource manager executing as a user-level application;
receiving, at a kernel-level storage driver executing within the cluster, a request from a client outside the cluster for a failover operation with respect to one of the plurality of storage devices, the failover operation requested by the client in response to the client detecting that a failure relating to the plurality of storage devices has occurred;
in response to the request, causing the cluster resource manager to initiate the failover operation; and
providing, before the failover operation has been performed, a response to the client indicating that the request has been processed.
9 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed relating to storage device failover. In one embodiment, a plurality of storage devices are represented as cluster resources to a cluster resource manager that manages cluster resources on a plurality of cluster nodes. An indication may be received that a failover operation is requested with respect to one of the plurality of storage devices. In response to the indication, the cluster resource manager may initiate the failover operation. In some embodiments, the failover operation includes changing a first access state of the storage device and a second access state of another storage device. In such an embodiment, the storage device and the other storage device may be associated with a logical unit number. In some embodiments, the storage device is located within a first of the plurality of cluster nodes; the other storage device is located within a second of the plurality of cluster nodes.
-
Citations
20 Claims
-
1. A method, comprising:
-
representing a plurality of storage devices as resources of a cluster, to a cluster resource manager executing within the cluster, that manages cluster resources on a plurality of cluster nodes, the cluster resource manager executing as a user-level application; receiving, at a kernel-level storage driver executing within the cluster, a request from a client outside the cluster for a failover operation with respect to one of the plurality of storage devices, the failover operation requested by the client in response to the client detecting that a failure relating to the plurality of storage devices has occurred; in response to the request, causing the cluster resource manager to initiate the failover operation; and providing, before the failover operation has been performed, a response to the client indicating that the request has been processed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus, comprising:
-
a management module configured to initialize a cluster resource manager for a cluster, the cluster resource manager executing within the cluster as a user-level application, the cluster resource manager configured to make a determination whether to fail over a cluster resource from a first cluster node to a second cluster node, wherein the cluster resource corresponds to a logical disk having a logical unit number; and a communication module configured to; use a kernel-level storage driver to receive a first request within the cluster, from a client outside the cluster, to fail over the cluster resource, the request submitted by the client in response to the client detecting that a failure relating to the cluster resource has occurred; and provide, while the cluster resource manager is being initialized, a response to the client, the response indicating that the first request cannot be processed. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable medium having program instructions stored thereon, wherein the program instructions are executable by a computing system to cause the computing system to perform operations comprising:
-
receiving a small computer system interface (SCSI) protocol request associated with a plurality of storage devices, the request received by a kernel-level storage driver for a cluster comprising the plurality of storage devices, the SCSI protocol request issued by a client separate from the cluster in response to the client detecting that a failure relating to the plurality of storage devices has occurred; adjusting, based on the request, one or more parameters associated with a policy of the computing system, wherein the policy is used to determine a distribution of a plurality of resources across a plurality of computer systems; sending an indication of the determined distribution to one or more of the plurality of computer systems, wherein the indication is usable for a user-level cluster resource manager to perform a failover corresponding to a logical unit number of one of the plurality of storage devices; and providing, before the failover has been performed, a response to the client indicating that the request has been processed. - View Dependent Claims (14, 15, 16)
-
-
17. A non-transitory computer readable medium having program instructions stored thereon, wherein the program instructions are executable by a computing system of a cluster to cause the computing system to perform operations comprising:
-
receiving, at a kernel-level storage driver, a request to change an access state associated with one or more storage devices, the request received by a cluster comprising the one or more storage devices, the request sent by a client outside of the cluster in response to the client detecting that a failure relating to the one or more storage devices has occurred; in response to the request, making, at a user-level cluster resource manager, a determination to fail over a cluster resource associated with the one or more storage devices; and providing, before failing over the cluster resource has been performed, a response to the client indicating that the request has been processed. - View Dependent Claims (18, 19, 20)
-
Specification