找回密码
 注册
查看: 717|回复: 2

ceph 分布式存储mds 文件系统错误解决方法 提取总结

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-8-3 10:18:41 | 显示全部楼层 |阅读模式
# systemctl stop ceph-mds@pve04.service# cephfs-journal-tool --rank=cephfs:0 event recover_dentries summary# cephfs-journal-tool --rank=cephfs:0 journal reset# cephfs-table-tool all reset session# systemctl start ceph-mds@pve04.service# ceph mds repaired 0/ a! M5 ]5 a! ?, }# w7 ~: e

+ o  H9 F6 \9 B3 i- A: T: E; vpgs not deep-scrubbed in time# ceph -s    47 pgs not deep-scrubbed in time
应该是OSDs掉线后,CEPH自动进行数据恢复。再将相应的OSDs重新加入后,则需要将恢复的数据再擦除掉。于是提示相应的警告信息,正在进行删除相关的操作,且其pgs的数量会不断变少。等待一段时间后,则恢复正常,此时ceph文件系统性能很差。
4. MDS cache is too largeceph config set mds mds_cache_memory_limit 10GBceph config dump
当MDS使用的缓存过高,比设定的阈值高很多时,则有此警告信息。使用如上命令设置更高的MDS缓存阈值,即可消除次警告信息,但会消耗更多的内存。使用config dump命令可以查看各项参数阈值信息。
此外,可能增大了mds_cache_memory_limit参数后,过了一段时间后仍然提示该警告,检测发现MDS缓存使用又超过新设定值的1.5倍大小了。此时,可以考虑设置多个活动状态的MDS服务。
# 先开启3台服务器的MDS服务,确保这3台服务器的内存是够用的,最好这3台服务器的内存更大。ceph orch apply mds cephfs ceph106,ceph107,ceph109ceph fs set cephfs max_mds 3# 由于激活了3台服务器的MDS,缺少备用的MDS服务。再增加一个备用的MDS服务主机。ceph orch apply mds cephfs ceph106,ceph107,ceph109,ceph1105. Client node18 failing to respond to cache pressure
表示node18主机和MDS服务之前的响应较慢,若过一会儿就显示health_ok,则不用管它。若是长期显示该警告,则在对应的node18主机上卸载ceph文件系统后重新挂载即可。
客户端在使用相应数据时,MDS服务端则将其数据缓存到服务器的内存中。当MDS服务端需要减少缓存消耗时,则会给客户端发送相应的请求。此时,客户端响应过慢,则提示此警告信息。若一直如此,会导致MDS服务器缓存无法释放,内存消耗持续增加甚至导致宕机。
ceph集群提供元数据服务,则客户端可以提挂载ceph文件系统。客户端访问数据时,则在客户端和元数据服务器中都缓存相应的数据。元数据服务器会和客户端inode占用情况来消减缓存。当客户端响应太慢,则会报错“failing to respond to cache pressure” or MDS_HEALTH_CLIENT_RECALL。若确实是客户端负荷较大,是正常读写操作,可以考虑增大mds_recall_warning_decay_rate参数的值(默认为60s),从而消除警告。
可以查询ceph客户端的ID号及其使用inode数(num_caps的值)。
ceph tell mds.0 session ls
谨慎使用如下命令踢出目标客户端或全部客户端。
ceph tell mds.0 session evict id=11134635ceph tell mds.0 session evict
踢出客户端是将客户端加入了黑名单,可以使用如下命令查看黑名单信息或移出黑名单。虽然移出黑名单,可能还不能让客户端正常挂载ceph文件系统,因此需要谨慎处理。
ceph osd blacklist lsceph osd blacklist rm 192.168.20.1:0/1498586492ceph osd blacklist clear6. Reduced data availability: 4 pgs inactive, 4 pgs incomplete
当有pgs出现incomplete时,表明pgs对应的OSDs存活数量少于最小副本数。因此,其对应的数据无法读写,处于reduced状态,会导致MDS服务出问题,提示如下报错信息,示例:
3 MDSs report slow metadata IOs2 MDSs report slow requests2 MDSs behind on trimmingReduced data availability: 4 pgs inactive, 4 pgs incompletepg 5.6de is incomplete, acting [254,356,222,352,111,247,100,133,351,206] (reducing pool cephfs_data min_size from 8 may help; search ceph.com/docs for 'incomplete')pg 5.6e9 is incomplete, acting [276,244,357,358,221,321,311,229,314,351] (reducing pool cephfs_data min_size from 8 may help; search ceph.com/docs for 'incomplete')pg 5.73b is incomplete, acting [186,279,351,247,293,354,359,220,181,283] (reducing pool cephfs_data min_size from 8 may help; search ceph.com/docs for 'incomplete')pg 5.eda is incomplete, acting [164,157,120,227,353,351,295,269,95,354] (reducing pool cephfs_data min_size from 8 may help; search ceph.com/docs for 'incomplete')
此时,需要修复pgs。
# 查询pg信息(pg id 为 5.6de)ceph pg 5.6de query# 强行重建pgceph osd force-create-pg 5.6de --yes-i-really-mean-it
2 _7 r* E- q: u& i- P
/ k) g+ ?6 Y4 T6 U! ?& l) C% R( ?# d- O

  E" U  m. U; ~% ^3 M, V  O; s3 A# Y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-3 10:19:33 | 显示全部楼层
8. mds.cephfs.ceph109.avzzqn(mds.1): Behind on trimming (594/128) max_segments: 128, num_segments: 594: ]1 x& P; S* F5 n* Z
有MDS服务器报警:% e( x2 h; U3 f# _5 T, t: r: f
- ^- b) r. g7 r3 D& a0 H
[WRN] MDS_TRIM: 2 MDSs behind on trimming. h) S$ H0 S2 F; a$ I8 V1 _! a4 R
mds.cephfs.ceph109.avzzqn(mds.1): Behind on trimming (594/128) max_segments: 128, num_segments: 5949 x' Y5 ?8 G( O& ]  R. a
mds.cephfs.ceph106.hggsge(mds.0): Behind on trimming (259/128) max_segments: 128, num_segments: 259
8 ~# s6 U/ [5 w+ L; v3 T5 c- w# @MDS服务器将元数据以segments(object)方式存放,当MDS中的segments数量超出mds_log_max_segments的设置值(默认为128)时,MDS服务开始启动Trimming,即将segments数据进行回写。当MDS中的segments数超过设定值两倍时,开始报警Behind on trimming信息。当MDS服务器内存足够时,推荐增大mds_log_max_segments参数值。  |# g& X$ X6 O: \. q2 c/ ^
5 _# o: s6 F* _' c: t0 j7 ]
ceph config set mds mds_log_max_segments 10243 j2 w( f. P3 w" @
  I( L$ F+ C+ d" D7 A; |
8 [2 z) _, U! I; ^7 B& K
9. mds N slow requests are blocked > 30 secs9 B4 g. r8 x: M( s
! K2 U: }3 i5 K8 p. E- y5 p. Q
MDS服务报警:
9 [: i2 g+ Q% h/ P
) _0 ]( ^$ h- B  p( i0 [0 H[WRN] MDS_SLOW_REQUEST: 3 MDSs report slow requests
& o* g/ c! I$ W" Tmds.cephfs.ceph109.avzzqn(mds.1): 29 slow requests are blocked > 30 secs
0 n8 O6 u" t: n8 pmds.cephfs.ceph110.sfagxf(mds.2): 1 slow requests are blocked > 30 secs
* a7 c: E3 A- O' M" u! ]& ], M" Imds.cephfs.ceph106.hggsge(mds.0): 3 slow requests are blocked > 30 secs* ]( Z- o- O6 w! _5 B7 ~9 o* u
以上报警表示MDS响应慢,原因可能是:mds服务运行太慢、底层pg或OSD出问题导致写入日志未确认、或BUG。通过设置mds_op_complaint_time值为3000,问题依旧。8 q% E  ~% D1 A. k3 s2 }& e: g
6 R( R$ F* q7 P2 o/ X$ E
出现此警告时,OSD未报错。而mds服务运行应该正常,内存也足够用。通过阵列卡检测硬盘,发现有两台服务器分别有一块硬盘没有检测到。推测是相应的硬盘出问题,而OSD还未反应过来,带后续观察。7 ~8 M' a& i1 {' j6 F5 |  j5 Z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-3 10:20:27 | 显示全部楼层
当有mds服务crash的时候,候选的mds则补上。此时,已经连接上的计算服务器还是可以正常访问ceph存储。但是,新的计算服务器无法挂载ceph文件系统。
  \, C/ u7 h# `8 b& y5 K! F9 {0 c  N' @
解决方法是,ssh登陆到mds服务有crash的服务器,然后重启其mds服务。再登陆备用的mds服务器,重启其mds服务。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:58 , Processed in 0.021982 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表