[Openstack] swift ringbuilder and disk size/capacity relationship

Peter Brouwer peter.brouwer at oracle.com
Sun Mar 6 08:15:22 UTC 2016



Regards, Peter 

> On 5 Mar 2016, at 02:52, John Dickinson <me at not.mn> wrote:
> 
> 
> 
>> On 3 Mar 2016, at 13:32, Mark Kirkwood wrote:
>> 
>>> On 03/03/16 03:57, Peter Brouwer wrote:
>>> Hello
>>> 
>>> I am trying to find some information on the relationship of the ring
>>> (builder) structure of swift and the size of disks used, i.e. how is
>>> capacity of a disk managed.
>>> I've seen many docs/blogs explaining the ring and partitions but I have
>>> not seen any info on how available space per disk is managed, i.e. the
>>> relationship between disk size and allocating ring partitions.
>>> 
>>> Do all disks in a ring need to be of the same capacity? If not how is
>>> swift handling the amount of free space?
>>> 
>>> Any pointers to documentation on this?
>> 
>> You specify a weight for each device that is added to the ring, this
>> lets you cope with different sized disks e.g:
>> 
>> Suppose sdb is 1TB and sdc 500GB
>> 
>> $ swift-ring-builder object.builder add r1z1-192.168.122.21:6000/sdb 1
>> $ swift-ring-builder object.builder add r1z1-192.168.122.21:6000/sdc 0.5
> 
> 
> One easy way to manage ring weights is to use the number of GB on the drive. So a 1TB drive is 1000, a 500Gb drive is 500, and an 8TB drive is 8000. Makes thinking about it easier, at least to me.
> 
> The actual weight doesn't matter by itself. It only matters compared to all the other weights in the ring.
Interesting info.
Two followup questions,
Can the ring builder cope with a disk that is dynamic in size, like an nfs share from a storage array in which an nfs share shares capacity from a pool, i.e. If an other share in that pool takes up space the nfs share used by swift decrease in capacity.
So the thing Im trying to understand is how swift/ringbuilder checks if a disk in a ring is running out of space?
> 
> 
> --John
> 
> 
> 
> 
>> 
>> Cheers
>> 
>> Mark
>> 
>> 
>> _______________________________________________
>> 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
> _______________________________________________
> 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