PG, Pool之间的一些数量关系
先说一下我的环境:
Ceph cluster中包含6台OSD节点 (osd.0 - 5), 一共有10个Pool (0 - 9), 这些Pool共享了144个PG (这个数字是所有Pool的PG_SIZE相加, 并不是通过ceph osd pool create POOLNAME PG_SIZE指定的!), 文件拷贝数量等于2 (osd_pool_default_size = 2)
查看一下每个osd节点下的/var/local/osd/current目录, 这里面的文件夹就是用来存放对象的, 每个文件夹的格式类似2.3d这样, 小数点的左边表示pool的序号, 右边表示pg的编号. 我统计了一下文件夹数量(注意: TEMP结尾和head结尾的文件夹有区别, TEMP不应该被统计在内, 原因不知)得到了如下结论:
1. ceph -s 中显示的PG数等于ceph osd pool create POOLNAME PG_SIZE中所有POOL的PG_SIZE之和;
2. 假设对于Pool 2来说, 所有OSD节点的current目录下的2.XX_head文件夹数量之和除以拷贝份数 (即osd_pool_default_size), 等于PG_SIZE;
3. PG_SIZE在一开始指定后就不会改变, 除非手动通过ceph osd pool set POOLNAME size PG_SIZE进行修改.
| pool 0 | pool 1 | pool 2 | pool 3 | pool 4 | pool 5 | pool 6 | pool 7 | pool 8 | pool 9 | total b=288 | |
| osd 0 | 15 | 0 | 3 | 2 | 2 | 1 | 2 | 2 | 4 | 3 | 34 |
| osd 1 | 23 | 2 | 3 | 3 | 2 | 4 | 3 | 5 | 2 | 2 | 49 |
| osd 2 | 19 | 5 | 2 | 0 | 1 | 4 | 3 | 4 | 2 | 3 | 43 |
| osd 3 | 25 | 3 | 2 | 6 | 4 | 4 | 4 | 4 | 4 | 4 | 60 |
| osd 4 | 21 | 6 | 2 | 3 | 2 | 0 | 3 | 3 | 3 | 3 | 46 |
| osd 5 | 25 | 0 | 4 | 2 | 5 | 3 | 5 | 2 | 5 | 5 | 56 |
| total a=288 | 128 | 16 | 16 | 16 | 16 | 16 | 20 | 20 | 20 | 20 | |
| 备注 | 此处的单个对象拷贝份数都是2, 所以128/2=64才是pool 0的PG_SIZE | ||||||||||
| pool 0 | pool 1 | pool 2 | pool 3 | pool 4 | pool 5 | pool 6 (replicated=3) |
pool 7 | pool 8 | pool 9 | total d=298 | |
| osd 0 | 15 | 0 | 3 | 2 | 2 | 1 | 7 | 2 | 4 | 3 | 39 |
| osd 1 | 23 | 2 | 3 | 3 | 2 | 4 | 4 | 5 | 2 | 2 | 50 |
| osd 2 | 19 | 5 | 2 | 0 | 1 | 4 | 4 | 4 | 2 | 3 | 44 |
| osd 3 | 25 | 3 | 2 | 6 | 4 | 4 | 3 | 4 | 4 | 4 | 59 |
| osd 4 | 21 | 6 | 2 | 3 | 2 | 0 | 4 | 3 | 3 | 3 | 47 |
| osd 5 | 25 | 0 | 4 | 2 | 5 | 3 | 8 | 2 | 5 | 5 | 59 |
| total c=298 | 128 | 16 | 16 | 16 | 16 | 16 | 30 | 20 | 20 | 20 | |
| 备注 | 此处Pool 6的拷贝份数为3, 其余均为2; 所以30/3=10才是pool 6的PG_SIZE |
||||||||||
附上根据自己的理解画出的示意图:

