ceph故障:too many PGs per OSD
原文:http://www.linuxidc.com/Linux/2017-04/142518.htm
背景
集群状态报错,如下:
# ceph -s
cluster 1d64ac80-21be-430e-98a8-b4d8aeb18560
health HEALTH_WARN <-- 报错的地方
too many PGs per OSD (912 > max 300)
monmap e1: 1 mons at {node1=109.105.115.67:6789/0}
election epoch 4, quorum 0 node1
osdmap e49: 2 osds: 2 up, 2 in
flags sortbitwise,require_jewel_osds
pgmap v1256: 912 pgs, 23 pools, 4503 bytes data, 175 objects
13636 MB used, 497 GB / 537 GB avail
912 active+clean
分析
问题原因是集群osd 数量较少,在我的测试过程中,由于搭建rgw网关、和OpenStack集成等,创建了大量的pool,每个pool要占用一些pg ,ceph集群默认每块磁盘都有默认值,好像每个osd 为300个pgs,不过这个默认值是可以调整的,但调整得过大或者过小都会对集群的性能产生一定影响。因为我们这个是测试环境,只要能消除掉报错即可。查询当前每个osd下最大的pg报警值:
$ ceph --show-config | grep mon_pg_warn_max_per_osd
mon_pg_warn_max_per_osd = 300
解决方案
在配置文件中,调大集群的此选项的告警阀值;方法如下,在mon节点的ceph.conf(/etc/ceph/ceph.conf)配置文件中添加:
$ vi /etc/ceph/ceph.conf
[global]
.......
mon_pg_warn_max_per_osd = 1000
重启monitor服务:
$ systemctl restart ceph-mon.target
再次查看ceph集群状态。
$ ceph -s
cluster 1d64ac80-21be-430e-98a8-b4d8aeb18560
health HEALTH_OK
monmap e1: 1 mons at {node1=109.105.115.67:6789/0}
election epoch 6, quorum 0 node1
osdmap e49: 2 osds: 2 up, 2 in
flags sortbitwise,require_jewel_osds
pgmap v1273: 912 pgs, 23 pools, 4503 bytes data, 175 objects
13636 MB used, 497 GB / 537 GB avail
912 active+clean
```
ceph故障:too many PGs per OSD的更多相关文章
- 021 Ceph关于too few PGs per OSD的问题
在一个ceph集群中,操作创建一个池后,发现ceph的集群状态处于warn状态,信息如下 检查集群的信息 查看看池 [root@serverc ~]# ceph osd pool ls images ...
- ceph -s集群报错too many PGs per OSD
背景 集群状态报错,如下: # ceph -s cluster 1d64ac80-21be-430e-98a8-b4d8aeb18560 health HEALTH_WARN <-- 报错的地方 ...
- HEALTH_WARN too few PGs per OSD (21 < min 30)解决方法
标签(空格分隔): ceph,ceph运维,pg 集群环境: [root@node3 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 ...
- Ceph学习笔记(4)- OSD
前言 OSD是一个抽象的概念,对应一个本地块设备(一块盘或一个raid组) 传统NAS和SAN存储是赋予底层物理磁盘一些CPU.内存等,使其成为一个对象存储设备(OSD),可以独立进行磁盘空间分配.I ...
- Ceph 故障修复记录(持续更新)
目录 文章目录 目录 问题:故障域与副本数导致的 PG 不正常 问题:故障域与副本数导致的 PG 不正常 缘起:执行 rbd snap unprotect 执行卡死. 调查:Ceph 集群 PG 不正 ...
- 记最近一次ceph故障修复
前言 所谓吃一堑长一智,每次面对问题才是最好的学习机会,在面对问题的时候,尽量是能够自己去解决,或者去尝试能够最接近答案,确实无法解决再去寻求他人帮助,这样成长的会更快一些,在学校读书做题的时候,老师 ...
- too few PGs per OSD (20 < min 30)
ceph osd pool set replicapool pg_num 150 ceph osd pool set replicapool pgp_num 150
- 分布式存储ceph——(5)ceph osd故障硬盘更换
正常状态:
- Ceph添加、删除osd及故障硬盘更换
添加或删除osd均在ceph部署节点的cent用户下的ceph目录进行. 1. 添加osd 当前ceph集群中有如下osd,现在准备新添加osd: (1)选择一个osd节点,添加好新的硬盘: (2)显 ...
随机推荐
- C语言Socket编程(计算机网络作业)
最近我计算机网络课程要做作业了,没办法跟着老师一步一步的写C语言的代码,使用的计算就是Socket通信发送消息:代码实现的功能很简单,客户端向服务器端发送消息,服务器端接收客户端发来的消息,并且输出显 ...
- 【java】JDK环境变量配置
1.双击下载的JDK 设置安装路径.这里我们选择默认安装在C:\Program Files\Java\jdk1.8.0_51(java 环境分JDK 和JRE ,JDK就是Java Developm ...
- 浅析 MySQL Replication(转)
目前很多公司中的生产环境中都使用了MySQL Replication ,也叫 MySQL 复制,搭建配置方便等很多特性让 MySQL Replication 的应用很广泛,我们曾经使用过一主拖20多个 ...
- WCF揭秘学习笔记(1):基础知识
最近找工作,面试时经常被问懂不懂WCF.不少招聘高级.NET工程师的要求上都 写着有WCF开发经验的优先考虑.我对于WCF仅仅是通过看一些教学视频这种山寨学习法了解一些.现在要下决心好好学习一下WCF ...
- emacs之配置symbol浏览界面
由于ecb的method-buffer不能更新,因此抛弃ecb,speedbar的method也不能更新,换imenu-tree 使用el-get install安装imenu-tree imenu- ...
- java scanner工具类
import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { Scanne ...
- 让多个Fragment 切换时不重新实例化
转自:http://www.yrom.net/blog/2013/03/10/fragment-switch-not-restart/ 让多个Fragment 切换时不重新实例化 在项目中需要进行Fr ...
- Bootstrap-CL:警告
ylbtech-Bootstrap-CL:警告 1.返回顶部 1. Bootstrap 警告(Alerts) 本章将讲解警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警 ...
- C# 通过Exchange server 发送邮件
微软的Exchange邮件服务不同与一般的邮件server,他不能简单使用SmtpClient等组件实现邮件收发的功能. 那么怎么通过Exchange服务发送邮件呢? 微软的Exchange服务都有w ...
- canvas绘制曲线
canvas绘制曲线 方法 quadraticCurveTo(cp1x, cp1y, x, y) 只有一个控制点的贝塞尔曲线(其实就是控制点分别与起始点和结束点连线的公切线) bezierCurveT ...