High-availability of a storage system in a hierarchical virtual server environment
First Claim
1. A method for providing high-availability of client data comprising:
- configuring a plurality of storage access servers as a redundant array of storage access servers (RASAS), each storage access server comprising;
a set of one or more storage devices for storing client data;
one or more storage access virtual machines (VMs), each storage access VM executing a separate storage operating system providing an overall set of storage functions, each storage access VM configured for performing only an assigned sub-set of storage functions of the overall set of storage functions and is not configured for performing all storage functions of the overall set of storage functions provided by the storage operating system, the assigned sub-set of storage functions of each storage access VM comprising storage access functions for receiving storage access sub-requests from a storage transaction server and executing the storage access sub-requests on the set of storage devices; and
configuring at least one storage transaction server for;
receiving an access request from a client system;
producing at least two storage access sub-requests from the received access request, the at least two storage access sub-requests being based on the RASAS configuration of the plurality of storage access servers;
communicating each storage access sub-request to a storage access server for execution.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein is a high-availability storage system having hierarchical levels of storage functions. The storage system may comprise one or more hierarchical levels, each hierarchical level comprising physical servers and be assigned to perform a particular set of storage functions. Each physical server may implement one or more VMs configured to perform only the set of storage functions assigned to the hierarchical level on which the VM executes. VMs of a first hierarchical level may be configured to organize the VMs of a second hierarchical level into a redundant array of storage access servers for providing data reliability and high-availability of the storage system. VMs of a first hierarchical level are configured to produce and route sub-requests to the VMs of a second hierarchical level. Failure of a sub-request is detected and remedied by a VM of the first hierarchical level.
97 Citations
21 Claims
-
1. A method for providing high-availability of client data comprising:
-
configuring a plurality of storage access servers as a redundant array of storage access servers (RASAS), each storage access server comprising; a set of one or more storage devices for storing client data; one or more storage access virtual machines (VMs), each storage access VM executing a separate storage operating system providing an overall set of storage functions, each storage access VM configured for performing only an assigned sub-set of storage functions of the overall set of storage functions and is not configured for performing all storage functions of the overall set of storage functions provided by the storage operating system, the assigned sub-set of storage functions of each storage access VM comprising storage access functions for receiving storage access sub-requests from a storage transaction server and executing the storage access sub-requests on the set of storage devices; and configuring at least one storage transaction server for; receiving an access request from a client system; producing at least two storage access sub-requests from the received access request, the at least two storage access sub-requests being based on the RASAS configuration of the plurality of storage access servers; communicating each storage access sub-request to a storage access server for execution. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable medium having instructions stored thereon when executed by a processor, provide high-availability of client data, the computer readable medium comprising instructions for:
-
configuring a plurality of storage access servers as a redundant array of storage access servers (RASAS), each storage access server comprising; a set of one or more storage devices for storing client data; one or more storage access virtual machines (VMs), each storage access VM executing a separate storage operating system providing an overall set of storage functions, each storage access VM configured for performing only an assigned sub-set of storage functions of the overall set of storage functions and is not configured for performing all storage functions of the overall set of storage functions provided by the storage operating system, the assigned sub-set of storage functions of each storage access VM comprising storage access functions for receiving storage access sub-requests from a storage transaction server and executing the storage access sub-requests on the set of storage devices; and configuring at least one storage transaction server for; receiving an access request from a client system; producing at least two storage access sub-requests from the received access request, the at least one storage access sub-requests being based on the RASAS configuration of the plurality of storage access servers; communicating each storage access sub-request to a storage access server for execution. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a plurality of storage access servers configured as a redundant array of storage access servers (RASAS), each storage access server comprising; a set of one or more storage devices for storing client data; a memory for storing application instructions; a processor for executing the application instructions; one or more storage access virtual machines (VMs), each storage access VM executing a separate storage operating system providing an overall set of storage functions, each storage access VM configured for performing only an assigned sub-set of storage functions of the overall set of storage functions and is not configured for performing all storage functions of the overall set of storage functions provided by the storage operating system, the assigned sub-set of storage functions of each storage access VM comprising storage access functions for receiving storage access sub-requests from a storage transaction server and executing the storage access sub-requests on the set of storage devices; and at least one storage transaction server configured for; receiving an access request from a client system; producing at least two storage access sub-requests from the received access request, the at least two storage access sub-requests being based on the RASAS configuration of the plurality of storage access servers; communicating each storage access sub-request to a storage access server for execution. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification