Ceph集群磁盘无剩余空间的解决方法

Ceph集群磁盘无剩余空间的解决方法

2015-05-13 09:57:47

云计算 OpenStack + Ceph集群在使用过程中,由于虚拟机拷入大量新的数据,导致集群的磁盘迅速消耗,没有空余空间,虚拟机无法操作,Ceph集群所有操作都无法执行。本文提出两种解决办法,供大家参考。

[[133969]]

故障描述

OpenStack + Ceph集群在使用过程中,由于虚拟机拷入大量新的数据,导致集群的磁盘迅速消耗,没有空余空间,虚拟机无法操作,Ceph集群所有操作都无法执行。

故障现象

  • 尝试使用OpenStack重启虚拟机无效
  • 尝试直接用rbd命令直接删除块失败

 

  1. [root@controller ~]# rbd -p volumes rm volume-c55fd052-212d-4107-a2ac-cf53bfc049be 
  2. 2015-04-29 05:31:31.719478 7f5fb82f7760  0 client.4781741.objecter  FULL, paused modify 0xe9a9e0 tid 6
  • 查看ceph健康状态
  1. cluster 059f27e8-a23f-4587-9033-3e3679d03b31 
  2.  health HEALTH_ERR 20 pgs backfill_toofull; 20 pgs degraded; 20 pgs stuck unclean; recovery 7482/129081 objects degraded (5.796%); 2 full osd(s); 1 near full osd(s) 
  3.  monmap e6: 4 mons at {node-5e40.cloud.com=10.10.20.40:6789/0,node-6670.cloud.com=10.10.20.31:6789/0,node-66c4.cloud.com=10.10.20.36:6789/0,node-fb27.cloud.com=10.10.20.41:6789/0}, election epoch 886, quorum 0,1,2,3 node-6670.cloud.com,node-66c4.cloud.com,node-5e40.cloud.com,node-fb27.cloud.com 
  4.  osdmap e2743: 3 osds: 3 up, 3 in 
  5.         flags full 
  6.   pgmap v6564199: 320 pgs, 4 pools, 262 GB data, 43027 objects 
  7.         786 GB used, 47785 MB / 833 GB avail 
  8.         7482/129081 objects degraded (5.796%) 
  9.              300 active+clean 
  10.               20 active+degraded+remapped+backfill_toofull
  1. HEALTH_ERR 20 pgs backfill_toofull; 20 pgs degraded; 20 pgs stuck unclean; recovery 7482/129081 objects degraded (5.796%); 2 full osd(s); 1 near full osd(s) 
  2. pg 3.8 is stuck unclean for 7067109.597691, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  3. pg 3.7d is stuck unclean for 1852078.505139, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  4. pg 3.21 is stuck unclean for 7072842.637848, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  5. pg 3.22 is stuck unclean for 7070880.213397, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  6. pg 3.a is stuck unclean for 7067057.863562, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  7. pg 3.7f is stuck unclean for 7067122.493746, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  8. pg 3.5 is stuck unclean for 7067088.369629, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  9. pg 3.1e is stuck unclean for 7073386.246281, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  10. pg 3.19 is stuck unclean for 7068035.310269, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  11. pg 3.5d is stuck unclean for 1852078.505949, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  12. pg 3.1a is stuck unclean for 7067088.429544, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  13. pg 3.1b is stuck unclean for 7072773.771385, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  14. pg 3.3 is stuck unclean for 7067057.864514, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  15. pg 3.15 is stuck unclean for 7067088.825483, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  16. pg 3.11 is stuck unclean for 7067057.862408, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  17. pg 3.6d is stuck unclean for 7067083.634454, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  18. pg 3.6e is stuck unclean for 7067098.452576, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  19. pg 3.c is stuck unclean for 5658116.678331, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  20. pg 3.e is stuck unclean for 7067078.646953, current state active+degraded+remapped+backfill_toofull, last acting [2,0
  21. pg 3.20 is stuck unclean for 7067140.530849, current state active+degraded+remapped+backfill_toofull, last acting [0,2
  22. pg 3.7d is active+degraded+remapped+backfill_toofull, acting [2,0
  23. pg 3.7f is active+degraded+remapped+backfill_toofull, acting [0,2
  24. pg 3.6d is active+degraded+remapped+backfill_toofull, acting [2,0
  25. pg 3.6e is active+degraded+remapped+backfill_toofull, acting [2,0
  26. pg 3.5d is active+degraded+remapped+backfill_toofull, acting [2,0
  27. pg 3.20 is active+degraded+remapped+backfill_toofull, acting [0,2
  28. pg 3.21 is active+degraded+remapped+backfill_toofull, acting [0,2
  29. pg 3.22 is active+degraded+remapped+backfill_toofull, acting [0,2
  30. pg 3.1e is active+degraded+remapped+backfill_toofull, acting [0,2
  31. pg 3.19 is active+degraded+remapped+backfill_toofull, acting [0,2
  32. pg 3.1a is active+degraded+remapped+backfill_toofull, acting [2,0
  33. pg 3.1b is active+degraded+remapped+backfill_toofull, acting [0,2
  34. pg 3.15 is active+degraded+remapped+backfill_toofull, acting [2,0
  35. pg 3.11 is active+degraded+remapped+backfill_toofull, acting [2,0
  36. pg 3.c is active+degraded+remapped+backfill_toofull, acting [2,0
  37. pg 3.e is active+degraded+remapped+backfill_toofull, acting [2,0
  38. pg 3.8 is active+degraded+remapped+backfill_toofull, acting [2,0
  39. pg 3.a is active+degraded+remapped+backfill_toofull, acting [2,0
  40. pg 3.5 is active+degraded+remapped+backfill_toofull, acting [2,0
  41. pg 3.3 is active+degraded+remapped+backfill_toofull, acting [2,0
  42. recovery 7482/129081 objects degraded (5.796%) 
  43. osd.0 is full at 95
  44. osd.2 is full at 95
  45. osd.1 is near full at 93

#p#

解决方案一(已验证)

增加OSD节点,这也是官方文档中推荐的做法,增加新的节点后,Ceph开始重新平衡数据,OSD使用空间开始下降

  1. 2015-04-29 06:51:58.623262 osd.1 [WRN] OSD near full (91%) 
  2. 2015-04-29 06:52:01.500813 osd.2 [WRN] OSD near full (92%) 

解决方案二(理论上,没有进行验证)

如果在没有新的硬盘的情况下,只能采用另外一种方式。在当前状态下,Ceph不允许任何的读写操作,所以此时任何的Ceph命令都不好使,解决的方案就是尝试降低Ceph对于full的比例定义,我们从上面的日志中可以看到Ceph的full的比例为95%,我们需要做的就是提高full的比例,之后尽快尝试删除数据,将比例下降。

  • 尝试直接用命令设置,但是失败了,Ceph集群并没有重新同步数据,怀疑可能仍然需要重启服务本身
  1. ceph mon tell \* injectargs '--mon-osd-full-ratio 0.98'

修改配置文件,之后重启monitor服务,但是担心出问题,所以没有敢尝试该方法,后续经过在邮件列表确认,该方法应该不会对数据产生影响,但是前提是在恢复期间,所有的虚拟机不要向Ceph再写入任何数据。

默认情况下full的比例是95%,而near full的比例是85%,所以需要根据实际情况对该配置进行调整。

  1. [global] 
  2.     mon osd full ratio = .98 
  3.     mon osd nearfull ratio = .80 

分析总结

原因

根据Ceph官方文档中的描述,当一个OSD full比例达到95%时,集群将不接受任何Ceph Client端的读写数据的请求。所以导致虚拟机在重启时,无法启动的情况。

解决方法

从官方的推荐来看,应该比较支持添加新的OSD的方式,当然临时的提高比例是一个解决方案,但是并不推荐,因为需要手动的删除数据去解决,而且一旦再有一个新的节点出现故障,仍然会出现比例变满的状况,所以解决之道***是扩容。

思考

在这次故障过程中,有两点是值得思考的:

  • 监控:由于当时服务器在配置过程中DNS配置错误,导致监控邮件无法正常发出,从而没有收到Ceph WARN的提示信息
  • 云平台本身: 由于Ceph的机制,在OpenStack平台中分配中,大多时候是超分的,从用户角度看,拷贝大量数据的行为并没有不妥之处,但是由于云平台并没有相应的预警机制,导致了该问题的发生

参考文档

http://ceph.com/docs/master/rados/configuration/mon-config-ref/#storage-capacity

 

博文出处:http://blog.csdn.net/xiaoquqi/article/details/45539847

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/252309.html<

(0)
管理的头像管理
上一篇2025-04-29 09:21
下一篇 2025-04-29 09:22

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注