cephfs时我们产品依赖的主要分布式操作系统,但似乎很不给面子,压力测试的时候经常出问题。

背景

集群环境出现的问题: mds0: Many clients (191) failing to respond to cache pressure

背景:三个节点,100多个客户端mount,服务器可用内存仅剩100MB,ceph报错如下:

[root@node1 ceph]# ceph -s
cluster 1338affa-2d3d-416e-9251-4aa6e9c20eef
health HEALTH_WARN
mds0: Many clients (191) failing to respond to cache pressure
monmap e1: 3 mons at {node1=192.168.0.1:6789/0,node2=192.168.0.2:6789/0,node3=192.168.0.3:6789/0}
election epoch 22, quorum 0,1,2 node1,node2,node3
fsmap e924: 1/1/1 up {0=node1=up:active}, 2 up:standby
osdmap e71: 3 osds: 3 up, 3 in
flags sortbitwise,require_jewel_osds
pgmap v48336: 576 pgs, 3 pools, 82382 MB data, 176 kobjects
162 GB used, 5963 GB / 6126 GB avail
576 active+clean
client io 0 B/s rd, 977 kB/s wr, 19 op/s rd, 116 op/s wr

至今问题也没有解决。(我的意思是说没有弄清楚Capacity的机制,如果抱着解决不了问题,就解决提出问题的人的思路,可以参考第三部分。)

mds日志如下:

