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 ...
随机推荐
- DuckHunter Attacks
DuckHunter Attacks DuckHunter Attacks是从USB Rubber Ducky (USB橡皮鸭)发展过来的HID攻击方式.USB Rubber Ducky是从201 ...
- 20145223《Java程序程序设计》第9周学习总结
20145223<Java程序设计>第9周学习总结 教材学习内容总结 第十六章:整合数据库 JDBC入门 1.JDBC简介: 2.JDBC主要分成两个部分,JDBC应用程序开发者接口和JD ...
- Python学习笔记08
正则表达式包re match,search,sub re.match(pattern, string, flags=0) re.search(pattern, string, flags=0) r ...
- Gym100685G Gadget Hackwrench(倍增LCA)
题目大概说一棵边有方向的树,q个询问,每次询问结点u是否能走到v. 倍增LCA搞即可: 除了par[k][u]表示u结点往上走2k步到达的结点, 再加上upp[k][u]表示u结点往上走2k步经过边的 ...
- android项目 在签名打包遇到的问题
我在签名打包前,build success ,可以把程序安装在手机上 然后签名打包的时候,build fail ,原因采用了release 版本,因此这个时候在gradule build 添加下面 ...
- XAML Region标签功能
XAML本身没有Region标签功能,很郁闷.现在有插件可以实现该功能了! <!-- Region (Any Text You Want) --> Your Code <!-- ...
- 测试Centos硬盘读写速度
yum install hdparm 参数: -a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定. -A<0或1& ...
- 【HDU】1536 S-Nim
http://acm.hdu.edu.cn/showproblem.php?pid=1536 题意:同nim...多堆多询问...单堆n<=10000,每次取的是给定集合的数= = #inclu ...
- nodeJS中exports和mopdule.exports的区别
每一个node.js执行文件,都自动创建一个module对象,同时,module对象会创建一个叫exports的属性,初始化的值是 {} module.exports = {}; Node.js为了方 ...
- [译]FastClick: native-like tapping for touch apps
原文地址:http://labs.ft.com/2011/08/fastclick-native-like-tapping-for-touch-apps/ 这篇文章是一篇老文了,现在才看到,真是落后啊 ...