PG, Pool之间的一些数量关系的更多相关文章
- RunLoop总结:RunLoop 与GCD 、Autorelease Pool之间的关系
如果在面试中问到RunLoop相关的知识,很有可能也会问到RunLoop与GCD.Autorelease Pool有没有关系,哪些地方用到了GCD.Autorelease Pool等. So,本文就总 ...
- PG数据库之间的导入导出
本文将介绍如何对PG数据库进行导入.导出,主要利用的是PG自带的pg_dump.pg_dumpall.pg_restore.psql等命令,版本是9.4(不同版本的pg_dump \ pg_resto ...
- GPS和LOAM的pose之间建立edge
基于时间戳一致原理,在与PG的timestamp邻近的的两个LOAM的pose中插值出一个虚拟的LOAM pose PG' ,其timestamp = PG的timestamp. 然后GPS的pose ...
- 76个值得你注意的erlang编程习惯
http://www.tuicool.com/articles/ZNzuyu 前言 学习Erlang的时候在书的留白处随手记录了一些东西,还有一些记录在了demo的注释里面,今天抽时间整理出来了一部分 ...
- Erlang 杂记
学习Erlang的时候在书的留白处随手记录了一些东西,还有一些记录在了demo的注释里面,今天抽时间整理出来了一部分,分享一下. Erlang的设计哲学是为每一个独立的事件创建一个新进程. Erlan ...
- TCP/IP详解
第一篇 TCPIP协议详解 第1章 TCPIP协议族 第2章 IP协议详解 第3章 TCP协议详解 第4章 TCP/IP通信案例:访问Internet上的Web服务器 一.TCP/IP协议族 TCP/ ...
- 工作者队列原理解析(后台writeback)
每一个CPU都会有两个(或者一个?)kwoker线程. kwoker线程,说白了就是尽量减少进程的数目,为了什么呢?因为线程数据太多的话,调度的成本比较高,占用太多的系统资源,所以这里是进程的一个简化 ...
- Oracle内存参数配置及版本问题
Oracle的内存配置与Oracle性能息息相关.从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA).在 32 位操作系统下 的Oracle版本,不时有项目反馈关于内存 ...
- ORA-04031案例一则
ORA-04031这个错误,几乎每一个专业的DBA都遇到过.这是一个相当严重的错误,Oracle进程在向SGA申请内存时,如果申请失败,则会报这个错误.大部分情况下是在向SGA中的shared poo ...
随机推荐
- 单机c1000k连接
单机c1000k连接即单机实现百万连接,首先要注意的是连接是虚拟的逻辑的,连接最终落于 网卡,清晰概念才能更深入更清晰的想出问题的解决办法. 参考 http://www.ideawu.net/blog ...
- jquery笔记(遍历)
祖先: $("selector").parent().css():返回被选元素的直接父元素,并调用css方法. $("selector").parents(). ...
- 点击 Run 之后发生了什么?
这是我以前去链家网面试的一个题目,当时回答不够全面,现在看了2016 WWDC以及Sunnyxx iDev大会的分享之后,感觉对这个问题有了一些简单的认识,就来总结下.如果大家有补充,麻烦评论下哦! ...
- Map.Entry用法示例
一般在HashMap中可以通过key值得到value值,以key作为检索项.Map.Entry<K,V>可以作为条目的检索项.HashMap中有entrySet()方法,返回值是Set&l ...
- fill_parent 和 match_parent区别
之前一直没有区别好 fill_parent 和 match_parent, 其实,在 api 8 以后,两者的作用几乎一样,都是填充控件 在这里延伸到android 的版本变化导致方法的变化问题 我对 ...
- Lc.exe已退出,代码为-1
编译项目,出现提示"Lc.exe已退出,代码为-1" . 解决办法: 意思就是把licenses.licx这个文件里的内容删除,但是文件还在(此时是个空文件),发生这个问题的原 ...
- Extjs用到的一些有用的网页的集锦
1. extJS常用的4中Ajax异步提交 http://www.2cto.com/kf/201403/284083.html http://blog.csdn.net/goodshot/articl ...
- 【转】vim格式化C代码
转自:http://blog.chinaunix.net/uid-24774106-id-3396220.html 在自己的目录下编辑自己的.vimrc, vim ~/.vimrc 添加下面的几行: ...
- Android 蓝牙4.0 BLE
Android ble (Bluetooth Low Energy) 蓝牙4.0,也就是说API level >= 18,且支持蓝牙4.0的手机才可以使用. BLE是蓝牙4.0的核心Profil ...
- ACM: I Hate It 解题报告 - 线段树
I Hate It Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Des ...