如何创建自定义数据pool的RGW实例

本文适用于jewel以上版本(含)

本文用到的软件版本如下

ceph:version 10.2.7
OS: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU/Linux

1新建pool

创建数据pool,注意每个pool的pg配置规划,可以参考http://ceph.com/pgcalc/进行设计

ceph osd pool create .rgw.root 16 16
ceph osd pool create demo.rgw.data.root 16 16
ceph osd pool create demo.rgw.control 16 16
ceph osd pool create demo.rgw.gc 16 16
ceph osd pool create demo.rgw.log 16 16
ceph osd pool create demo.rgw.intent-log 16 16
ceph osd pool create demo.rgw.usage 16 16
ceph osd pool create demo.rgw.users.keys 16 16
ceph osd pool create demo.rgw.users.email 16 16
ceph osd pool create demo.rgw.users.swift 16 16
ceph osd pool create demo.rgw.users.uid 16 16
ceph osd pool create demo.rgw.buckets.index 16 16
ceph osd pool create demo.rgw.buckets.data 64 64
ceph osd pool create demo.rgw.buckets.non-ec 16 16

2配置文件准备

ceph.conf配置

[client.radosgw.us-zone1]
     rgw dns name = s3.ceph.work
     rgw frontends = "civetweb port=80"
     host = radosgw-1
     keyring = /etc/ceph/ceph.client.radosgw.keyring
     rgw socket path = /home/ceph/var/run/ceph-client.radosgw.us-zone1.sock
     log file = /home/ceph/log/radosgw.us-zone1.log
     rgw print continue = false
     rgw content length compat = true

zone配置

# zone.json
{
    "id": "2f58efaa-3fa2-48b2-b996-7f924ae1215c",
    "name": "demo",
    "domain_root": "demo.rgw.data.root",
    "control_pool": "demo.rgw.control",
    "gc_pool": "demo.rgw.gc",
    "log_pool": "demo.rgw.log",
    "intent_log_pool": "demo.rgw.intent-log",
    "usage_log_pool": "demo.rgw.usage",
    "user_keys_pool": "demo.rgw.users.keys",
    "user_email_pool": "demo.rgw.users.email",
    "user_swift_pool": "demo.rgw.users.swift",
    "user_uid_pool": "demo.rgw.users.uid",
    "system_key": {
        "access_key": "",
        "secret_key": ""
    },
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "demo.rgw.buckets.index", #index pool
                "data_pool": "demo.rgw.buckets.data", #数据pool
                "data_extra_pool": "demo.rgw.buckets.non-ec",
                "index_type": 0
            }
        }
    ],
    "metadata_heap": "",
    "realm_id": ""
}

zonegroup配置

# zonegroup.json
{
    "id": "9d07fb3c-45d7-4d63-a475-fd6ebd41b722", #Zonegroup的ID
    "name": "zg", #zonegroup名称
    "api_name": "", #bucket的localtion定义在这里
    "is_master": "true",
    "endpoints": [],
    "hostnames": [],
    "hostnames_s3website": [],
    "master_zone": "2f58efaa-3fa2-48b2-b996-7f924ae1215c",  #zone的ID
    "zones": [
        {
            "id": "2f58efaa-3fa2-48b2-b996-7f924ae1215c", #zone的ID
            "name": "demo", #zone名称
            "endpoints": [],
            "log_meta": "false",
            "log_data": "false",
            "bucket_index_max_shards": 0,
            "read_only": "false"
        }
    ],
    "placement_targets": [
        {
            "name": "default-placement",
            "tags": []
        }
    ],
    "default_placement": "default-placement",
    "realm_id": ""
}

3导入配置文件

radosgw-admin realm create --rgw-realm=nt --default #新建一个realm名称为nt
radosgw-admin zonegroup set < zonegroup.json --rgw-realm=nt --rgw-zonegroup=zg  --default #导入之前的zonegroup配置,zonegroup名称为zg
radosgw-admin zone set < zone.json --rgw-zonegroup=zg --rgw-zone=demo --master --default #导入zone配置,zone名称为demo

/etc/init.d/radosgw start #启动服务

4验证

新建用户

radosgw-admin user create --uid=s3user --display-name=s3user
ceph df
GLOBAL:
    SIZE       AVAIL      RAW USED     %RAW USED
    92114M     88985M        3128M          3.40
POOLS:
    NAME                        ID     USED     %USED     MAX AVAIL     OBJECTS
    .rgw.root                   73     2072         0        88558M          12
    demo.rgw.data.root          74      609         0        88558M           2
    demo.rgw.control            75        0         0        88558M           8
    demo.rgw.gc                 76        0         0        88558M          32
    demo.rgw.log                77       50         0        88558M         128
    demo.rgw.intent-log         78        0         0        88558M           0
    demo.rgw.usage              79        0         0        88558M           0
    demo.rgw.users.keys         80       13         0        88558M           1
    demo.rgw.users.email        81        0         0        88558M           0
    demo.rgw.users.swift        82        0         0        88558M           0
    demo.rgw.users.uid          83      329         0        88558M           2
    demo.rgw.buckets.index      84        0         0        88558M           1
    demo.rgw.buckets.data       85        0         0        88558M           0
    demo.rgw.buckets.non-ec     86        0         0        88558M           0

demo.rgw.users.keys和demo.rgw.users.uid 的OBJECTS>0,说明已经成功。

原文发布于微信公众号 - Ceph对象存储方案(cephbook)

原文发表时间:2017-06-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏西安-晁州

使用bee自动生成api文档

beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1、进入到gopath目录...

5690
来自专栏bboysoul

什么是EOF

EOF的意思是End Of File是文件尾的标志。在数值上来说就是-1。 当在文件操作的时候,碰到文件结束,或者数据读取错误是均会返回EOF。 在linu...

952
来自专栏大壮

iOS GCD定时器

2983
来自专栏电光石火

EMLOG无插件实现网站源码压缩

在以往的Emlog优化教程中,相信都是使用的代码压缩插件,今天主要是分享插件的代码版本,也就是不使用插件,直接将代码丢在module.php中就可以,好吧,又消...

2685
来自专栏遊俠扎彪

inux (CentOS 5.6) 安装 Sun JDK (切换自带OpenJDK)

可根据需要卸载不需要的JDK Version

1978
来自专栏好好学习吧

testng执行多个suite

由于testng.xml中只能设置一个<suite>标签,就无法创建多个测试集,通过<suite-files >标签可以实现允许多个测试集。

3661
来自专栏喵了个咪的博客空间

PhalApi-RabbitMQ基于PhalApi专业队列拓展

PhalApi-RabbitMQ基于PhalApi专业队列拓展 ? 前言 RabbitMQ一直都是队列中的标杆,这次有幸PhalApi也能啃上RabbitMQ真...

3147
来自专栏喵了个咪的博客空间

[喵咪Linux(2)]环境变量的坑

#[喵咪Linux(2)]环境变量的坑# ? ##前言## 玩过linux的童鞋对环境变量都不陌生,我们在安装好一些软件,组件之后想要直接使用它都需要加入环境变...

30412
来自专栏Timhbw博客

Centos安装PHP的IMAP模块

2017-04-1612:32:42 发表评论 353℃热度 学习记录一些 Linux 上的东西: ? 1.首先 ssh 连接上你的服务器:然后执行以下代码:...

3234
来自专栏移动端周边技术扩展

github中存放预览网页

831

扫码关注云+社区

领取腾讯云代金券