ceph之查看osd上pg的分布
一、概述
osd上pg的分布决定了数据分布的均匀与否,所以能直观的看到pg到osd的上分布是很有必要的;
ceph只身提供了相关的命令:
#ceph pg ls-by-osd.{osd_id}
#for i in `ceph osd ls`; do ceph pg ls-by-osd osd.$i |awk '{print $1}' >> /tmp/aaa ;done #NOTE: 每次osd输出,第一行有一个pg_stat,需要去掉之后,就可以获取pg总数是ceph -s中 pg个数*副本数
上述方式可以很好的解决问题,但还是另一种方式也可以:
1、获取map:
# ceph osd getmap -o osdmap
got osdmap epoch
2、获取crushmap:
#osdmaptool osdmap --export-crush crushmap
osdmaptool: osdmap file 'osdmap'
osdmaptool: exported crush map to crushmap
也可以使用:
#ceph osd getcrushmap -o crushmap
3、获取某个pool在pg上的分布情况
#osdmaptool osdmap --import-crush crushmap --test-map-pgs --pool {pool_id}
例如:
osdmaptool osdmap --import-crush crushmap --test-map-pgs --pool
osdmaptool: osdmap file 'osdmap'
osdmaptool: imported byte crush map from crushmap
pool pg_num
#osd count first primary c wt wt
osd. 0.149994
osd. 0.149994
osd. 0.149994
osd. 0.149994
osd. 0.149994
osd. 0.149994
osd. 0.149994
osd. 0.149994
osd. 0.149994
in
avg stddev 2.68742 (.383917x) (expected 2.51416 .359165x))
min osd.
max osd.
size
size
size
size
osdmaptool: writing epoch to osdmap
可以看出单个pool的pg分布在osd上不是均匀的,我们可以迭代所有的pool来比较;并且通过以下命令来修改:
#ceph osd crush reweight osd.id {value}
ceph之查看osd上pg的分布的更多相关文章
- Ceph源码解析:PG peering
集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态. 一.OSD的故障和处理办法: 1. OSD的故障种类 ...
- ceph的pg的分布的快速查看
前言 本篇的内容实际上是另外一篇文章的字篇章,在另外一篇文章当中,将会对crush的分布的调整的做一次总结,用比较简单的方式来展示各种crush的区别 在做这个工作过程中,为了更好的能展示出效果,就有 ...
- 在ceph中:pool、PG、OSD的关系
原文:http://www.cnblogs.com/me115/p/6366374.html Pool是存储对象的逻辑分区,它规定了数据冗余的类型和对应的副本分布策略:支持两种类型:副本(replic ...
- 查询osd上的pg数
本文中的命令的第一版来源于国外的一个博客,后面的版本为我自己修改的版本 查询的命令如下: ceph pg dump | awk ' /^pg_stat/ { col=1; while($col!=&q ...
- Ceph删除OSD上一个异常object
前言 ceph里面的数据是以对象的形式存储在OSD当中的,有的时候因为磁盘的损坏或者其它的一些特殊情况,会引起集群当中的某一个对象的异常,那么我们需要对这个对象进行处理 在对象损坏的情况下,启动OSD ...
- 全能成熟稳定开源分布式存储Ceph破冰之旅-上
@ 目录 概述 定义 传统存储方式及问题 优势 生产遇到问题 架构 总体架构 组成部分 CRUSH算法 数据读写过程 CLUSTER MAP 部署 部署建议 部署版本 部署方式 Cephadm部署 前 ...
- 分布式存储系统之Ceph集群存储池、PG 与 CRUSH
前文我们了解了ceph集群状态获取常用命令以及通过ceph daemon.ceph tell动态配置ceph组件.ceph.conf配置文件相关格式的说明等,回顾请参考https://www.cnbl ...
- 使用chrome查看网页上效果的实现方式
使用chrome查看网页上效果的实现方式 chrome是一个极为强大的工具,很多时候,我们不知道一个效果怎么实现的,我们完全可以找到响应的网页,然后找到其html文件,和js文件,查看源码,获得其实现 ...
- 分布式存储ceph——(4)ceph 添加/删除osd
一.添加osd: 当前ceph集群中有如下osd,现在准备新添加osd:
随机推荐
- 读书笔记_Effective_C++_条款二十九:为“异常安全”而努力是值得的
还是举书上的例子: void PrettyMenu::changeBackground(std::istream& imgSrc) { lock(&mutex); delete bgI ...
- redis配置参数简介
redis配置查看方式: 1.redis的安装目录查看redis.conf 2.登陆redis客户端,使用 config get xx命令. 比如:查看所有的配置: config get * [roo ...
- Vue学习记录-画页面
webstorm 因为之前开发ReactNative的时候,选择了webstorm,这回转战Vue,自然还是用它.如果什么也不做的话,打开Vue工程,编辑区域基本上没有语法高亮.怎么办呢? 安装插件( ...
- Android中的数据存储(一):SharedPreferences 2017-05-24 10:35 64人阅读 评论(1) 收藏
SharedPreferences 这是本人(菜鸟)学习android数据存储时接触的有关SharedPreferences的知识以及本人自己写的一个简单地demo,为初学者学习和使用SharedPr ...
- JLink Support for the Nuvoton NUC1xx devices
http://forum.segger.com/index.php?page=Thread&threadID=1441 Friday, April 19th 2013, 7:25pm Hi M ...
- 【IntellJ IDEA】idea上所有代码都报错了
可能会碰到蓝屏,内存溢出重启idea等特殊情况. 重新打开idea后发现原本的代码全都报错了 正确的解决方法: 方法很简单 执行idea工具栏上下面的菜单: File -> Invalidate ...
- Nuget server on IIS6 returns 404
Nuget server on IIS6 returns 404 when downloading package after upgrade 2011年9月2日 8:03:30 (GMT Dayli ...
- docker和虚拟化技术的区别
1.docker和虚拟化技术的区别 Docker 扩展了 Linux 容器(Linux Containers),或着说 LXC,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境.Dock ...
- GPGPU OpenCL 获取设备信息
在使用OpenCL编程中,需要对GPU设备的底层理解,这样才能更好的进行代码优化. 比如计算单元CU数量,每个CU的执行单元PE数量,每个CU中的共享内存大小等等.只有了解了这些才能更好的使用共享内存 ...
- .NET 代码注入 CodeInject
CInject (or CodeInject) 允许直接往托管的代码中注入代码,而无需反编译.可在单个或者多个方法中注入你要执行的代码.使用 CInject 时你无需了解目标应用的细节,你通过注入来轻 ...