gluster volume status detail 命令导致打开文件过多,进程crash

gluster volume status detail 命令导致打开文件过多,进程crash在使用gluster3.3.0的时候,发现各brickserver的glusterd进程经常crash,日志中先出现0-management:couldnotgetinodesizeforext4:e2fsprogspackagemissing0-management:failedtogetinodesize然后进程就会被linux系统kill…

大家好,欢迎来到IT知识分享网。gluster volume status detail 命令导致打开文件过多,进程crash在使用gluster 3.3.0的时候,发现各brick server的glusterd进程经常crash,日志中先出现

0-management: could not get inode size for ext4 : e2fsprogs package missing

0-management: failed to get inode size

然后进程就会被linux系统kill掉,log里报告说收到了11号signal

pending frames:

signal received: 11

在gluster源码中搜索”could not get inode size”

在xlators\mgmt\glusterd\src\glusterd-utils.c中可以看到该信息出现在

glusterd_add_inode_size_to_dict方法中,它报错说没有e2fsprogs包,但实际上该包已经被安装.

后来调查发现这个方法总是在调用 volume status XX detail时被调用,因此怀疑频繁调用 volume status detail方法会导致glusterd进程crash.

测试后果然发现volume status detail方法会打开过多的文件,造成fd leak.

多次运行

lsof -p 25595 | wc -l

gluster volume status MountCheck detail > /dev/null

lsof -p 25595 | wc -l

发现数量在持续增长.

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22328.html

(0)

相关推荐

发表回复

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

关注微信