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 ...
随机推荐
- css/js(工作中遇到的问题)-3
设置宽高比 使用padding/margin-top/bottom; 设置出教准确的自适应布局; 用于预加载图片; 关于数据库设置 添加extra对象用于扩展; 添加type类型; 对于字体 使用百分 ...
- coffeeScript学习01
安装 这里使用node.js npm install -g coffee-script # watch and compile coffee -w --output lib --compile src ...
- 利用K-means聚类分类,进行特征学习
这只是老师安排的一个实验,准备过程中遇到各种问题,现在贴出来供大家参考,是Andrew Ng参与的研究, 论文依据如下,第二篇是一篇相关的论文, Learning Feature Representa ...
- 原生 js 模拟 alert 弹窗
复制头部的 js 代码到你的 js 文件的任何地方,调用Chef.alert方法传入相应的参数即可并没有什么功能,只是一个提示的作用,可能样式比 alert 的弹窗好看点,css是写在js里的,只要你 ...
- 使用Maven构建Android项目
http://www.ikoding.com/build-android-project-with-maven/ 之前一直在做WEB前端项目,前段时间接手第一个Android项目,拿到代码之后,先试着 ...
- iOS Cocoapods的pod install出现的某个错误 but they required a higher minimum deployment target.
关于cocoapods的安装和使用的基本教程: http://my.oschina.net/vimfung/blog/182427?fromerr=j7l3DvCG 出现以下错误提示: Specs ...
- Ue4 Shader博客
http://blog.csdn.net/noahzuo/article/details/51133166 国外HLSL网站 https://www.shadertoy.com/browse
- data.table包
data.table 1.生成一个data.table对象 生成一个data.table对象,记为DT. library(data.table) :],V3=round(rnorm(),),V4=:) ...
- BZOJ4699 : 树上的最短路
这道题主要是要解决以下两个问题: 问题1: 给定一个点$x$,如何取出所有经过它的下水道? 一条下水道经过$x$等价于它起点在$x$的子树里面且终点不在$x$的子树里面,或者两端点的lca就是$x$. ...
- BZOJ3553 : [Shoi2014]三叉神经树
设val[i]为i连出去的树突中输出值为0的个数 如果val[x]<=1,输出值为1,否则输出值为0 修改x就相当于val[f[i]]++或者val[f[i]]-- 用Link-cut Tree ...