ceph rgw 桶分片之reshard

Ceph RGW(RADOS Gateway)的 reshard 功能是用来动态调整对象存储的分片(shard)数量,从而优化性能和存储利用率。随着数据量的增加,初始的分片设置可能无法满足性能需求,因此 reshard 功能允许用户在不影响服务可用性的情况下进行调整。 
 
### Reshard 功能的详细说明: 
 
1. **分片的概念**: 
   - 在 Ceph RGW 中,分片是将对象存储桶的对象分散到多个分片(shard)中,以便更好地管理和访问数据。每个分片可以被视为一个小的对象存储区域。 
 
2. **动态调整**: 
   - Reshard 功能允许用户根据负载和数据量的变化,动态调整存储桶的分片数量。用户可以增加或减少分片的数量,以适应不同的使用场景。 
 
3. **性能优化**: 
   - 通过增加分片数量,可以提高并发访问的性能,因为多个分片可以同时处理请求。相反,当数据量减少时,可以减少分片数量,从而节省资源。 
 
4. **无缝操作**: 
   - Resharding 过程是无缝的,用户在调整分片数量时,不会影响到正在进行的读写操作。这使得系统能够在高可用性和高性能之间取得平衡。 
 
5. **管理工具**: 
   - Ceph 提供了一些命令行工具和 API 来管理 reshard 操作。用户可以使用这些工具来查看当前的分片状态,执行 reshard 操作,以及监控性能。 
 
6. **监控和优化**: 
   - 在执行 reshard 操作后,建议监控系统的性能,确保调整后的分片数量能够满足当前的负载需求。 
 
### 使用场景: 
- 当存储桶中的对象数量显著增加时,可能需要增加分片数量以保持良好的性能。 
- 当存储桶中的对象数量减少时,可以考虑减少分片数量,以节省资源和提高管理效率。 
 

### 桶分片操作:
1. 查看桶的状态详情。
radosgw-admin bucket stats --bucket abccc

root@u22c01:~# radosgw-admin bucket stats --bucket abccc
{"bucket": "abccc","num_shards": 37,   # 一共有37个分片"tenant": "","zonegroup": "844b2a85-e5d8-40a4-a875-a941523e251c","placement_rule": "default-placement","explicit_placement": {"data_pool": "","data_extra_pool": "","index_pool": ""},"id": "b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9",   # 桶分片索引"marker": "b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.1","index_type": "Normal","owner": "test","ver": "0#190,1#189,2#183,3#190,4#182,5#201,6#191,7#197,8#174,9#183,10#188,11#194,12#204,13#192,14#190,15#171,16#196,17#191,18#202,19#196,20#196,21#194,22#185,23#185,24#179,25#191,26#185,27#197,28#176,29#180,30#191,31#196,32#184,33#185,34#194,35#188,36#208","master_ver": "0#0,1#0,2#0,3#0,4#0,5#0,6#0,7#0,8#0,9#0,10#0,11#0,12#0,13#0,14#0,15#0,16#0,17#0,18#0,19#0,20#0,21#0,22#0,23#0,24#0,25#0,26#0,27#0,28#0,29#0,30#0,31#0,32#0,33#0,34#0,35#0,36#0","mtime": "2024-09-26T10:31:16.678406Z","creation_time": "2024-09-25T13:57:53.525125Z","max_marker": "0#,1#,2#,3#,4#,5#,6#,7#,8#,9#,10#,11#,12#,13#,14#,15#,16#,17#,18#,19#,20#,21#,22#,23#,24#,25#,26#,27#,28#,29#,30#,31#,32#,33#,34#,35#,36#","usage": {"rgw.main": {"size": 7851037,"size_actual": 684150784,"size_utilized": 7851037,"size_kb": 7668,"size_kb_actual": 668116,"size_kb_utilized": 7668,"num_objects": 166905}},"bucket_quota": {"enabled": false,"check_on_raw": false,"max_size": -1,"max_size_kb": 0,"max_objects": -1}
}


2. 查看桶分片索引

root@u22c01:~# rados ls -p default.rgw.buckets.index | grep b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9 | sort
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.0
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.1
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.10
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.11
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.12
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.13
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.14
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.15
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.16
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.17
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.18
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.19
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.2
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.20
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.21
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.22
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.23
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.24
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.25
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.26
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.27
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.28
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.29
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.3
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.30
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.31
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.32
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.33
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.34
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.35
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.36
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.4
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.5
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.6
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.7
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.8
.dir.b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9.9
root@u22c01:~#

