文章目录
osd 什么时候会达到full 状态
- 问1:osd 什么时候会出现full
- 答1:默认情况下osd写入达到85% 出现nearfull、达到90% 出现backfillfull、达到95% 出现full。
- 问2:如何查看osd的写入量
- 答2:执行命令:ceph osd df tree
- 问3:如何查看osd默认的这三个值(full_ratio、backfillfull_ratio、nearfull_ratio)
- 答3:执行命令:ceph osd dump | grep ratio
- 问4:如何查看某个特定osd这三个值
- 答4:执行命令:ceph daemon /var/run/ceph/ceph-osd.2.asok config show | grep mon_osd | grep ratio
osd full后会带来什么问题
- 问1:osd full会带来什么问题
- 答1:单个osd出现full 会导致整个ceph集群停服(停服意思:不可写不可读)
- 问2:为何一个osd出现full,整个集群都不可用,(有多个池的情况,其他池也是不能写入)
- 答2:因为ceph默认三副本,且写入数据是强一致性。在保证数量可靠存储的同时,人为引入的强制性约束(自己瞎掰的理由)
因osd full 导致集群停服的处理思路
- 第一:先要解除osd full,让集群动起来(就是恢复到可读可写)
- 第二:要么清理不要的数据、要么扩容(最好是扩容,扩容又分新增osd盘 或者 更换为容量更大的的盘)
实施步骤
第一步、先确定是哪些osd full。
A、若是ceph、rbd相关命令还可用,直接查看使用率
ceph osd df tree #找使用率大于95%的
B、若是ceph、rbd相关命令失效。(当时一脸懵逼,连哪些osd满了我都不知道,因为ceph、rbd等皆不可用)我把存储节点全部重启后居然可以使用ceph命令了
1、去看ceph日志,看故障前记录的日志是哪些osd full(写是一个过程,肯定有日志记录是那个osd full)
root@pve-ceph04:~# cat /var/log/ceph/ceph.log | grep "backfill full" #去每一台host上看(没办法只能这样)
2023-04-20T17:10:00.019267+0800 mon.pve-ceph03 (mon.0) 3712 : cluster [WRN] osd.0 is backfill full
2023-04-20T17:10:00.019291+0800 mon.pve-ceph03 (mon.0) 3713 : cluster [WRN] osd.2 is backfill full
2、确认这个full的osd在哪个host上(若是之前有记录这个数据,直接查记录,若是没有记录,只去像如下去每台上查询)
root@pve-ceph02:~# ls /var/lib/ceph/osd/ | grep "ceph-2" #ceph-2 中的2就是osd的id号
ceph-2
第二步:临时解除osd full状态
以下是基于ceph命令可用的情况,若是ceph命令不可用了,可能需要重启集群所有节点
方式一:停止对应full osd的进程(有三副本,临时停止full osd,让集群动起来),该方式风险很大
systemctl stop ceph-osd@2
方式二:将对应full osd的reweight降低,让数据迁移部分到其他osd,(该方式必须要求osd.2进程处于正常运行状态)(见下图所示)
ceph osd reweight osd.2 0.9
方式三:临时修改对应full osd的ratio值(适用于ceph16及以前版本)(该方式必须要求osd.2进程处于正常运行状态)
ceph tell osd.2 injectargs '--mon_osd_full_ratio 0.97 --mon_osd_backfillfull_ratio 0.95 --mon_osd_nearfull_ratio 0.9'
#ceph17版本需要把配置写到配置文件重启osd
最终措施:加盘扩容,或者换大盘扩容
方式一:清理数据(没啥说的)
方拾二:加osd扩容(没啥说的)
方式三:没有多余的硬盘接口,换大盘扩容(没亲自测试过)
#先将osd的标志调整下
ceph osd set noout
ceph osd set nobackfill
ceph osd set norecover
#然后销毁掉这个osd,拔掉该盘,插入大盘,重建osd
#完成后关闭标志
ceph osd unset noout
ceph osd unset nobackfill
ceph osd unset norecover
附:介绍了删除pg的处理方式
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论