1 . Overview
In Ceph version 0.67 Dumpling and beyond, you may configure each Ceph Object Gateway to participate in a federated architecture, with multiple regions, and with multiple zones for a region.
Region: A region represents a logical geographic area and contains one or more zones. A cluster with multiple regions must specify a master region.
Zone: A zone is a logical grouping of one or more Ceph Object Gateway instance(s). A region has a master zone that processes client requests.
Documents:
http://docs.ceph.com/docs/master/radosgw/federated-config/
example 1 :
NAMING FOR THE MASTER REGION
Before configuring the cluster, defining region, zone and instance names will help you manage your cluster. Let’s assume the region represents the United States, and we refer to it by its standard abbreviation.
United States: us
Let’s assume the zones represent the Eastern and Western United States. For continuity, our naming convention will use {region name}-{zone name}format.
United States, East Region: us-east
United States, West Region: us-west
Finally, let’s assume that zones may have more than one Ceph Object Gateway instance per zone. For continuity, our naming convention will use{region name}-{zone name}-{instance} format.
United States Region, Master Zone, Instance 1: us-east-1
United States Region, Secondary Zone, Instance 1: us-west-1
example 2:
NAMING FOR THE SECONDARY REGION
Before configuring the cluster, defining region, zone and instance names will help you manage your cluster. Let’s assume the region represents the European Union, and we refer to it by its standard abbreviation.
European Union: eu
Let’s assume the zones represent the Eastern and Western European Union. For continuity, our naming convention will use {region name}-{zonename} format.
European Union, East Region: eu-east
European Union, West Region: eu-west
Finally, let’s assume that zones may have more than one Ceph Object Gateway instance per zone. For continuity, our naming convention will use{region name}-{zone name}-{instance} format.
European Union Region, Master Zone, Instance 1: eu-east-1
European Union Region, Secondary Zone, Instance 1: eu-west-1
data sync between master zone and a secondary zone
data sync between master region and a secondary region
sum up:
2. Global RADOS Gateway Namespace
PowerDNS RADOS Gateway backend
A backend for PowerDNS to direct RADOS Gateway bucket traffic to the correct regions.
For example, two regions exist, US and EU.
EU: s3.isscloud.eu
US: s3.isscloud.us
A global namespace s3.isscloud.com exists for all our regions
Bucket ‘dashboard’ exists in the region EU and ‘washboard’ in US.
dashboard.s3.isscloud.com will return a CNAME to dashboard.s3.isscloud.eu
washboard.s3.isscloud.com will return a CNAME to washboard.s3.isscloud.us
PowerDNS must be compiled with Remote HTTP backend support enabled, this is not default.
https://github.com/ceph/ceph/tree/master/src/powerdns
PowerDNS How to :
This allows us to create multiple regions (eu, us, asia, etc) but keep one global namespace to make it easy to consume for our end-users.
Users can create a bucket in the region they like, but they never have to worry about wich hostname to use. We take care of that
This PowerDNS backend is in the Ceph master branch and can be installed as a WSGI application behind Apache
PowerNDS Steps:
- –enable-remotebackend-http
PowerDNS must be compiled with Remote HTTP backend support enabled, this is not default Afterwards point PowerDNS to localhost on port 80:
PowerDNS configuration
launch=remote
remote-connection-string=http:url=http://localhost:6780/dns
- rgw-pdns.conf.in
[powerdns]
listen_addr = 127.0.0.1
listen_port = 6780
dns_zone = rgw.local.lan
dns_soa_record = dns1.icann.org. hostmaster.icann.org. 2012080849 7200 3600 1209600 3600
dns_soa_ttl = 3600
dns_default_ttl = 60
rgw_access_key = myAccessKey
rgw_secret_key = mySecretKey
rgw_endpoint = localhost
rgw_admin_entry = admin
debug = no
- WSGI Server pdns-backend-rgw.py
You can run this backend directly behind an Apache server with mod_wsgi
LoadModule wsgi_module modules/mod_wsgi.so