3. 修改桶分片数
root@u22c01:~# radosgw-admin reshard add --bucket abccc --num-shards 64 --yes-i-really-mean-it

4. 查看当前分片操作中的桶

root@u22c01:~# radosgw-admin reshard add --bucket abccc --num-shards 64 --yes-i-really-mean-it
root@u22c01:~# radosgw-admin reshard list
[{"time": "2024-09-26T15:03:32.555544Z","tenant": "","bucket_name": "abccc","bucket_id": "b8e366d3-0ab0-454e-9323-680528f5eccc.1054223.9","new_instance_id": "","old_num_shards": 37,"tentative_new_num_shards": 64}
]

5. 影响桶分片参数
    "rgw_dynamic_resharding": "true",    # 是否开启自动分片
    "rgw_max_objs_per_shard": "100000", # 单分片,最多容纳的文件数,建议在100000-125000万之间

### 总结: 
Ceph RGW 的 reshard 功能是一个强大的工具,可以帮助用户根据实际需求动态调整存储桶的分片数量,从而优化性能和资源利用率。通过合理使用该功能,用户可以确保其对象存储系统在面对变化的负载时,始终保持高效和可靠。 

备注:

        ceph 14 ,如果桶根目录下有中文文件夹或者中文文件,在发生分片时,会丢失。可以将中文文件/文件夹放到子目录里面,一级目录使用字母。ceph 17没有这个问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/55096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git 与远程分支

90.远程仓库和分支 我们经常需要对远程仓库里的分支进行更新。 ‍ 当从远程库 clone 时,默认情况下,只会拉取 master ​分支,并且会将本地的 master 分支和远程的 master 分支关联起来: $ git branch * master‍ ‍ 推送本地…

17.第二阶段x86游戏实战2-线程发包和明文包

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

kubernetes的网络

kubernetes网络模型 Kubernetes采用的是基于扁平地址空间的网络模型,集群中的每个Pod都有自己的IP地址,Pod之间不需要配置NAT就能直接通信,同一个Pod中的容器共享Pod的IP,能够通过localhost通信Pod容器内的通信 当Pod被调度到某个…

车辆重识别(去噪扩散概率模型)论文阅读2024/9/27

[2] Denoising Diffusion Probabilistic Models 作者:Jonathan Ho Ajay Jain Pieter Abbeel 单位:加州大学伯克利分校 摘要: 我们提出了高质量的图像合成结果使用扩散概率模型,一类潜变量模型从非平衡热力学的考虑启发。我们的最…

【hot100-java】【零钱兑换】

