Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ceph的pg算法

Ceph的pg算法

作者头像
院长技术
发布于 2020-06-11 14:18:18
发布于 2020-06-11 14:18:18
2.9K00
代码可运行
举报
文章被收录于专栏:院长运维开发院长运维开发
运行总次数:0
代码可运行

PG介绍 PG, Placement Groups。CRUSH先将数据分解成一组对象,然后根据对象名称、复制级别和系统中的PG数等信息执行散列操作,再将结果生成PG ID。可以将PG看做一个逻辑容器,这个容器包含多个对象,同时这个逻辑对象映射之多个OSD上。 如果没有PG,在成千上万个OSD上管理和跟踪数百万计的对象的复制和传播是相当困难的。没有PG这一层,管理海量的对象所消耗的计算资源也是不可想象的。建议每个OSD上配置50~100个PG。

计算PG数 官方推荐如下:

Ceph集群中的PG总数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PG总数 = (OSD总数 * 100) / 最大副本数

结果必须舍入到最接近的2的N次方幂的值。

Ceph集群中每个pool中的PG总数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
存储池PG总数 = (OSD总数 * 100 / 最大副本数) / 池数

平衡每个存储池中的PG数和每个OSD中的PG数对于降低OSD的方差、避免速度缓慢的恢复再平衡进程是相当重要的。

修改PG和PGP PGP是为了实现定位而设置的PG,它的值应该和PG的总数(即pg_num)保持一致。对于Ceph的一个pool而言,如果增加pg_num,还应该调整pgp_num为同样的值,这样集群才可以开始再平衡。 参数pg_num定义了PG的数量,PG映射至OSD。当任意pool的PG数增加时,PG依然保持和源OSD的映射。直至目前,Ceph还未开始再平衡。此时,增加pgp_num的值,PG才开始从源OSD迁移至其他的OSD,正式开始再平衡。PGP,Placement Groups of Placement。

获取现有的PG数和PGP数值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ceph osd pool get data pg_num
ceph osd pool get data pgp_num

检查存储池的副本数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ceph osd dump|grep -i size

计算pg_num和pgp_num

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# pg_num calculation
pg_num = (num_osds * 100) / num_copies
num_up = pow(2, int(log(pg_num,2) + 0.5))
num_down = pow(2, int(log(pg_num,2)))
if abs(pg_num - num_up) <= abs(pg_num - num_down):
    pg_num = num_up
else:
    pg_num = num_down
pgp_num = pg_num

修改存储池的PG和PGP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ceph osd pool set data pg_num 
ceph osd pool set data pgp_num

