大家好,欢迎来到IT知识分享网。在使用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