2019-11-12 16:00:17.679876 7fa6a5040700  0 log_channel(cluster) log [WRN] : 1 slow requests, 1 included below; oldest blocked for > 34.236623 secs
2019-11-12 16:00:17.679914 7fa6a5040700 0 log_channel(cluster) log [WRN] : slow request 34.236623 seconds old, received at 2019-11-12 15:59:43.326917: client_request(client.154893:13683 open #1000005cb77 2019-11-12 15:59:43.293037) currently failed to xlock, waiting
2019-11-12 16:03:27.614474 7fa6a5040700 0 log_channel(cluster) log [WRN] : 1 slow requests, 1 included below; oldest blocked for > 34.350555 secs
2019-11-12 16:03:27.614523 7fa6a5040700 0 log_channel(cluster) log [WRN] : slow request 34.350555 seconds old, received at 2019-11-12 16:02:53.263857: client_request(client.155079:5446 open #1000003e360 2019-11-12 16:02:54.011037) currently failed to xlock, waiting
2019-11-12 16:03:57.615297 7fa6a5040700 0 log_channel(cluster) log [WRN] : 1 slow requests, 1 included below; oldest blocked for > 64.351379 secs
2019-11-12 16:03:57.615322 7fa6a5040700 0 log_channel(cluster) log [WRN] : slow request 64.351379 seconds old, received at 2019-11-12 16:02:53.263857: client_request(client.155079:5446 open #1000003e360 2019-11-12 16:02:54.011037) currently failed to xlock, waiting
2019-11-12 16:03:58.181330 7fa6a5040700 0 log_channel(cluster) log [WRN] : client.155079 isn't responding to mclientcaps(revoke), ino 1000003e360 pending pAsxLsXsxFcb issued pAsxLsXsxFsxcrwb, sent 64.458260 seconds ago

后续的努力

自己找环境重现,用的一个测试服务器,安装了一个Ubuntu系统,然后进行测试。惊喜的发现,同一个客户端不管我mount多少个目录,与后端的连接始终都只有那两个。

但重现过程中还是出现类似的问题了。

mds0: Client ubuntu:guest failing to respond to capability release

静置一段时间之后出现了如下错误:

[root@ceph741 ~]# ceph -s
cluster 1338affa-2d3d-416e-9251-4aa6e9c20eef
health HEALTH_WARN
mds0: Client ubuntu:guest failing to respond to capability release
mds0: Client ubuntu:guest failing to advance its oldest client/flush tid
monmap e2: 3 mons at {ceph741=192.168.15.112:6789/0,ceph742=192.168.15.113:6789/0,ceph743=192.168.15.114:6789/0}
election epoch 38, quorum 0,1,2 ceph741,ceph742,ceph743
fsmap e8989: 1/1/1 up {0=ceph743=up:active}, 2 up:standby
osdmap e67: 3 osds: 3 up, 3 in
flags sortbitwise,require_jewel_osds
pgmap v847657: 576 pgs, 3 pools, 20803 MB data, 100907 objects
44454 MB used, 241 GB / 284 GB avail
576 active+clean
client io 59739 B/s rd, 3926 kB/s wr, 58 op/s rd, 770 op/s wr

临时的解决办法

临时的解决办法就是把出问题的客户端干掉。

步骤主要命令:

ceph tell  mds.0 session ls
ceph tell mds.0 session evict id=249632

其中id是问题client的id。那么问题客户端比其他客户端哪里不同呢,实话说,我也不知道,大家可以看下:

参考:

https://www.jianshu.com/p/d1e0e32346ac

http://www.talkwithtrend.com/Article/242905

https://www.jianshu.com/p/fa49e40f6133

mds0: Many clients (191) failing to respond to cache pressure的更多相关文章

  1. MDS 多活配置

    CephFS 介绍及使用经验分享 阅读 1179 收藏 2 2019-01-14 原文链接:www.jianshu.com WebRTC SFU中发送数据包的丢失反馈juejin.im 目录 Ceph ...

  2. cephfs测试中出现的问题

    最近重新对cephfs进行性能测试. 测试步骤: (1) 选取一个特地版本的操作系统内核,挂载20000个客户端; (2) 用iozone中的fileop工具,在每隔挂载点上都跑一个fileop进程; ...

  3. cephfs删除报nospace的问题

    ceph Vol 45 Issue 2 CephFS: No space left on device After upgrading to 10.2.3 we frequently see mess ...

  4. Java性能提示(全)

    http://www.onjava.com/pub/a/onjava/2001/05/30/optimization.htmlComparing the performance of LinkedLi ...

  5. Chapter 6 — Improving ASP.NET Performance

    https://msdn.microsoft.com/en-us/library/ff647787.aspx Retired Content This content is outdated and ...

  6. smb.conf - Samba组件的配置文件

    总览 SYNOPSIS smb.conf是Samba组件的配置文件,包含Samba程序运行时的配置信息.smb.conf被设计成可由swat (8)程序来配置和管理.本文件包含了关于smb.conf的 ...

  7. SQL Server 内存相关博文

    Don’t confuse error 823 and error 832 本文大意:      错误832:           A page that should have been const ...

  8. Goal driven performance optimization

    When your goal is to optimize application performance it is very important to understand what goal d ...

  9. 如何使用event 10049分析定位library cache lock and library cache pin

    Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library c ...

随机推荐

  1. html基础内容

    HTML基础 1. HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 2. HTML 段落 HTML 段落是通过 <p& ...

  2. USACO Cow Contest

    洛谷 P2419 [USACO08JAN]牛大赛Cow Contest https://www.luogu.org/problemnew/show/P2419 JDOJ 2554: USACO 200 ...

  3. flask 搭建简单restful接口,moco基础

    from flask import Flask, jsonify, abort, make_response app = Flask(__name__)app.config['JSON_AS_ASCI ...

  4. 公共组件及脚手架webpack模板

    一.公共组件的创建和使用 前面已经学习vue组件时,了解了公共组件,但在脚手架项目中只使用过局部组件.这里是讲解全局组件如何在脚手架项目中去使用. 1.创建全局组件 在src/components/C ...

  5. [LeetCode] 644. Maximum Average Subarray II 子数组的最大平均值之二

    Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...

  6. [LeetCode] 364. Nested List Weight Sum II 嵌套链表权重和之二

    Given a nested list of integers, return the sum of all integers in the list weighted by their depth. ...

  7. [LeetCode] 137. Single Number II 单独的数字之二

    Given a non-empty array of integers, every element appears three times except for one, which appears ...

  8. [LeetCode] 91. Decode Ways 解码方法

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  9. [LeetCode] 25. Reverse Nodes in k-Group 每k个一组翻转链表

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k  ...

  10. Spring Cloud Zuul记录接口响应数据

    系统在生产环境出现问题时,排查问题最好的方式就是查看日志了,日志的记录尽量详细,这样你才能快速定位问题. 如果需要在Zuul中进行详细的日志记录,这两种日志必不可少. API请求信息 API响应信息 ...