Ceph RGW Federated Architecture

本文介绍如何在Ceph集群中配置联邦架构,包括多个区域和区域内的多个分区,并详细说明了区域、分区及实例的命名约定。此外,还介绍了如何利用PowerDNS实现跨区域的全局RADOS网关命名空间,使用户可以轻松地在不同区域间创建和访问存储桶。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

Ceph RGW(Rados Gateway)是Ceph存储系统中提供对象存储服务的组件。它允许用户通过HTTP协议以对象的形式存储和检索数据。 Ceph RGW是一个分布式的、高可用的存储解决方案,它将数据分散保存在多个物理节点上,提供了可靠的数据冗余和容错能力。通过数据的分散,RGW能够实现高并发的访问和高吞吐量的数据传输,从而满足大规模的存储需求。 在Ceph RGW中,数据以对象的形式存储,每个对象都有一个唯一的标识符和元数据信息,可以通过它们进行快速的检索和访问。对象可以以任意格式存储,如文本、图片、视频等。通过提供RESTful风格的API,RGW使得开发者能够方便地访问和操作存储在其中的对象。 RGW支持多租户的机制,可以为不同的用户或应用程序提供独立的存储空间和访问权限。它还提供了访问控制机制,可以通过身份验证、访问策略等方式,限制对象的访问权限,并保证数据的安全性。 另外,Ceph RGW还具有自动化的数据迁移和负载均衡功能,可以根据数据的访问模式和负载情况,自动调整数据的存储位置和副本数量,以实现最佳的性能和可用性。 综上所述,Ceph RGW是一款功能强大、可靠性高的对象存储服务,适用于大规模存储和分发数据的场景。它提供了高并发、高吞吐量的数据访问和传输能力,以及安全性、可扩展性等方面的优势,成为当今对象存储领域的一种重要解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值