Claims
- 1. A storage server in a storage area network connecting a plurality of host computers and a plurality of storage devices, said storage server comprising:
a plurality of storage processors configured to communicate data with said plurality of host computers and said plurality of storage devices via said storage area network; a switching circuit connecting said plurality of storage processors; a control processor; first software control means for creating one or more failover sets, each failover set comprising one or more devices; second software control means for detecting a failure of a first component, said first component belonging to a first failure set; and third software control means for selecting an alternate component belonging to said first failure set, wherein said alternate component replaces the service provided by said first component.
- 2. A storage management device for exchanging data between a plurality of computer users and a plurality of storage devices, the storage management device comprising:
one or more control modules, each having one or more first data ports; one or more storage control modules, each having one or more second data ports; one or more data stores; a switch fabric configured to selectively exchange data among said first data ports and said second data ports, some of said first data ports and said second data ports receiving and transmitting data with said computer users, others of said first data ports and said second data ports receiving and transmitting data with said storage devices; and program code adapted to execute on each of said one or more control modules, said program code comprising:
a first code component configured to operate one of said control modules to define a plurality of failover sets, said failover sets comprising combinations of said first and second data ports and said data stores; a second code component configured to operate one of said control modules to detect as a failed service a failure of one of said first and second data ports and said data stores; and a third code component configured to operate one of said control modules to identify a failover set associated with said failed service and to identify an alternate from said associated failover set.
- 3. In a storage management device for exchanging data between a plurality of computer users and a plurality of physical storage devices, the storage management device comprising a plurality of first data ports configured for communication with said computer users, a plurality of second data ports configured for communication with said physical storage devices, and a switch fabric configured to selectively exchange data among said first data ports and said second data ports, a method of managing a failure comprising:
providing a failover set comprising one or more components, said components comprising one or more of said first and second data ports and said physical storage devices; detecting a failure in a first component; identifying a first failure set, said first failure set including said first component; and identifying a second component in said first failure set, wherein said second component replaces the functionality of said first component.
- 4. A method for supporting failover between networked storage systems, coupled between a first storage system and a second storage system and a set of one or more storage systems, comprising:
providing a single homogeneous environment distributed across several processors, cards, and storage systems; identifying member candidates using a standard protocol; creating Failover Sets, each Failover Set comprising one or more of said member candidates; using a database to store and synchronize a configuration on all member candidates in a Failover Set; for each Failover Set, designating one of its member candidates as a Primary, designating one of its member candidates as a Secondary, and designating remaining member candidates as Alternates; performing startup processing of the member candidates; and providing policies for run-time member behavior including fault characterization and detection, health monitoring, compatibility requirements, corrective action during failover, member restart and re-integration, and the member failure limit exceeded condition.
- 5. The method of claim 1 wherein said storage systems include a single chassis-based product.
- 6. The method of claim 1 wherein said storage systems include a single stack-based product.
- 7. The method of claim 1 wherein said storage systems include two or more chassis-based products.
- 8. The method of claim 1 wherein said storage systems include two or more stack-based products.
- 9. The method of claim 1 wherein redundant network links between said networked storage systems are employed by:
a Discovery Service to identify said member candidates and verify connectivity by confirming information exchanged in each network; an Arbitration Service to ensure that a member candidate's role is Primary, a member candidate's role is Secondary, and remaining member candidates' roles are Alternates, by supplying a member role in information exchanged in each network; a Boot Service to coordinate said member role during startup using the type of boot by exchanging said member role in each network; and a Policy Manger within the Failover Service to distinguish between a communications link failure between member candidates and a real member failure by sending a self-test using the redundant network to determine if said member candidate is functioning according to its specification.
- 10. The method of claim 9 wherein said network links include different network protocols.
- 11. The method of claim 9 wherein user configuration and management requests are load balanced across all of said member candidates.
- 12. The method of claim 9 wherein multi-path programming for attached host and storage devices is load balanced across all of said member candidates and comprises:
a port failover policy which is used to intelligently match server storage requests to compatible storage devices comprising;
an Active-Active policy where all paths to an exported virtual device can transfer commands and data simultaneously; and an Active-Passive policy where only one path to said exported virtual device can transfer commands and data at a time.
- 13. A system for supporting failover between networked storage systems, coupled between a first storage system and a second storage system and a set of one or more storage systems, comprising:
a Services Framework to provide a single homogeneous environment distributed across several processors, cards, and storage systems; a set of configuration and management software called Services that execute on top of the Services Framework comprising:
a Discovery Service to identify member candidates using a standard protocol; and a Failover Service to organize the members into various compositions call Failover Sets, including Single, Hierarchical and N-way compositions; a database management system to store and synchronize the configuration on all members in the failover set; an Arbitration Service to determines that one member's role is Primary, one member's role is Secondary, and the remaining member's roles are Alternates; a Boot Service to coordinate the member role during startup using the type of boot; and a Policy Manager within the Failover Service to provide policies for run-time member behavior including fault characterization and detection, health monitoring, compatibility requirements, corrective action during failover, member restart and re-integration, and the member failure limit exceeded condition.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] The present application claims priority from the following U.S. Provisional application: U.S. Application No. 60/268,694, filed Feb. 13, 2001 and titled “Virtual Storage Systems which is incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60268694 |
Feb 2001 |
US |