ceph rgw: zone/zone/group/realm

阿里云

Region 和 AZ

地域(Region)指物理的数据中心。资源创建成功后不能更换地域。当前所有的地域、地域所在城市和Region ID的对照关系如下表所示。
可用区(Availability Zone,简称AZ)是指在同一地域内,电力和网络互相独立的物理区域。同一可用区内实例之间的网络延时更小。
在同一地域内可用区与可用区之间内网互通,可用区之间能做到故障隔离。是否将实例放在同一可用区内,主要取决于对容灾能力和网络延时的要求。
如果您的应用需要较高的容灾能力,建议您将实例部署在同一地域的不同可用区内。
如果您的应用要求实例之间的网络延时较低,建议您将实例创建在同一可用区内。

image.png

参考:https://help.aliyun.com/document_detail/40654.html

同城冗余存储

数据时同步复制,作为bucket的一个属性,费用比普通bucket要高一些。
感觉应该是多副本分布在不同AZ。
参考:https://help.aliyun.com/document_detail/90589.html?spm=a2c4g.11186623.2.19.365c58d5qpYukA#concept-ufs-g5m-cfb

跨区域复制

异步复制,有延时。需要按照流量计费。

小结

阿里云OSS只有AZ和Period的概念,这些概念与ceph的zone、zone group和realm怎么对应呢。
老版本中ceph只有region,后来版本才换位这种3层结构。

zone,zone group, realm定义

image.png

realm
realm:作为一个名字空间,由多个zone group组成。其仅仅是为了保持一个全局的名字空间,即避免重名而设计。
period:一个realm会对应一个period,period对应realm中所有zone group和zone的状态,任何元素发生改变时需要提交period。

zone group
由多个zone组成,一个zone group内的zone之间可以自动同步data和meta,利用该功能就可以实现数据容灾和备份,并且支持active-active,以及active-passive方式。

zone
相当于对rgw定义了一个逻辑分组。并且通过zone将实际pool增加一个命名空间,不同的zone可以在同一个storage cluster中创建而名字不会发生冲突。

应用方法

一个zone group多个zone,不同cluster:
不同的storage cluster之间数据复制,类似于阿里云的“跨区域复制”,即不同的数据中心复制,具体场景包括:合规性要求、备份容灾、减少延迟等。
可以采用一个zone group中包含多个zone,每个zone部署在不同storage cluster,开启数据同步实现。

一个zone group多个zone,相同cluster:
使用场景如:一个公司不同的部门使用不同zone、不同的zone之间有性能需求有差异使用SSD等。

描述信息

rgw zone

从zone的描述信息可以看出来,zone是一个命令空间,描述了每个pool的名称,所以zone至少有一个功能就是可以使用同一个ceph storage cluster建立多个zone,而这些zone使用不同的pool。

RGWZoneParams

{
    "id": "92a8697d-a145-44de-acd3-10f4147b07e2",
    "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",
    "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"
                    }
                },
                "data_extra_pool": "default.rgw.buckets.non-ec",
                "index_type": 0
            }
        }
    ],
    "metadata_heap": "",
    "realm_id": ""
}

RGWZoneGroup

{
    "id": "a2c80c4d-1687-457a-a454-e121c3038e25",
    "name": "default",
    "api_name": "default",
    "is_master": "true",
    "endpoints": [],
    "hostnames": [],
    "hostnames_s3website": [],
    "master_zone": "92a8697d-a145-44de-acd3-10f4147b07e2",
    "zones": [
        {
            "id": "92a8697d-a145-44de-acd3-10f4147b07e2",
            "name": "default",
            "endpoints": [],
            "log_meta": "false",
            "log_data": "false",
            "bucket_index_max_shards": 0,
            "read_only": "false",
            "tier_type": "",
            "sync_from_all": "true",
            "sync_from": [],
            "redirect_zone": ""
        }
    ],
    "placement_targets": [
        {
            "name": "default-placement",
            "tags": [],
            "storage_classes": [
                "STANDARD"
            ]
        }
    ],
    "default_placement": "default-placement",
    "realm_id": ""
}

RGWPeriod

{
    "id": "eb6e2476-fba6-46e0-b4a3-28590126e6a7",
    "epoch": 1,
    "predecessor_uuid": "",
    "sync_status": [],
    "period_map": {
        "id": "eb6e2476-fba6-46e0-b4a3-28590126e6a7",
        "zonegroups": [],
        "short_zone_ids": []
    },
    "master_zonegroup": "",
    "master_zone": "",
    "period_config": {
        "bucket_quota": {
            "enabled": false,
            "check_on_raw": false,
            "max_size": -1,
            "max_size_kb": 0,
            "max_objects": -1
        },
        "user_quota": {
            "enabled": false,
            "check_on_raw": false,
            "max_size": -1,
            "max_size_kb": 0,
            "max_objects": -1
        }
    },
    "realm_id": "e27a847f-87e7-4d78-8760-5d5b11eaa913",
    "realm_name": "movies",
    "realm_epoch": 1
}

你可能感兴趣的:(ceph rgw: zone/zone/group/realm)