你可以用下列命令显式地列出卡住的 PGs: ceph pg dump_stuck stale ceph pg dump_stuck inactive ceph pg dump_stuck unclean...下例展示了这种情况是如何发生的,一个 PG 的数据存储在 ceph-osd 1 和 2 上: 1 挂了 2 独自处理一些写动作 1 起来了 1 和 2 重新互联, 1 上面丢失的对象加入队列准备恢复 新对象还未拷贝完...以下命令把未找到的( unfound )对象标记为丢失( lost )。...为检测这种情况,monitor 会把任何主 OSD 失败的 PG 标记为 stale (不新鲜),例如: ceph health HEALTH_WARN 24 pgs stale; 3/300 in osds...are down 可以找出哪些 PG 是 stale 状态,和存储这些归置组的最新 OSD ,命令如下: ceph health detail HEALTH_WARN 24 pgs stale; 3/
PG介绍 继上次分享的《Ceph介绍及原理架构分享》,这次主要来分享Ceph中的PG各种状态详解,PG是最复杂和难于理解的概念之一,PG的复杂如下: 在架构层次上,PG位于RADOS层的中间。...3.1.3 总结 降级就是在发生了一些故障比如OSD挂掉之后,Ceph 将这个 OSD 上的所有 PG 标记为 Degraded。...查看集群健康状态 $ bin/ceph health detail HEALTH_WARN 1 osds down; Reduced data availability: 4 pgs inactive;...Reduced data availability: 4 pgs inactive pg 1.6 is stuck inactive for 516.741081, current state...把状态incomplete的pg,标记为complete。建议操作前,先在测试环境验证,并熟悉ceph-objectstore-tool工具的使用。
本来头一天晚上还是正常的ceph存储集群,经历了一个不明真相的夜晚之后启动机器发现集群的健康检查状态已经是HEALTH_ERR了: [root@node1 ~]# ceph -s cluster...056c396d-639c-4312-9ea0-794c92e57329 health HEALTH_ERR 38 pgs are stuck inactive for...more than 300 seconds 64 pgs degraded 38 pgs stuck inactive 26 pgs...38 undersized+degraded+peered 26 active+undersized+degraded 于是查看了集群内的机器中被使用于集群中的硬盘的所有者和所属组...,虽然设置了所有者和所属组,但是在机器重启之后会变回原来的所有者和所属组。
源码跟踪 1.1 get_cluster_status https://github.com/ceph/ceph/blob/2a724a2ff313701fd7f6278ce8ed7f440bb355e0.../src/mon/Monitor.cc ceph -s 会执行get_cluster_status函数, 在函数的最后会调用打印 mgrstatmon()->print_summary函数 void...unknown\n"; pad = true; } } int num_pg_inactive = num_pg - num_pg_active - num_pg_unknown...; if (num_pg_inactive > 0) { float p = (float)num_pg_inactive / (float)num_pg; if (f) {...f->dump_float("inactive_pgs_ratio", p); } else { if (pad) { *out << " "
requests 慢查询 Monitor clock skew detected 时钟偏移 bigdata failing to advance its oldest client/flush tid 客户端和MDS...slow requests会警告 recovery 需要recovery的时候会报 at/near target max 使用cache tier的时候会警告 too few PGs per OSD...每个OSD的PG数过少 too many PGs per OSD too many PGs per OSD > pgp_num > pgp_num has many more objects per...每个Pg上的objects数过多 no osds 部署完就可以看到,运行过程中不会出现 full osd OSD满时出现 pgs are stuck inactive for more than...Pg处于inactive状态,该Pg读写都不行 scrub errors scrub 错误出现,是scrub错误?
部署流程 博客使用的markdown解析器不支持流程图使用图片代替 ? 2. 主机规划 ? 安装 docker 登录获取自己的阿里云 docker 加速地址 1....复制配置文件 将 node1 上的配置文件复制到 node02 和 node03,复制的路径包含/etc/ceph和/var/lib/ceph/bootstrap-*下的所有内容。...-9dee-3a7215cba51c health HEALTH_ERR 64 pgs are stuck inactive for more than 300 seconds...64 pgs stuck inactive 64 pgs stuck unclean no osds monmap e4...-e OSD_DEVICE=/dev/sdc \ ceph/daemon osd_ceph_disk 按照同样方法将 node02 和 node03 的 sdb、sdc 都加入集群 查看集群状态
1.说明 1.1介绍 PG全称Placement Grouops,是一个逻辑的概念,一个PG包含多个OSD。引入PG这一层其实是为了更好的分配数据和定位数据。 2....ceph pg stat 5416 pgs: 5416 active+clean; 471 GB data, 1915 GB used, 154 TB / 156 TB avail 2.4 查看pg详细信息...$ ceph pg 1.2f6 query 2.5 查看pg中stuck状态 $ ceph pg dump_stuck unclean ok $ ceph pg dump_stuck inactive...ok $ ceph pg dump_stuck stale ok 2.6 显示集群所有pg统计 $ ceph pg dump --format plain 2.7 恢复一个丢失的pg $ ceph...pg {pg-id} mark_unfound_lost revert 2.8 显示非正常状态的pg $ ceph pg dump_stuck inactive|unclean|stale
问题背景 集群中剔除了一个osd,没有新加入,进行了一次pg的均衡,做完均衡后集群出现· Degraded data redundancy: 256 pgs undersized,为了保证集群的pg副本数为...3,需要新添加一个osd来做pg的均衡 ceph 集群的状态 [root@node1 ~]# ceph -v ceph version 14.2.18 (befbc92f3c11eedd8626487211d200c0b44786d9...集群中osd的recovery的相关参数 [root@node1 ~]# ceph daemon osd.0 config show |grep recovery|grep osd "osd_allow_recovery_below_min_size..." //每个osd节点执行如下的参数调整或者通过ceph daemon osd.2 config set osd_recovery_op_priority 1 来设置 ceph tell osd.*...inactive, 17 pgs stale Degraded data redundancy: 251 pgs undersized services: mon
]和带宽) 高可靠性 提供了对象,块,文件系统一整套存储解决方案,大大降低运维的成本 笔者认为Ceph作为一个优秀的分布式存储系统,未来分布式存储系统提供了设计基础。...编译安装Ceph和直接通过包管理器安装Ceph的可大有不同。...(10) 用监视器图和密钥环组装守护进程所需的初始数据。...ceph -s 你应该从输出里看到刚刚启动的监视器在正常运行,并且应该会看到一个健康错误:它表明归置组卡在了 stuck inactive 状态。...输出大致如此: cluster a7f64266-0894-4f1e-a635-d0aeaca0e993 health HEALTH_ERR 64 pgs stuck inactive; 64 pgs
HEALTH_WARN 12 pgs down; 12 pgs peering; 12 pgs stuck inactive; 12 pgs stuck unclean pg 3.3b is stuck...osd.0、osd.2节点,osd.0代表主副本的存储位置 3、查看PG状态 [root@client ~]# ceph pg stat v1164: 448 pgs: 448 active+clean...inactive ok [root@client ~]# ceph pg dump_stuck stale ok 6、显示一个集群中的所有的pg统计 ceph pg dump --format plain...7、恢复一个丢失的pg ceph pg {pg-id} mark_unfound_lost revert 8、显示非正常状态的pg ceph pg dump_stuck inactive|unclean...@admin ~]# ceph osd pool set data pgp_num 100 set pool 0 pgp_num to 100 七、rados和rbd指令 1、rados命令使用方法 (
Ceph简介 Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。 部署逻辑架构 ?...防止时钟偏移导致故障)、openssh #sudo yum install ntp ntpdate ntp-doc #sudo yum install openssh-server 在各节点上配置防火墙开放所需要的端口和...源(本人这里选择的jewel,这里推荐使用网易或阿里的ceph源,若用官方源文件会很慢而且容易出现下载失败中断等问题,本人深受下载官方源的坑害) 在 /etc/yum.repos.d/目录下创建 ceph.repo...ceph-deploy //若安装ceph后遇到麻烦可以使用以下命令进行清除包和配置 #ceph-deploy purge node1 node2 node3 #ceph-deploy purgedata...23 pgs degraded; 41 pgs peering; 31 pgs stale; 12 pgs stuck inactive; 24 pgs stuck unclean; recovery
初始化 ceph-volume $ ceph-volume lvm activate --bluestore --all 修改 Client keyring 和修复 修改 Client keyring...和修复,首先通过 ceph 命令进行查看: 然后把内容复制到: $ cat /var/lib/ceph/osd/ceph-0/keyring [osd.0] key = AQCzhrpeLRK+MhAAbjAgSsE7O81Q...1 MDSs report slow requests Reduced data availability: 38 pgs inactive...} Reduced data availability: 38 pgs inactive 报错如下:https://zhuanlan.zhihu.com/p/74323736[1] $ ceph -s...osd min down reporters = 1 # 标记一个OSD状态为down和out之前ceph等待的秒数,默认值300 mon osd down out interval = 600
又或者是某个OSD的状态变成了down,那么该OSD上的所有PG都会被标记为degraded。...当Ceph因为某些原因无法找到某个PG内的一个或多个object时,该PG也会被标记为degraded状态。此时客户端不能读写找不到的对象,但是仍然能访问位于该PG内的其他object。...这个过程需要一段时间,所以在此期间,相关PG的状态便会标记为remapped。...pools:存储池与PGs的数量。 objects:存储对象的数量。 usage:存储的理论用量。...pgs:PGs的运行状态 ~]$ ceph -w ~]$ ceph health detail #pg状态 ~]$ ceph pg dump ~]$ ceph pg stat #pool状态 ~]$
ID 集群健康状况 monitor map 版本和 mon 法定人数状态 OSD map 版本和 OSD 状态摘要 PG map 版本 PG 和 Pool 的数量 集群存储的数据量,对象的总量,以及集群的已用容量...用此值对比 full ratio 和 near full ratio 来确保不会用尽集群空间。 输出的 POOLS 段展示了存储池列表及各存储池的大致使用率。...本段没有反映出副本、克隆和快照的占用情况。例如,如果你把 1MB 的数据存储为对象,理论使用率将是 1MB ,但考虑到副本数、克隆数、和快照数,实际使用量可能是 2MB 或更多。...pg dump pgs|grep ^1|awk ' {print $15}' > pgs.log sed -i "s/\[//g" pgs.log sed -i "s/\]//g" pgs.log for...元数据服务器有两种状态: up | down 和 active | inactive ,执行下面的命令查看元数据服务器状态为 up 且 active : ceph mds stat e12557: 1/
环境清理一小节可以解决绝大多数部署不成功的问题,最后一节介绍了常用的Ceph操作,希望能给刚搭建环境的同学一些帮助。...ceph客户端时的状态!...health HEALTH_ERR 19 pgs arestuck inactive for more than 300 seconds 12...pgspeering 19 pgs stuckinactive monmap e1: 3 mons at{ceph-1=192.168.57.222:6789/0,ceph...因为节点到几十个的时候,不可能一个个去修改的,采用推送的方式快捷安全!
osd.0、osd.2节点,osd.0代表主副本的存储位置 3、查看PG状态 [root@client ~]# ceph pg stat v1164: 448 pgs: 448 active+clean...inactive ok [root@client ~]# ceph pg dump_stuck stale ok 6、显示一个集群中的所有的pg统计 ceph pg dump --format plain...7、恢复一个丢失的pg ceph pg {pg-id} mark_unfound_lost revert 8、显示非正常状态的pg ceph pg dump_stuck inactive|unclean...~]# ceph osd pool set data pgp_num 100 set pool 0 pgp_num to 100 七、rados和rbd指令 1、rados命令使用方法 (1)、查看ceph...05-24 17:28:18.940402 7f14ad39f700 0 -- :/1032237 >> 10.49.101.9:6789/0 pipe(0x260a400 sd=3 :0 s=1 pgs
---- # PG状态 Creating 当创建一个池的时候,Ceph会创建一些PG(通俗点说就是在OSD上建目录),处于创建中的PG就被标记为creating,当创建完之后,那些处于Acting...当一个OSDdown了,Ceph会将这个OSD上的PG都标记为降级。当这个挂掉的OSD重新上线之后,OSD们必须重新peer。...当OSDdown掉五分钟后,集群会自动将这个OSD标为out, 然后将缺少的PGremap到其他OSD上进行恢复以保证副本充足,这个五分钟的配置项是mon osd down out...PG如果丢了对象,Ceph也会将其标记为降级。 你可以继续访问没丢的对象,但是不能读写已经丢失的对象了。...Stale Ceph使用心跳来确保主机和进程都在运行,OSD进程如果不能周期性的发送心跳包, 那么PG就会变成stuck状态。
由OSD class配置引发的PG异常状态修复 问题描述 ceph版本12.2.8,一个PG卡在remapped状态,但是集群状态是OK的,为了修复这个remapped状态,才有了下面的操作。...osd crush rm-device-class 18 done removing class of osd(s): 18 查了一下L版本新增的配置,发现有一个自动打class类型配置,于是在ceph.conf...#ceph.conf osd_class_update_on_start = false 之后试着重启OSD 18,ssd的class已经不会自动添加,但是发现remapped状态变成了undersized...因此,强烈建议所有需要自定义crush规则的用户,都在ceph.conf中加上osd_class_update_on_start = false,来避免本文发生的悲剧。...同时整个PG状态的统计和显示在L版本还存在一些bug,虽然不影响正常使用,但是仍然会给很多人带来困惑,甚至是误导,就如很早以前一个同行说的,对待存储一定要时刻保持敬畏之心,所有的操作一定要慎重,不然分分钟丢掉饭碗
一个RGW环境的更新,ceph 12.2.12升级到14.2.4流程,跳过中间的13版本。 注意:升级很危险,操作需谨慎。升级没有后悔药,本人不承担任何因升级及相关操作导致的任何数据丢失风险。...yum准备 yum源里面将旧的 https://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/ 替换为 https://mirrors.aliyun.com.../ceph/rpm-nautilus/el7/x86_64/ 之后更新yum源信息,使用install即可完成二进制包的升级。...@* 修复异常 升级后出现“Legacy BlueStore stats reporting”和“ 3 monitors have not enabled msgr2”,两种类型的异常。...出现“3 monitors have not enabled msgr2” 是因为新版本需要默认开启msgr2的通信模块。
一、前言 首先来一段英文关于PG和PGP区别的解释: PG = Placement Group PGP = Placement Group for Placement purpose pg_num =...By Karan Singh 以上是来自邮件列表的 Karan Singh 的PG和PGP的相关解释,他也是 Learning Ceph 和 Ceph Cookbook的作者,以上的解释没有问题,我们来看下具体在集群里面具体作用...created 我们看一下默认创建完了后的PG分布情况 ceph pg dump pgs|grep ^1|awk '{print $1,$2,$15}' dumped pgs in format plain...ceph pg dump pgs|grep ^1|awk '{print $1,$2,$15}' dumped pgs in format plain 1.1 75 [3,6,0] 1.0 83 [7,0,6...set testpool pgp_num 12 ceph pg dump pgs|grep ^1|awk '{print $1,$2,$15}' dumped pgs in format plain
领取专属 10元无门槛券
手把手带您无忧上云