[Openstack] [Swift] Using unevenly sized disks in a cluster

Shrinand Javadekar shrinand at maginatics.com
Thu Feb 26 22:02:43 UTC 2015


Thanks John!

On Thu, Feb 26, 2015 at 1:12 PM, John Dickinson <me at not.mn> wrote:
> Well, it's complicated ;-)
>
> Start with http://docs.openstack.org/developer/swift/overview_ring.html
>
>
> Think about your scenario. if you have differently sized failure domains, then there are 2 options: limit capacity to the smallest failure domain or have some capacity overweighted (ie more than one replica there). Both of these are reasonable and have different tradeoffs.
>
> If you deploy your Swift cluster so that you have evenly sized failure domains (regions, zones, servers), then things will "just work" exactly as you expect it to. If you don't have even failure domains, then you'll have to figure how much you want to accept overweighted failure domains (more than the expected number of replicas in a failure domain).
>
> There is a "knob" in Swift you can turn to configure this choice: overload. See the docs linked above for info on it. Also, The swift-ring-builder also now includes a "dispersion" command so you can see if your cluster is set up to have overweighted failure domains.
>
>
> --John
>
>
>
>
>
>> On Feb 26, 2015, at 12:40 PM, Shrinand Javadekar <shrinand at maginatics.com> wrote:
>>
>> Hi,
>>
>> I have a question about using unevenly sized disks in a Swift cluster
>> configured to do 2x replication.
>>
>> Let's say I start with two disks of 10GB each and configure the rings
>> so that both the disks have the same weight (say 10). In this case,
>> one replica of each object will be on each device.
>>
>> At a later point, I increase the capacity of the cluster by adding one
>> 500GB disk. I also assign it a weight 500.
>>
>> This means that my 500GB disk should have 50x more data than the 10GB
>> ones. Swift will move some replicas of existing objects onto this
>> 500GB disk.
>>
>> How does Swift place data such that it the "as unique as possible"
>> policy is maintained. Beyond a point, won't it have to place both
>> replicas on the same device (the 500GB disk)?
>>
>> If yes, to overcome the above problem, does Swift recommend always
>> adding a pair of evenly sized disks (for 2x replication)?
>>
>> Thanks in advance.
>> -Shri
>>
>> _______________________________________________
>> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>> Post to     : openstack at lists.openstack.org
>> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>




More information about the Openstack mailing list