R9-dp篇 class Solution {public int coinChange(int[] coins, int amount) {int ncoins.length;int [][] fnew int[n1][amount1];//除2防止下面1溢出Arrays.fill(f[0],Integer.MAX_VALUE/2);f[0][0]0;for (int i0;i<n;i){for (int c0;c<amount;c){if(c<coins[i]) f[i…

5G NR 协议规范表(对应3GPP 协议编号)

文章目录 5G NR 协议规范表&#xff08;对应3GPP 协议编号&#xff09;5G 架构相关协议5G 新空口相关协议无线接入网相关协议终端相关协议 5G NR 协议规范表&#xff08;对应3GPP 协议编号&#xff09; 5G 架构相关协议 5G 新空口相关协议 无线接入网相关协议 终端相关协议

网页设计html心得

一&#xff0c;认识网页 说到网页&#xff0c;其实大家并不陌生 1.1网页究竟是什么&#xff1f; 网页主要由文字、图像和超链接等元素构成。当然&#xff0c;除了这些元素&#xff0c;网页中还可以包含音频、视频以及Flash等。 1.2网页是如何形成的呢&#xff1f; 1.特殊的…

uni-app在线预览pdf

这里推荐下载pdf.js 插件 PDF.js - Browse Files at SourceForge.net 特此注意 如果报 Promise.withResolvers is not a function 请去查看版本兼容问题 降低pdf.js版本提高node版本 下载完成后 在 static 文件夹下新建 pdf 文件夹&#xff0c;将解压文件放进 pdf 文件…

监控和日志管理:深入了解Nagios、Zabbix和Prometheus

在现代IT运维中&#xff0c;监控和日志管理是确保系统稳定性和性能的关键环节。本文将介绍三种流行的监控工具&#xff1a;Nagios、Zabbix和Prometheus&#xff0c;帮助您了解它们的特点、使用场景以及如何进行基本配置。 一、Nagios Nagios 是一个强大的开源监控系统&#x…

从0新建一个微信小程序实现一个简单跳转

首先 1.从这里下载开发工具 https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.htm 2. 等下载完毕后 创建一个空白项目 在pages目录下右键创建一个page : testUI,这时候会生成四个文件 新建一个文件夹 testUI 给他们放一起 3.增加一个按钮 …

蛋白质结构中模型的提取

在 Biopython 的 PDB 模块中,提取 PDB 结构中的 model 信息相对直观。在 PyMMCIF 包中,我们可以通过提取 atom_site 数据中的 pdbx_PDB_model_num 字段来识别结构中的不同模型。下面是如何使用这两个包分别提取结构的 model 信息的示例代码。 1. Biopython PDB 模块提取模型…

尚品汇-自动化部署-Jenkins的安装与环境配置(五十六)

目录&#xff1a; 自动化持续集成 &#xff08;1&#xff09;环境准备 &#xff08;2&#xff09;初始化 Jenkins 插件和管理员用户 &#xff08;3&#xff09;工作流程 &#xff08;4&#xff09;配置 Jenkins 构建工具 自动化持续集成 互联网软件的开发和发布&#xf…

多线程事务管理:Spring Boot 实现全局事务回滚

多线程事务管理:Spring Boot 实现全局事务回滚 在日常开发中,我们常常会遇到需要在多线程环境下进行数据库操作的场景。这类操作的挑战在于如何保证多个线程中的数据库操作要么一起成功,要么一起失败,即 事务的原子性。尤其是在多个线程并发执行的情况下,确保事务的一致性…

门面(外观)模式

简介 门面模式&#xff08;Facade Pattern&#xff09;又叫作外观模式&#xff0c;提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口。其主要特征是定义了一个高层接口&#xff0c;让子系统更容易使用&#xff0c;属于结构型设计模式。 通用模板 创建子系统角色类…

多米诺骨牌(模拟)

初始化数据结构&#xff1a; 使用一个布尔数组 arr 来表示每个位置是否被占用。初始时所有位置均为 false&#xff08;未占用&#xff09;。使用一个 LinkedHashMap&#xff08;命名为 queue&#xff09;来记录最近的 R 操作的位置。这个结构可以保持插入顺序&#xff0c;方便后…

【AI基础】pytorch lightning 基础学习

传统pytorch工作流是首先定义模型框架&#xff0c;然后写训练和验证&#xff0c;测试循环代码。训练&#xff0c;验证&#xff0c;测试代码写起来比较繁琐。这里介绍使用pytorch lightning 部署模型&#xff0c;加速模型训练和验证&#xff0c;记录。 准备工作 1 安装pytorch…

【分布式微服务云原生】使用Docker体验不同Linux发行版

Docker 允许用户在同一个宿主机上运行多种不同的Linux发行版&#xff0c;而共享同一个宿主机内核。这种方式不仅节省资源&#xff0c;还非常方便进行环境测试和开发。 1. Docker与Linux发行版 Linux内核 发行版 Linux内核与各种发行版软件包组合&#xff0c;构成了一个完整的…

JAVA红娘婚恋相亲交友系统源码全面解析

在数字化时代&#xff0c;红娘婚恋相亲交友系统成为了连接单身男女的重要桥梁。JAVA作为一种流行的编程语言&#xff0c;为开发这样的系统提供了强大的支持。编辑h17711347205以下是对JAVA红娘婚恋相亲交友系统源码的全面解析&#xff0c;以及三段示例代码的展示。 系统概述 …

[产品管理-33]:实验室技术与商业化产品的距离,实验室技术在商业化过程中要越过多少道“坎”?

目录 一、实验室技术 1.1 实验室研究性技术 1.2 技术发展的S曲线 技术发展S曲线的主要阶段和特点 技术发展S曲线的意义和应用 二、实验室技术商业化的路径 2.1 实验室技术与商业化产品的距离 1、技术成熟度与稳定性 - 技术自身 2、市场需求与适应性 - 技术是满足需求 …

Visual Studio 2022

VS&#xff08;Visual Studio&#xff09;是一款由微软开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于开发应用程序、网站以及移动应用等。VS的历史可以追溯到1997年&#xff0c;当时发布了第一个版本的VS。以下是VS的一些重要历史里程碑&#xff1a; Visual …