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没有这个问题
相关文章:
ceph rgw 桶分片之reshard
Ceph RGW(RADOS Gateway)的 reshard 功能是用来动态调整对象存储的分片(shard)数量,从而优化性能和存储利用率。随着数据量的增加,初始的分片设置可能无法满足性能需求,因此 reshard 功能允许用…...
开放原子开源基金会网站上的开源项目Opns存在缓冲区溢出缺陷
最近在开放原子开源基金会网站上,看到一些开源项目,之前分析出华为的鸿蒙操作系统代码,没有发现有价值的安全漏洞。现在,下载上面的Onps开源网络协议栈,既然是通讯所使用的软件,其质量应该值得信任呢&#…...
未来前端发展方向:深度探索与技术前瞻
未来前端发展方向:深度探索与技术前瞻 在数字化浪潮席卷全球的今天,前端开发作为连接用户与数字世界的桥梁,其重要性不言而喻。随着技术的不断进步和市场的不断变化,前端开发领域正经历着前所未有的变革。今天,我们将深…...
前端工程规范-2:JS代码规范(Prettier + ESLint)
Prettier 和 ESLint 是两个在现代 JavaScript 开发中广泛使用的工具,它们结合起来可以提供以下作用和优势: 代码格式化和风格统一: Prettier 是一个代码格式化工具,能够自动化地处理代码的缩进、空格、换行等格式问题,…...
Tomcat为什么要打破双亲委派?怎么保证安全
Tomcat打破双亲委派模型的原因主要是为了解决Web应用程序中的类加载冲突问题,并提供更好的灵活性和可扩展性。在Java中,双亲委派模型是一种类加载机制,它确保了类加载的安全性和一致性,但在Web应用程序的场景下,它可能…...
【C++篇】启航——初识C++(下篇)
接上篇【C篇】启航——初识C(上篇) 目录 一、引用 1.引用的概念 2.引用的基本语法 3.引用的特点 3.1 别名 3.2 不占用额外内存 3.3 必须初始化 3.4 不能为 NULL 4.引用的使用 4.1 函数参数传递 4.2 返回值 4.3 常量引用 5.引用和指针的关…...
Elasticsearch快速入门
文章目录 Elasticsearch快速入门核心概念倒排索引基本使用索引操作创建索引类型映射[了解]数据类型[了解] 查看索引删除索引 文档操作添加文档修改文档删除文档查询文档准备数据主键查询精确查询匹配查询 Elasticsearch快速入门 核心概念 Elasticsearch是面向文档的ÿ…...
uniapp微信小程序遮罩层u-popup禁止底层穿透
添加 touchmove.prevent,遮罩层底部的页面就不会滑动了微信开发者工具不生效,真机生效 <u-popup :show"showEwm" close"closeEwm" mode"center" touchmove.prevent><view class"ewmshow"></vie…...
【RocketMQ】秒杀设计与实现
🎯 导读:本文档详细探讨了高并发场景下的秒杀系统设计与优化策略,特别是如何在短时间内处理大量请求。文档分析了系统性能指标如QPS(每秒查询率)和TPS(每秒事务数),并通过实例讲解了…...
高级架构师面试题
一、技术深度方面 微服务架构的核心概念和优势: • 核心概念:将一个大型的应用拆分为多个小型的、独立部署的服务,每个服务都围绕着特定的业务功能进行构建,服务之间通过轻量级的通信机制进行交互。 • 优势: • 独…...
phpstudy简易使用
注意,本文所述的操作步骤均建立在电脑上已经完成php环境变量的配置与vscode的安装之上 、...
ubuntu server 常用配置
这里写目录标题 0001 虚拟机静态IP0002 vim tab 4个空格0003 设置时区0004 网络端口查看端口开放端口 0005 修噶机主机名 0001 虚拟机静态IP win网络链接,IP地址:192.168.220.1 - NAT网关:192.168.220.2 - ubuntu静态IP设置: ca…...
[Day 82] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
AI在風險控制中的應用案例 風險控制是企業管理中至關重要的一環,AI技術的引入為風險控制帶來了前所未有的自動化和智能化。無論是在金融、保險、製造業,還是網絡安全中,AI都能有效地分析和預測潛在風險。本文將探討AI在風險控制中的應用&…...
微信小程序map组件自定义气泡真机不显示
最近遇到一个需求需要使用uniapp的map自定义气泡 ,做完之后发现在模拟器上好好的,ios真机不显示,安卓页数时好时不好的 一番查询发现是小程序的老问题了,网上的方法都试了也没能解决 后来看到有人说用nvue可以正常显示,…...
数据结构之链表(2),双向链表
目录 前言 一、链表的分类详细 二、双向链表 三、双向链表的实现 四、List.c文件的完整代码 五、使用演示 总结 前言 接着上一篇单链表来详细说说链表中什么是带头和不带头,“哨兵位”是什么,什么是单向什么是双向,什么是循环和不循环。然后实…...
STL之list篇(下)(从底层分析实现list容器,逐步剥开list的外表)
文章目录 前言一、list的数据结构和类实现需求1.1 数据结构1.2 list类实现需求 二、list迭代器的实现2.1 为什么list不能直接把迭代器当作指针一样使用?2.2 list迭代器的框架设计2.3 *和-> 操作符的重载2.4 和-- 操作符的重载2.5 !和 操作符的重载 三、 list的函…...
视频去水印的3个技巧,教你无痕去水印
许多视频平台为了推广自身品牌或者广告用途,会在视频上添加水印。这些水印不仅影响了视频的美观,还可能限制了内容的传播范围。幸运的是,有几种简单而有效的方法可以帮助我们去除视频中的水印,同时保持视频的原始画质和观感。以下…...
LSTM模型改进实现多步预测未来30天销售额
关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色…...
八LAMP搭建
# LAMP ## 一、知识回顾 ### FTP samba nfs 特点 - 借用Linux用户作为映射用户,进行权限管理 - 软件本身还有管理控制权限 #### 客户端连接到服务器后进行读写执行等操作 ,必须同时具有: - 软件许可的权限 vsftpd: anon upload enableYES - 文件…...
Windows——解除Windows系统中文件名和目录路径的最大长度限制
第一步:打开本地组策略编辑器 按下Win R键打开运行窗口,输入 gpedit.msc 并回车,打开本地组策略编辑器。 第二步:开启 长路径设置 第三步:重启计算机...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
