Ceph RGW Federated Architecture

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:

  1. –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

  1. 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

  1. 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值