Active-active metro-cluster scale-out for unified data path architecture
First Claim
1. A method of processing IO requests in a data storage metro-cluster, comprising:
- virtualizing a set of LUNs (logical unit numbers) to make the LUNs accessible by any of multiple storage processors within the data storage metro-cluster;
operating, on each of the storage processors, a clustered storage pool, the clustered storage pool deriving storage units from the set of virtualized LUNs for provisioning to data objects and maintaining consistency with the clustered storage pool on each of the other storage processors such that changes to a clustered storage pool on one storage processor are reflected in the clustered storage pools of all storage processors;
operating, on each of the storage processors, a clustered file system presenting a single namespace shared among the storage processors, the clustered file system provisioned from storage units of the clustered storage pool and storing a data object realized in a form of a file of the clustered file system; and
in response to receiving IO requests, providing read and write access to the data object by the storage processors of the metro-cluster in an active-active arrangement,wherein the multiple storage processors include a first storage processor at a first location and a second storage processor at a second location, the second location being remote from the first location, wherein maintaining consistency with the clustered storage pool on each of the other storage processors includes mirroring data over distance from the first storage processor at the first location to the second storage processor at the second location, and wherein virtualizing the set of LUNs causes a locally-attached LUN of the first storage processor at the first location to appear as a local LUN of the second storage processor at the second location.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique for providing active-active access to pooled block-based objects and pooled file-based objects by multiple storage processors over distance in a metro-cluster includes virtualizing locally attached LUNs and making the virtualized LUNs available to all the storage processors in the metro-cluster. Storage pools and internal file systems operate on each of the storage processors and coordinate with one another to maintain consistent storage allocation and a consistent file system image across all storage processors in the metro-cluster. The resulting arrangement allows storage processors in the metro-cluster to access both block-based data objects and file-based data objects in an active-active manner, while maintaining consistency across all storage processors and allowing customers to benefit from the advantages of pooled data objects.
36 Citations
20 Claims
-
1. A method of processing IO requests in a data storage metro-cluster, comprising:
-
virtualizing a set of LUNs (logical unit numbers) to make the LUNs accessible by any of multiple storage processors within the data storage metro-cluster; operating, on each of the storage processors, a clustered storage pool, the clustered storage pool deriving storage units from the set of virtualized LUNs for provisioning to data objects and maintaining consistency with the clustered storage pool on each of the other storage processors such that changes to a clustered storage pool on one storage processor are reflected in the clustered storage pools of all storage processors; operating, on each of the storage processors, a clustered file system presenting a single namespace shared among the storage processors, the clustered file system provisioned from storage units of the clustered storage pool and storing a data object realized in a form of a file of the clustered file system; and in response to receiving IO requests, providing read and write access to the data object by the storage processors of the metro-cluster in an active-active arrangement, wherein the multiple storage processors include a first storage processor at a first location and a second storage processor at a second location, the second location being remote from the first location, wherein maintaining consistency with the clustered storage pool on each of the other storage processors includes mirroring data over distance from the first storage processor at the first location to the second storage processor at the second location, and wherein virtualizing the set of LUNs causes a locally-attached LUN of the first storage processor at the first location to appear as a local LUN of the second storage processor at the second location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data storage metro-cluster comprising multiple storage processors connected together over a network, each of the storage processors including a set of processing units and memory, the memory coupled to the set of processing units and storing executable instructions, which when executed on the respective processing units cause the storage processors to:
-
virtualize a set of LUNs (logical unit numbers) to make the LUNs accessible by any of multiple storage processors within the data storage metro-cluster; operate, on each of the storage processors, a clustered storage pool, the clustered storage pool constructed and arranged to (i) derive storage units from the set of virtualized LUNs, (ii) provision storage units to data objects and (iii) maintain consistency with the clustered storage pool on each of the other storage processors such that changes to a clustered storage pool on one storage processor are reflected in the clustered storage pools of all storage processors; operate, on each of the storage processors, a clustered file system presenting a single namespace shared among the storage processors, the clustered file system provisioned from storage units of the clustered storage pool and storing a data object realized in a form of a file of the clustered file system; and in response to receiving IO requests, provide read and write access to the data object by the storage processors of the metro-cluster in an active-active arrangement, wherein the multiple storage processors include a first storage processor at a first location and a second storage processor at a second location, the second location being remote from the first location, wherein the clustered storage pool constructed and arranged to maintain consistency with the clustered storage pool on each of the other storage processors is further constructed and arranged to mirror data over distance from the first storage processor at the first location to the second storage processor at the second location, and wherein virtualizing the set of LUNs is to cause a locally-attached LUN of the first storage processor at the first location to appear as a local LUN of the second storage processor at the second location. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer program product having a non-transitory computer-readable medium including instructions which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method of processing IO requests in a data storage metro-cluster, the method comprising:
-
virtualizing a set of LUNs (logical unit numbers) to make the LUNs accessible by any of multiple storage processors within the data storage metro-cluster; operating, on each of the storage processors, a clustered storage pool, the clustered storage pool (i) deriving storage units from the set of virtualized LUNs, (ii) provisioning units of storage to data objects and (iii) maintaining consistency with the clustered storage pool on each of the other storage processors such that changes to a clustered storage pool on one storage processor are reflected in the clustered storage pools of all storage processors; operating, on each of the storage processors, a clustered file system presenting a single namespace shared among the storage processors, the clustered file system provisioned from storage units of the clustered storage pool and storing a data object realized in a form of a file of the clustered file system; and in response to receiving IO requests, providing read and write access to the data object by the storage processors of the metro-cluster in an active-active arrangement, wherein the multiple storage processors include a first storage processor at a first location and a second storage processor at a second location, the second location being remote from the first location, wherein maintaining consistency with the clustered storage pool on each of the other storage processors includes mirroring data over distance from the first storage processor at the first location to the second storage processor at the second location, and wherein virtualizing the set of LUNs causes a locally-attached LUN of the first storage processor at the first location to appear as a local LUN of the second storage processor at the second location. - View Dependent Claims (17, 18, 19, 20)
-
Specification