[Openstack] [Swift] How to configure multi-region replication?

Alexandr Porunov alexandr.porunov at gmail.com
Thu Jun 30 10:18:06 UTC 2016


Thank you for the response.

I haven't any cluster yet. I just learn a documentation about swift. As a
user I want to be able to start with a small cluster in a single region and
then increase a size of the cluster and a count of regions. I try to
understand if it is possible with swift. I know that we can easily increase
the size of the cluster but I am not sure about increasing the count of
regions because of replication problems. It would be really great if we
were able to tell our cluster how many replicas we want to store in
different regions.

Sincerely,
Alexandr

On Wed, Jun 29, 2016 at 10:04 PM, Clay Gerrard <clay.gerrard at gmail.com>
wrote:

> No, that's not currently supported, but it's a reasonable use-case to keep
> in mind for ongoing development of composite rings.  Thanks for asking
> about it.
>
> For now the closest approximation is to create a 3 region ring with ~5
> replicas - placement is based on capacity - regions with more capacity will
> have two replicas of *most* partitions, regions with less capacity will
> have only one.  But each individual partitions replicas will have different
> placement.  The non-determinism is probably a poor match for you very
> specific goals.
>
> The 3 region use-case is currently idealized with 6 replicas and a high
> overload to force 2 replicas per region then tune/monitor capacity in each
> region to keep them roughly even.
>
> It might be worth noting that you can create multiple storage policies
> with different rings, in region A & B the default storage policy could have
> four replicas, but even with careful capacity management placement would
> flop between 2/2 and 3/1 for any given part.  In region C you could use 3
> and get 2/1 and 1/2 depending on how closely you can manage capacity...
>
> None of these options consider "the point of entry" as a persistent
> artifact that classifies the storage class of the object tho... generally
> objects in swift are grouped by container - so regardless of the region of
> the proxy that originally wrote the object, once it's commited to the
> storage layer the part placement in the ring for the container holding the
> object will determine where the object should live... you may have to
> elaborate on the use-case there - I'm not sure anyone working on Swift is
> currently thinking about that part specifically?
>
> -Clay
>
> On Wed, Jun 29, 2016 at 11:33 AM, Alexandr Porunov <
> alexandr.porunov at gmail.com> wrote:
>
>> I have to configure special multi-region replication.
>> If I put an object into region A or B I need to create 3 local replicas
>> and 1 replica in other regions.
>> If I put an object into region C I need to create 2 local replicas and 1
>> replica in other regions.
>>
>> Does it possible to configure replication like this? If yes then how?
>>
>> Best regards,
>> Alexandr
>>
>> _______________________________________________
>> 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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20160630/222419be/attachment.html>


More information about the Openstack mailing list