ceph rgw multisite基本用法
Realm:
Zonegroup: 理解为数据中心,由一个或多个Zone组成,每个Realm有且仅有 一个Master Zonegroup,用于处理系统变更,其他的称为Slave Zonegroup,元数据与Master Zonegroup保持一致;
Zone: Zone是一个逻辑概念,包含一个或者多个RGW实例。每个Zonegroup有且仅有一个Master Zone,用于处理bucket和user等元数据变更。
Period: 保存realm当前的配置信息,使用epoch维护版本信息。
Metadata Sync:Zone是一个逻辑概念,包含一个或者多个RGW实例。每个Zonegroup有且仅有一个Master Zone,用于处理bucket和user等元数据变更。
systemctl restart ceph-radosgw@rgw.hostname
创建realm:
A realm contains the notion of periods. Each period represents the state of the zone group and zone configuration in time.Each time you make a change to a zonegroup or zone, update the period and commit it.
realm里所有的元数据名称都是全局唯一的,无法创建同名的用户(uid)和bucket, container;
radosgw-admin realm create --rgw-realm=Giant --default
查看存在的realm:
radosgw-admin realm list
创建Master zonegroup:
删除 Default ZoneGroup并创建Master ZoneGroup
为了前向兼容,所以会存在默认的zonegroup,需要删除
radosgw-admin zonegroup delete --rgw-zonegroup=default
radosgw-admin zonegroup create --rgw-zonegroup=beijing --endpoints=beijing.com --master --default
查看zonegroup相关信息:
radosgw-admin zonegroup list
radosgw-amdin zonegroup get {zonegroup name}
创建Master zone:
删除default Zone 并创建Master Zone
为了前向兼容,所以默认存在zone,需要删除
radosgw-admin zone delete --rgw-zone=default
#创建Master zone,并指定zonegroup
radosgw-admin zone create --rgw-zonegroup=beijing --rgw-zone=beijing --endpoints=beijing.com --access-key=admin --secret=admin --default --master
Secondary Zones:
You must execute metadata operations, such as user creation, on a host within the master zone. The master zone and the secondary zone can receive bucket operations, but the secondary zone redirects bucket operations to the master zone. If the master zone is down, bucket operations will fail.
Bucket Sharding
主要为了解决.rgw.buckets.index pool的性能问题;该pool下存放了bucket index data;
rgw_override_bucket_index_max_shards
default: 0 #不启用分片
推荐值: {number of objects expected in a bucket / 100,000}
max value: 7877
The default value for rgw_max_objs_per_shard is 100k objects per shard.
动态修改sharding值:
rgw_dynamic_reshading = true
rgw_reshard_num_logs: The number of shards for the resharding log. The default value is 16.
rgw_reshard_bucket_lock_duration: The duration of the lock on a bucket during resharding. The default value is 120 seconds.
rgw_dynamic_resharding: Enables or disables dynamic resharding. The default value is true.
rgw_max_objs_per_shard: The maximum number of objects per shard. The default value is 100000 objects per shard.
rgw_reshard_thread_interval: The maximum time between rounds of reshard thread processing. The default value is 600 seconds.
将bucket加入resharding 队列:
radosgw-admin bucket reshard add --bucket <bucket_name> --num-shards <new number of shards>
查看resharding队列:
radosgw-admin bucket reshard list
手动执行reshard:
radosgw-admin bucket reshard process
取消在bucket resharding期间取消resharding:
radosgw-admin bucket reshard cancel --bucket <bucket_name>
压缩:compression
压缩插件:
zlib: 支持
snappy, zstd: 预览版
radosgw-admin zone placement modify --rgw-zone=default --placement-id=default-placement --compression=zlib
After enabling or disabling compression, restart the Ceph Object Gateway instance so the change will take effect.
$ radosgw-admin bucket stats --bucket=
{
...
"usage": {
"rgw.main": {
"size": 1075028,
"size_actual": 1331200,
"size_utilized": 592035,
"size_kb": 1050,
"size_kb_actual": 1300,
"size_kb_utilized": 579,
"num_objects": 104
}
},
...
}
The size_utilized and size_kb_utilized fields represent the total size of compressed data in bytes and kilobytes respectively.
Quota 管理:
Quotas include the maximum number of objects in a bucket and the maximum storage size in megabytes.
IMPORT: Buckets with a large number of objects can cause serious performance issues.
The recommended maximum number of objects in a one bucket is 100,000. To increase this number,
configure bucket index sharding
Set User Quotas:
radosgw-admin quota set --quota-scope=user --uid=<uid> [--max-objects=<num objects>] [--max-size=<max size>]
eg:
radosgw-admin quota set --quota-scope=user --uid=johndoe --max-objects=1024 --max-size=1024
A negative value for num objects and / or max size means that the specific quota attribute check is disabled.
Ebable and Disable User Quotas:
#radosgw-admin quota enable --quota-scope=user --uid=<uid>
#radosgw-admin quota disable --quota-scope=user --uid=<uid>
Set Bucket Quotas:
#radosgw-admin quota set --uid=<uid> --quota-scope=bucket [--max-objects=<num objects>] [--max-size=<max size]
Enable and Disable Bucket Quotas
#radosgw-amdin quota enable --quota-scope=bucket --uid=<uid>
#radosgw-admin quota-disable --quota-scope=bucket --uid=<uid>
Get Quota Settings
#radosgw-admin user info --uid=<uid>
Update Quota Stats
#radosgw-admin user stats --uid=<uid> --sync-stats
Get User Quota Usage Stats
#radosgw-admin user stats --uid=<uid>
Quota Cache:
rgw bucket quota ttl, rgw user quota bucket sync interval, rgw user quota sync interval.
统计用户
#radosgw-admin usage show --uid=johndeo --start-data=2012-03-01 --end-date=2012-04-01
#radosgw-amdin usage show --show-log-entri
清理孤儿对象:
create a new log pool:
1、rados mkpool .log
2、radosgw-admin orphans find --pool=<data_pool> --job-id=<job_name> [--num-shards=<num_shards>] [--orphan-stale-secs=<seconds>]
<Search for orphan objects>
3、radosgw-admin orphans find --pool=.rgw.buckets --job-id=abc123
4、Clean up the search data:
radosgw-amdin orphans finish --job-id=abc123
Zones:
Ceph Object Gateway supports the notion of zones. A zone defines a logical group consisting of one or more Ceph Object Gateway instances.
ceph rgw multisite基本用法的更多相关文章
- 趣解 ceph rgw multisite data sync 机制
multisite是ceph rgw对象数据异地容灾备份的一个有效方案,笔者希望深入理解该技术,并应用于生产环境中,然而rgw的这部分代码晦涩难懂,笔者多次尝试阅读,仍云里雾里不解其意,最终流着泪咬着 ...
- Ceph RGW Multisite 数据同步流程图
- ceph rgw java sdk 使用域名访问服务时需要设置s3client的配置项 PathStyleAccess 为true, 负责将报域名异常
Caused by: java.net.UnknownHostException: my-new-bucket.s3.yyclouds.com at java.net.InetAddress.getA ...
- CEPH RGW多 ZONE的配置
相关的名称解释 Region :可以理解为区域,是基于地理位置的逻辑划分:如:华南,华北之类,包含多个region的Ceph集群必须指定一个master region,一个region可以包含一个或者 ...
- Ceph 之Multisite 下的bucket reshard
目录 一.背景和问题 二.bucket reshard 过程 主集群信息汇总 Multisite 下手动reshard References 一.背景和问题 默认情况下只有当单个bucket承载的ob ...
- Ceph RGW服务 使用s3 java sdk 分片文件上传API 报‘SignatureDoesNotMatch’ 异常的定位及规避方案
import java.io.File; import com.amazonaws.AmazonClientException; import com.amazonaws.auth.profile ...
- Ceph RGW 创建默认的pool
使用Ceph-deploy完成RGW服务部署后(最好是在部署RGW服务前建立如下这些pool),使用sudo ceph osd lspools 命令,会发现RGW自动以默认参数创建了N个rgw相关的p ...
- Ceph RGW 和 niginx 配置要点
cat /etc/nginx/sites-enabled/rgw.conf server { listen 80 default; #server_name .com .com.cn .net .cn ...
- CEPH RGW集群和bucket的zone group 不一致导致的404异常解决 及 使用radosgw-admin metadata 命令设置bucket metadata 的方法
问题现象: 最近在研究zonegroup的配置操作,发现在配置zonegroup后修改了default zone,导致访问对象报404错误. 问题原因: rgw 日志 报异常'request fo ...
随机推荐
- HDU 3032 (SG打表找规律)
题意: 有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 思路: 因为数的范围 ...
- 如何解决海量数据的Top K问题
1. 问题描述 在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门 ...
- CI入门
CI入门 一.[查]按条件获取一条记录 获取数据有返回数组形式或对象形式,row_array().result_array()是以数组形式返回:row().result()是以对象形式返回.同样的,更 ...
- 在macOS下正确配置 VS Code 使用 virtualenv 里的 python 环境参数
在macos配置好并启动 virtualenv 环境后,如何让 VS Code 使用这个环境下来编译调试 python 脚本呢? 1.首先当然是先配置好python虚拟环境 假定配置python的的虚 ...
- POJ 2407 Relatives【欧拉函数】
<题目链接> 题目大意: Given n, a positive integer, how many positive integers less than n are relativel ...
- P2648 赚钱
P2648 赚钱对于不知道起点在哪里的最短路,先建立一个超级源点,然后从超级源点跑最长路,并判正环即可. #include<iostream> #include<cstdio> ...
- 模拟页面获取的php数据(一)
<?php return array( "aData" => array(//通勤方式 "trafficType" => array( 0 = ...
- php curl请求https 返回无结果|false|errno:35
1 SSL: certificate subject name 'WMSvc-GWAMSERVER02' does not match target host name 把curl_setopt($c ...
- php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部.POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体.PUT: 从客户端向服务器传送的数据取代指定的文档 ...
- 通俗讲解 异步,非阻塞和 IO 复用
1. 阅前热身 为了更加形象的说明同步异步.阻塞非阻塞,我们以小明去买奶茶为例. 1.1 同步与异步 同步与异步的理解 同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式. 同步: 当一个同 ...