如何配置RadosGW支持多个placement target / data pools
来源:互联网 发布:ie不能打开淘宝网 编辑:程序博客网 时间:2024/06/05 18:07
I want to use different pools to hold user's buckets. Two pools are created,
one is '.bj-dz.rgw.buckets', the other is '.bj-dz.rgw.buckets.hot'.
- Test if we can create a bucket 'y-ssd' in 'fast-placement target'/'pool .bj-dz.rgw.buckets.hot'.
- Test if we can create a bucket 'y-normal' in 'default-placement'/'pool .bj-dz.rgw.buckets'.
///// Region map //////////////
# radosgw-admin regionmap get --name client.radosgw.bj-dz-1 --cluster gang2
{
"regions": [
{
"key": "bj",
"val": {
"name": "bj",
"api_name": "bj",
"is_master": "true",
"endpoints": [
"http:\/\/s3.mydomain.com:80\/"
],
"hostnames": [],
"master_zone": "bj-dz",
"zones": [
{
"name": "bj-dz",
"endpoints": [
"http:\/\/s3.mydomain.com:80\/"
],
"log_meta": "true",
"log_data": "true",
"bucket_index_max_shards": 0
},
{
"name": "bj-xz",
"endpoints": [
"http:\/\/yhg-new:80\/"
],
"log_meta": "true",
"log_data": "true",
"bucket_index_max_shards": 0
}
],
"placement_targets": [
{
"name": "default-placement",
"tags": [
"hdd"
]
},
{
"name": "fast-placement",
"tags": [
"ssd"
]
}
],
"default_placement": "default-placement"
}
}
],
"master_region": "bj",
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
}
}
///// zone map ///////////////
[root@yhg-1]# radosgw-admin zone get --cluster gang2 -c /etc/ceph/gang2.conf --name client.radosgw.bj-dz-1
{
"domain_root": ".bj-dz.domain.rgw",
"control_pool": ".bj-dz.rgw.control",
"gc_pool": ".bj-dz.rgw.gc",
"log_pool": ".bj-dz.log",
"intent_log_pool": ".bj-dz.intent-log",
"usage_log_pool": ".bj-dz.usage",
"user_keys_pool": ".bj-dz.users",
"user_email_pool": ".bj-dz.users.email",
"user_swift_pool": ".bj-dz.users.swift",
"user_uid_pool": ".bj-dz.users.uid",
"system_key": {
"access_key": "CZB6EQFR7X36BUW1FYOM",
"secret_key": "Gr934Fpaue3FaS2SQn5qE8DCjcntUqisMafUxVbw"
},
"placement_pools": [
{
"key": "default-placement",
"val": {
"index_pool": ".bj-dz.rgw.buckets.index",
"data_pool": ".bj-dz.rgw.buckets",
"data_extra_pool": ""
}
},
{
"key": "fast-placement",
"val": {
"index_pool": ".bj-dz.rgw.buckets.index",
"data_pool": ".bj-dz.rgw.buckets.hot",
"data_extra_pool": ""
}
}
]
}
//////// user info ///////////
{
"key": "user:testuser",
"ver": {
"tag": "_nDultgTsPPMGNB3B2Sk2fc8",
"ver": 1
},
"mtime": 1451306407,
"data": {
"user_id": "testuser",
"display_name": "First User",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{
"user": "testuser",
"access_key": "6R2MJWR863EREUDD0KTZ",
"secret_key": "74eHNNQa1oLBlvZfO2CC2hIU8cobSYxTgeRDtXtH"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "fast-placement",
"placement_tags": [
"ssd",
"hdd"
],
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"temp_url_keys": []
}
}
one is '.bj-dz.rgw.buckets', the other is '.bj-dz.rgw.buckets.hot'.
1. Two placement targets are added to region map. Targets tags are 'hdd' and 'ssd'.
"placement_targets": [ { "name": "default-placement", "tags": [ "hdd" ] }, { "name": "fast-placement", "tags": [ "ssd" ] } ], "default_placement": "default-placement" }
2. Map the placement targets to the ceph backend pools.
"placement_pools": [ { "key": "default-placement", "val": { "index_pool": ".bj-dz.rgw.buckets.index", "data_pool": ".bj-dz.rgw.buckets", "data_extra_pool": "" } }, { "key": "fast-placement", "val": { "index_pool": ".bj-dz.rgw.buckets.index", "data_pool": ".bj-dz.rgw.buckets.hot", "data_extra_pool": "" } } ]
3. In order to enable the user create buckets in these two
placement_target/ceph pools, I add two placement_tags for my user.
"keys": [ { "user": "testuser", "access_key": "6R2MJWR863EREUDD0KTZ", "secret_key": "74eHNNQa1oLBlvZfO2CC2hIU8cobSYxTgeRDtXtH" } ], "swift_keys": [], "caps": [], "op_mask": "read, write, delete", "default_placement": "default-placement", "placement_tags": [ "ssd", "hdd" ]
4. Test if it works.
- Test if we can create a bucket 'y-ssd' in 'fast-placement target'/'pool .bj-dz.rgw.buckets.hot'.
bucket = conn.create_bucket('y-ssd', location=':fast-placement')
- Test if we can create a bucket 'y-normal' in 'default-placement'/'pool .bj-dz.rgw.buckets'.
bucket = conn.create_bucket('y-normal', location=':default-placement')
5. Complete Region map/zone map/ user info
///// Region map //////////////
# radosgw-admin regionmap get --name client.radosgw.bj-dz-1 --cluster gang2
{
"regions": [
{
"key": "bj",
"val": {
"name": "bj",
"api_name": "bj",
"is_master": "true",
"endpoints": [
"http:\/\/s3.mydomain.com:80\/"
],
"hostnames": [],
"master_zone": "bj-dz",
"zones": [
{
"name": "bj-dz",
"endpoints": [
"http:\/\/s3.mydomain.com:80\/"
],
"log_meta": "true",
"log_data": "true",
"bucket_index_max_shards": 0
},
{
"name": "bj-xz",
"endpoints": [
"http:\/\/yhg-new:80\/"
],
"log_meta": "true",
"log_data": "true",
"bucket_index_max_shards": 0
}
],
"placement_targets": [
{
"name": "default-placement",
"tags": [
"hdd"
]
},
{
"name": "fast-placement",
"tags": [
"ssd"
]
}
],
"default_placement": "default-placement"
}
}
],
"master_region": "bj",
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
}
}
///// zone map ///////////////
[root@yhg-1]# radosgw-admin zone get --cluster gang2 -c /etc/ceph/gang2.conf --name client.radosgw.bj-dz-1
{
"domain_root": ".bj-dz.domain.rgw",
"control_pool": ".bj-dz.rgw.control",
"gc_pool": ".bj-dz.rgw.gc",
"log_pool": ".bj-dz.log",
"intent_log_pool": ".bj-dz.intent-log",
"usage_log_pool": ".bj-dz.usage",
"user_keys_pool": ".bj-dz.users",
"user_email_pool": ".bj-dz.users.email",
"user_swift_pool": ".bj-dz.users.swift",
"user_uid_pool": ".bj-dz.users.uid",
"system_key": {
"access_key": "CZB6EQFR7X36BUW1FYOM",
"secret_key": "Gr934Fpaue3FaS2SQn5qE8DCjcntUqisMafUxVbw"
},
"placement_pools": [
{
"key": "default-placement",
"val": {
"index_pool": ".bj-dz.rgw.buckets.index",
"data_pool": ".bj-dz.rgw.buckets",
"data_extra_pool": ""
}
},
{
"key": "fast-placement",
"val": {
"index_pool": ".bj-dz.rgw.buckets.index",
"data_pool": ".bj-dz.rgw.buckets.hot",
"data_extra_pool": ""
}
}
]
}
//////// user info ///////////
{
"key": "user:testuser",
"ver": {
"tag": "_nDultgTsPPMGNB3B2Sk2fc8",
"ver": 1
},
"mtime": 1451306407,
"data": {
"user_id": "testuser",
"display_name": "First User",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{
"user": "testuser",
"access_key": "6R2MJWR863EREUDD0KTZ",
"secret_key": "74eHNNQa1oLBlvZfO2CC2hIU8cobSYxTgeRDtXtH"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "fast-placement",
"placement_tags": [
"ssd",
"hdd"
],
"bucket_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"max_size_kb": -1,
"max_objects": -1
},
"temp_url_keys": []
}
}
0 0
- 如何配置RadosGW支持多个placement target / data pools
- 如何配置多个Buffer Pools
- Ceph RadosGW - Placement Targets
- target多个配置
- 一份Cocoapods支持多个target
- Ceph radosgw 安装配置
- 多个Target的podfile文件配置
- 项目中配置多个target及podfile文件配置
- Xcode如何为iPhone项目建立多个Target
- iscsi target 如何设置对多个磁盘的共享
- iOS开发中如何创建多个target
- radosgw安装配置后的使用
- 如何使用radosgw admin ops api?
- tomcat的配置支持多个网站
- solr查询如何支持多个fq
- target 的多个定义
- xcode 创建多个target
- radosgw多中心同步(一)
- Throwable、Exception与Error
- ptyhon学习之flask安装
- APK打包忽略国际化问题
- 大数据(一) - hadoop生态系统及版本演化
- 计算机基础知识
- 如何配置RadosGW支持多个placement target / data pools
- Jeff and Digits
- rest&rpc&soap
- 【ASP.NET】利用Repeater完成对SQL Server数据库的增删改查
- latex中怎么在符号正上和正下方编写公式
- Java NIO使用及原理分析
- 《从零开始自学iOS》_02
- 最全的Win2003WEB服务器安全设置
- ActionBar