注意

本文档适用于 Ceph 开发版本。

同步模块

Kraken 版本中的新功能。

The 多站点Jewel 中引入的 RGW 功能允许创建多个区域并在它们之间镜像数据和元数据。Sync Modules它们建立在多站点框架之上,该框架允许将数据和元数据转发到不同的外部层。同步模块允许在数据发生变化时执行一组操作(像桶或用户创建这样的元数据操作也被视为数据变化)。由于 rgw 多站点的更改在远程站点上最终一致,因此更改是异步传播的。这将允许解锁使用案例,例如将对象存储备份到外部云集群或使用磁带驱动器的自定义备份解决方案、在 ElasticSearch 中索引元数据等。

同步模块配置是针对单个区域的。同步模块确定该区域是导出数据还是只能消费在另一个区域中修改的数据。从 luminous 开始,支持的同步插件有elasticsearch, rgw,这是默认的同步插件,用于在区域之间同步数据,以及log,这是一个简单的同步插件,它记录远程区域中发生的元数据操作。以下文档以使用elasticsearch 同步模块的区域为例编写,配置任何同步插件的过程将是类似的

要求和假设

让我们假设文档中描述的简单多站点配置,有 2 个区域多站点 docs, of 2 zones us-eastus-west,让我们添加第三个区域us-east-es,这是一个仅处理其他站点元数据的区域。该区域可以位于同一个或不同的 ceph 集群中us-east

配置同步模块

按照文档中的说明创建第三个区域,例如多站点 docs, for example

radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east-es \
                            --access-key={system-key} --secret={secret} --endpoints=http://rgw-es:80

可以通过以下方式为该区域配置同步模块

radosgw-admin zone modify --rgw-zone={zone-name} --tier-type={tier-type} --tier-config={set of key=value pairs}

例如在elasticsearch同步模块

radosgw-admin zone modify --rgw-zone={zone-name} --tier-type=elasticsearch \
                            --tier-config=endpoint=http://localhost:9200,num_shards=10,num_replicas=1

对于各种支持的 tier-config 选项,请参阅elasticsearch 同步模块文档

最后更新周期

radosgw-admin period update --commit

现在在区域中启动 radosgw

systemctl start ceph-radosgw@rgw.`hostname -s`
systemctl enable ceph-radosgw@rgw.`hostname -s`

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.