如何创建自定义数据pool的RGW实例
时间:2022-04-25
本文章向大家介绍如何创建自定义数据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,说明已经成功。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- TensorFlow2.X学习笔记(6)--TensorFlow中阶API之特征列、激活函数、模型层
- sortable.js——Vue 数据更新问题
- 【项目实战】环境搭建
- TensorFlow2.X学习笔记(5)--TensorFlow中阶API之数据管道
- TensorFlow2.X学习笔记(4)--TensorFlow低阶API之AutoGraph相关研究
- TensorFlow2.X学习笔记(3)--TensorFlow低阶API之张量
- TensorFlow2.X学习笔记(2)--TensorFlow的层次结构介绍
- 深入浅出 Vue 中的 key 值
- TensorFlow2.X学习笔记(1)--TensorFlow核心概念
- 【项目实战】ODS 层创建&数据接入
- webpack3 升级到 webpack4 小记
- BigData-Apache HBase数据库
- Tungsten Fabric知识库丨这里有18个TF补丁程序,建议收藏
- BigData-消息队列框架Apache Kafka入门、原理解析
- BigData--Apache Flume框架