【大咖专栏】如何配置CEPH RGW对象存储与公有云同步

本文介绍了如何配置Ceph RGW对象存储以实现与公有云的同步,包括创建新区域、修改现有区域、配置系统用户和同步规则,以及测试S3同步,提供容灾备份能力。
摘要由CSDN通过智能技术生成

8bdf804a23b5491ea01cbc1af908bb22.gif

新钛云服已为您服务1280

a9ecb5771feaa374b7bd80cd56464442.gif

容灾 (Disaster Recovery),即容灾备份或灾备,是业务连续性系统的一个子集,用于保障 IT 系统在遭受自然灾害、人为操作失误或蓄意破坏后的数据还原和业务恢复。

Ceph RGW 多数据中心(multisite)功能旨在实现异地双活,提供了备份容灾的能力。并且具有多个数据中心供用户选择,存放资源。

主节点在对外提供服务时,用户数据在主节点落盘后即向用户回应“写成功”应答,然后实时记录数据变化的相关日志信息。备节点则实时比较主备数据差异,并及时将差异化数据拉回备节点。异步复制技术适用于远距离的容灾方案,对系统性能影响较小。

以往的容灾都是在单该或者多该ceph集群之间的,本次主要由于模拟 ceph 的 RGW 可以与其他所有的S3云供应商(https://docs.ceph.com/en/latest/radosgw/cloud-sync-module/)进行数据同步,从而实现Ceph的RGW对象存储的灾备。


内容



要求:

  • Ceph 集群

  • 2 个 RGW 守护进程正在运行

  • S3 目标

我们将使用三个端点:

  • http://192.168.112.5:80

    • RGW 为我们现有的集群管理的端点

  • http://192.168.112.6:80

    • 我们将创建一个新端点,它将依赖 RGW 将数据同步到另一个 S3 提供者

  • http://192.168.105.5:80

    • 我们将用于推送/同步数据的 S3 目标



检查我们现有的存储池:

所有 rgw 都有一个区域和区域组,它可能是default.

您可以检查池的名称:

(docker-croit)@mycephcluster / $ ceph osd lspools
1 device_health_metrics
2 .rgw.root
3 default.rgw.control
4 default.rgw.log
5 default.rgw.meta
6 default.rgw.buckets.non-ec
7 default.rgw.buckets.index
8 default.rgw.buckets.data

或者直接检查区域或区域组:

(docker-croit)@mycephcluster / $ radosgw-admin zone get --rgw-zone=default
{
    "id": "303a00f5-f50d-43fd-afee-aa0503926952",
    "name": "default",
...
}
(docker-croit)@mycephcluster / $ radosgw-admin zonegroup get --rgw-zonegroup=default
{
    "id": "881cf806-f6d2-47a0-b7dc-d65ee87f8ef4",
    "name": "default",
    "api_name": "default",
    "is_master": "true",
...
    "zones": [
        {
            "id": "303a00f5-f50d-43fd-afee-aa0503926952",
            "name": "default",



准备存储池:

我们的新区将需要一些池。我们将手动创建它们以确保没有问题(例如每个 osd 有太多 PG)阻止它们的创建。

(docker-croit)@mycephcluster / $ for pool in sync.rgw.meta sync.rgw.log sync.rgw.control sync.rgw.buckets.non-ec sync.rgw.buckets.index sync.rgw.buckets.data; do ceph osd pool create $pool 16 16 replicated; done
pool 'sync.rgw.meta' created
pool 'sync.rgw.log' created
pool 'sync.rgw.control' created
pool 'sync.rgw.buckets.non-ec' created
pool 'sync.rgw.buckets.index' created
pool 'sync.rgw.buckets.data' created



创建新区域:

我们的新区域将命名为sync

(docker-croit)@mycephcluster / $ radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=sync --endpoints=http://192.168.112.6/ --tier-type=cloud
{
    "id": "7ead9532-0938-4698-9b4a-2d84d0d00869",
    "name": "sync",
    "domain_root": "sync.rgw.meta:root",
    "control_pool": "sync.rgw.control",
    "gc_pool": "sync.rgw.log:gc",
    "lc_pool": "sync.rgw.log:lc",
    "log_pool": "sync.rgw.log",
    "intent_log_pool": "sync.rgw.log:intent",
    "usage_log_pool": "sync.rgw.log:usage",
    "roles_pool": "sync.rgw.meta:roles",
    "reshard_pool": "sync.rgw.log:reshard",
    "user_keys_pool": "sync.rgw.meta:users.keys",
    "user_email_pool": "sync.rgw.meta:users.email",
    "user_swift_pool": "sync.rgw.meta:users.swift",
    "user_uid_pool": "sync.rgw.meta:users.uid",
    "otp_pool": "sync.rgw.otp",
    "system_key": {
        "access_key": "",
        "secret_key": ""
    },
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "sync.rgw.buckets.index",
                "storage_classes": {
                    "STANDARD": {
                        "data_pool": "sync.rgw.buckets.data"
                    }
                },
                "data_extra_pool": "sync.rgw.buckets.non-ec",
                "index_type": 0
            }
        }
    ],
    "realm_id": "46669d35-f7ed-4374-8247-2b8f41218109"
}
  • rgw-zonegroup:我们的新区域将成为默认区域组的一部分。

  • 端点:我们的新区域需要它自己的 RGW,因此它使用新的端点。

  • tier-type :我们使用cloud层类型,请参阅文档(https://docs.ceph.com/en/latest/radosgw/cloud-sync-module/)了解更多设置



修改现有区域:

我们需要添加现有default区域的端点。

(docker-croit)@mycephcluster / $ radosgw-admin zone modify --rgw-zonegroup=default --rgw-zone=default --endpoints=http://192.168.112.5:80
{
    "id": "303a00f5-f50d-43fd-afee-aa0503926952",
    "name": "default",
    "domain_root": "default.rgw.meta:root",
    "control_pool": "default.rgw.control",
    "gc_pool": "default.rgw.log:gc",
    "lc_pool": "default.rgw.log:lc",
    "log_pool": "default.rgw.log",
    "intent_log_pool": "default.rgw.log:intent",
    "usage_log_pool": "default.rgw.log:usage",
    "roles_pool": "default.rgw.meta:roles",
    "reshard_pool": "default.rgw.log:reshard",
    "user_keys_pool": "default.rgw.meta:users.keys",
    "user_email_pool": "default.rgw.meta:users.email",
    "user_swift_pool": "default.rgw.meta:users.swift",
    "user_uid_pool": "default.rgw.meta:users.uid",
    "otp_pool": "default.rgw.otp",
    "system_key": {
        "access_key": "",
        "secret_key": ""
    },
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "default.rgw.buckets.index",
                "storage_classes": {
                    "STANDARD": {
                        "data_pool": "default.rgw.buckets.data"
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值