ceph卡在active+remapped状态
最近看到了有人的环境出现了出现了卡在active+remapped状态,并且卡住不动的状态,从pg的状态去看,这个pg值分配了主的pg,没有分配到副本的osd,集群的其他设置一切正常
这个从网上搜寻到的资料来看,大多数都是由于不均衡的主机osd引起的,所谓不平衡的osd
- 一台机器上面的磁盘的容量不一样,有的3T,有的1T
- 两台主机上面的OSD个数不一样,有的5个,有的2个
这样会造成主机的crush 的weight的差别很大的问题,以及分布算法上的不平衡问题,建议对于一个存储池来说,它所映射的osd至少需要是磁盘大小一致和个数一致的
这个问题我在我的环境下做了复现,确实有卡在remapped的问题
出现这个情况一般是什么操作引起的?
做osd的reweight的操作引起的,这个因为一般在做reweight的操作的时候,根据算法,这个上面的pg是会尽量分布在这个主机上的,而crush reweight不变的情况下,去修改osd 的reweight的时候,可能算法上会出现无法映射的问题
怎么解决这个问题?
直接做osd crush reweigh的调整即可避免这个问题,这个straw算法里面还是有点小问题的,在调整某个因子的时候会引起整个因子的变动
之前看到过sage在回复这种remapped问题的时候,都是不把这个归到bug里面去的,这个我也认为是配置问题引起的极端的问题,正常情况下都能避免的
更新
从FIREFLY (CRUSH_TUNABLES3)开始crush里面增加了一个参数:
chooseleaf_vary_r
是否进行递归的进行chooseleaf,如果非0,就递归的进行,这个基于parent已经做了多少次尝试,默认是0,但是常常找不到合适的mapping.在计算成本和正确性上来看最佳的值是1
对迁移的影响,对于已经有大量数据的集群来说,从0调整为1将会有大量的数值的迁移,调整为4或者5的话,将会找到一个更有效的映射,可以减少数据的移动
查看当前的值
[root@lab8106 ~]# ceph osd crush show-tunables |grep chooseleaf_vary_r
"chooseleaf_vary_r": 0,
修改crushmap内容
修改chooseleaf_vary_r的值
hammer版本下这个参数默认为:
tunable chooseleaf_vary_r 0
jewel版本下这个参数默认为:
tunable chooseleaf_vary_r 1
这个是跟 tunables 的版本有关的
注意:在 3.15 之前的版本中,chooseleaf_vary_r 的值必须为0(原因未知)
参考资料
变更记录
| Why | Who | When |
|---|---|---|
| 创建 | 武汉-运维-磨渣 | 2016-05-14 |
| 修改 | 武汉-运维-磨渣 | 2016-09-23 |
ceph卡在active+remapped状态的更多相关文章
- chrome控制台模拟hover、focus、active等状态,方便调试
有时候需要调试一个网页,需要某些元素在hover.focus.active等状态. 比如hover,鼠标放到hover上,然后去控制台中找DOM,鼠标移开的时候元素就不是hover状态了. 此时可以使 ...
- PeopleSoft进程卡在“已排队”状态诊断和解决
进程卡在“已排队”状态的原因很多.最常见的原始是进程调度器服务挂掉了(可以在“进程监视器”页面的“服务器”tab页中查看). 除此之外,还可以进行下面诊断:1. 检查下面3张表:PSPRCSRQSTP ...
- Ceph PG介绍及故障状态和修复
1 PG介绍pg的全称是placement group,中文译为放置组,是用于放置object的一个载体,pg的创建是在创建ceph存储池的时候指定的,同时跟指定的副本数也有关系,比如是3副本的则会有 ...
- Ceph 存储集群-低级运维
低级集群运维包括启动.停止.重启集群内的某个具体守护进程:更改某守护进程或子系统配置:增加或拆除守护进程.低级运维还经常遇到扩展.缩减 Ceph 集群,以及更换老旧.或损坏的硬件. 一.增加/删除 O ...
- 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- ceph mimic版本 部署安装
ceph 寻址过程 1. file --- object映射, 把file分割成N个相同的对象 2. object - PG 映射, 利用静态hash得到objectID的伪随机值,在 "位 ...
- Ceph常规操作及常见问题梳理
Ceph集群管理 每次用命令启动.重启.停止Ceph守护进程(或整个集群)时,必须指定至少一个选项和一个命令,还可能要指定守护进程类型或具体例程. **命令格式如 {commandline} [opt ...
- 分布式存储Ceph之PG状态详解
https://www.jianshu.com/p/36c2d5682d87 1. PG介绍 继上次分享的<Ceph介绍及原理架构分享>,这次主要来分享Ceph中的PG各种状态详解,PG是 ...
- ceph placement group状态总结
一.归置组状态 1. Creating 创建存储池时,它会创建指定数量的归置组.ceph 在创建一或多个归置组时会显示 creating;创建完后,在其归置组的 Acting Set 里的 OSD 将 ...
随机推荐
- selenium原理学习笔记
一,selenium工作原理(参考文档:https://blog.csdn.net/dawei_yang000000/article/details/87639928) 自动化测试代码发送请求给到浏览 ...
- spring boot:基于profile的多环境配置(spring boot 2.3.4)
一,为什么要进行多环境配置? 1,没有人会在生产环境中进行开发和测试, 所以通常会有多个环境的划分: 工程师本地的开发环境 进行测试的测试环境 最终上线的生产环境 每个环境对应不同的数据库/缓存等数据 ...
- linux(centos8):kubernetes安装的准备工作
一,安装docker-ce19.03.11 1,卸载podman [root@kubemaster ~]# dnf remove podman podman是红帽系os自带的容器,卸载是为了避免冲突 ...
- Ambari仓库安装教程
Ambari仓库安装教程 如果用户需要后续使用Ambari server进行安装Hadoop则必须搭建一个内部的yum源,否则直接下载速度将会很慢,当然该服务仅要搭建一个即可,可以一直使用. 一.Ce ...
- 【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常
问题描述 在使用Azure Redis时,遇见Read Timed out异常, Redis的客户端使用的时jedis.问题发生时,执行redis部分指令出错,大部分get指令,set指令能正常执行. ...
- apktool重新打包添加签名
一.生成apk apktool b 反编译后项目目录 -o 新apk名称.apk 二.生成签名 keytool -genkeypair -alias 新apk名称.apk -keyalg RSA -v ...
- 装java开发环境 报client/jvm.dll找不到
jdk安装成功,明明有jvm.dll就是找不到,导致eclipse打不开.此时eclipse为64位,jdk为32位:查了好多方法,不起作用.最后将jdk换位64位问题解决. 所以,一般64位的系统建 ...
- 如何使用dos,以及一些简单的dos命令
一. 如何打开dos窗口 1. 按下 windos键 alt ctrl 之间的键 或者打开开始 菜单 输入 cmd 名令 2. win + r 键 输入 cmd 打开 d ...
- JMeter实战(二) 运行原理
运行原理 如果不用工具,要做 100 并发的压力测试,得想办法组织 100 个人,每个人操作1台电脑,一声令下,100 个人同时点击,对系统造成 100 并发.现实中,很难找 100 个人和 100 ...
- 02 . Go框架之Gin框架从入门到熟悉(数据解析和绑定,渲染,重定向,同步异步,中间件)
数据解析和绑定 json数据解析和绑定 package main import ( "github.com/gin-gonic/gin" "net/http" ...