Massively scalable object storage for storing object replicas
First Claim
1. A method of building one or more rings for maintaining data in a file storage system, comprising:
- determining a number of partitions for each storage pool in the file storage system, wherein the number of partitions is based on a storage capacity of the respective storage pool;
placing the storage pools in a sorting order based on the number of partitions;
assigning partitions to storage pools based on the sorting order, but subject to a zone restriction that the storage pool to which a partition is being assigned is not in a same zone as any other storage pool that includes a partition replica for the partition; and
maintaining the sorting order as partitions are assigned to storage pools in the file storage system, wherein maintaining the sorting order includes decrementing the respective number of partitions for the respective storage pool to which the respective partition has been assigned.
5 Assignments
0 Petitions
Accused Products
Abstract
An example method for storing data includes providing a plurality of physical storage pools, each storage pool including a plurality of storage nodes coupled to a network. The method also includes mapping a partition of a plurality of partitions to a set of physical storage pools, where each physical storage pool of the set of physical storage pools is located in a different availability zone, and the storage nodes within an availability zone are subject to a correlated loss of access to stored data. The method further includes receiving a data management request over the network, the data management request being associated with a data object. The method also includes identifying a first partition of the plurality of partitions corresponding to the received data management request and manipulating the data object in the physical storage pools mapped to the first partition in accordance with the data management request.
58 Citations
16 Claims
-
1. A method of building one or more rings for maintaining data in a file storage system, comprising:
-
determining a number of partitions for each storage pool in the file storage system, wherein the number of partitions is based on a storage capacity of the respective storage pool; placing the storage pools in a sorting order based on the number of partitions; assigning partitions to storage pools based on the sorting order, but subject to a zone restriction that the storage pool to which a partition is being assigned is not in a same zone as any other storage pool that includes a partition replica for the partition; and maintaining the sorting order as partitions are assigned to storage pools in the file storage system, wherein maintaining the sorting order includes decrementing the respective number of partitions for the respective storage pool to which the respective partition has been assigned. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium containing executable instructions, which when executed on one or more processors:
-
determines a number of partitions for each storage pool in the file storage system wherein the number of partitions is based on a storage capacity of the respective storage pool; places the storage pools in a sorting order based on the number of partitions; assigns partitions to storage pools based on the sorting order, but subject to a zone restriction that the storage pool to which a partition is being assigned is not in a same zone as any other storage pool that includes a partition replica for the partition; and maintains the sorting order as partitions are assigned to storage pools in the file storage system, wherein maintaining the sorting order includes decrementing the respective number of partitions for the respective storage pool to which the respective partition has been assigned. - View Dependent Claims (15, 16)
-
Specification