例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ceph osd pool ls
ceph osd pool set .rgw.root pg_num 16
ceph osd pool set .rgw.root pgp_num 16
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux性能优化实战 笔记
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。
OwenZhang
2021/12/08
1.8K0
Linux性能优化实战 笔记
​Linux CPU 性能优化指南
本文作者:allenxguo,腾讯 QQ 音乐后台开发工程师 本文主要帮助理解 CPU 相关的性能指标,常见的 CPU 性能问题以及解决方案梳理。 系统平均负载 简介 系统平均负载:是处于可运行或不可中断状态的平均进程数。 可运行进程:使用 CPU 或等待使用 CPU 的进程 不可中断状态进程:正在等待某些 IO 访问,一般是和硬件交互,不可被打断(不可被打断的原因是为了保护系统数据一致,防止数据读取错误) 查看系统平均负载 首先top命令查看进程运行状态,如下: PID USER
腾讯技术工程官方号
2020/08/11
8.7K0
从入门到转型之Linux性能优化实践学习指南
本系列是从入门到转型之Linux性能优化实践学习指南,是博主学习Linux性能优化之路的精华版本,我将分享大量性能优化的思路和方法,并进行相应工具使用介绍和总结。
全栈工程师修炼指南
2022/09/29
6090
从入门到转型之Linux性能优化实践学习指南
linux性能优化心得
本文以 极客时间 倪鹏飞老师的专栏为基础进行的编写心得、由于本人水平有限,如果有什么不妥的地方,还请各位批评指正。
怀朔
2022/05/25
8690
技能篇:linux服务性能问题排查及jvm调优思路
只要业务逻辑代码写正确,处理好业务状态在多线程的并发问题,很少会有调优方面的需求。最多就是在性能监控平台发现某些接口的调用耗时偏高,然后再发现某一SQL或第三方接口执行超时之类的。如果你是负责中间件或IM通讯相关项目开发,或许就需要偏向CPU、磁盘、网络及内存方面的问题排查及调优技能
潜行前行
2022/04/26
8430
技能篇:linux服务性能问题排查及jvm调优思路
Linux CPU监控
负载为1表示当前单核CPU全部占用,如果一台机器有3个CPU,每个CPU都是双核的,这是负载最大值为1×2×3=6。如果5分钟以及15分钟的负载指标的大于CPU个数×CPU核数×0.7,并且长时间比较高,说明CPU不够用。
顾翔
2020/06/01
10.9K0
Linux CPU监控
linux性能优化学习笔记(2)-性能排查工具篇
r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。
用户2825413
2019/07/15
1.4K0
26-CPU知识
CPU中的控制单元,控制指令执行的顺序,并不是按照先后顺序执行,而是按照优先级顺序
zx钟
2021/07/06
6320
终究还是败给了腾讯,秒挂了。。。
这次分享是腾讯后端面经,面试接近 1 小时,问了非常多的问题,涵盖Linux、数据库、C++、操作系统、计算机网络。
小林coding
2024/05/28
2500
终究还是败给了腾讯,秒挂了。。。
性能分析(4)- iowait 使用率过高案例
https://www.cnblogs.com/poloyy/category/1814570.html
小菠萝测试笔记
2020/08/12
4.3K0
性能分析(4)- iowait 使用率过高案例
Linux应用性能分析及故障排查
CPU使用率:CPU的使用率 平均负载:单位时间内的活跃线程数 用户时间:CPU在用户进程上的实际百分比 系统时间:CPU在内核上花费的实际百分比 空闲时间:系统处于在等待IO操作上的时间总和 等待:CPU花费在等待IO操作上的时间总和 Nice时间:CPU优先执行的时间百分比
lyb-geek
2021/12/04
1.3K0
Linux应用性能分析及故障排查
手把手教你定位常见Java性能问题
性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位。
Guide哥
2020/05/07
1.2K0
手把手教你定位常见Java性能问题
不会用这个工具,你的 Linux 服务器就是个摆设!
vmstat(VirtualMeomoryStatistics,虚拟内存统计)是 Linux 中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU 等的整体情况进行监视。
民工哥
2023/09/09
8920
不会用这个工具,你的 Linux 服务器就是个摆设!
Linux 性能分析工具汇总
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。 本文档主要是结合Linux 大牛,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性能测试的工具展开说明。 背景知识:具备背景知识是分析性能问题时需要了解的。比如硬件 cache;再比如操作系统
刘盼
2022/09/29
1.4K0
Linux 性能分析工具汇总
Linux性能优化篇-了解CPU上下文切换
所以我们会比较好了解CPU密集型,需要大量计算资源,会非常消耗cpu,I/O密集型需要等待I/O,会有大量的不可中断进程,
早起的鸟儿有虫吃
2019/08/22
5K0
Linux性能优化篇-了解CPU上下文切换
cpu上下文
进程是并发环境下,一个具有独立功能的程序在某个数据集上的一次执行活动,它是操作系统进行资源分配和保护的基本单位,也是执行的单位。
没有故事的陈师傅
2021/08/13
8310
超全整理!Linux 性能分析工具汇总
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。
释然IT杂谈
2022/10/27
1.1K0
超全整理!Linux 性能分析工具汇总
超全整理!Linux 大牛收集的Linux性能分析工具合集
本文由马哥教育面授班23期学员推荐,转载自恒生研究院,作者为董西孝,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Greg
小小科
2018/05/04
3.6K0
超全整理!Linux 大牛收集的Linux性能分析工具合集
性能工具之linux监控之top、vmstat、iostat复习
Ø d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
高楼Zee
2020/02/10
1.6K0
Linux服务器性能评估与优化(一)--CPU和负载
性能调优是找出系统瓶颈并消除这些瓶颈的过程。 很多系统管理员认为性能调优仅仅是调整一下内核的参数即可解决问题, 事实上情况并不是这样。 性能调优是实现操作系统的各个子系统之间的平衡性,这些子系统包括:
黄规速
2022/04/14
5.2K0
Linux服务器性能评估与优化(一)--CPU和负载
推荐阅读
相关推荐
Linux性能优化实战 笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验