在使用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
发现数量在持续增长.
分享到:
相关推荐
为了确保系统的稳定运行,GlusterFS提供了一系列监控工具,如gluster volume status、gluster peer status等命令,用于检查节点状态、卷状态和网络健康状况。同时,GlusterFS还支持日志收集和分析,帮助定位和解决...
通过命令`gluster volume status`可以查看当前所有卷的状态。 #### 六、远程挂载文件系统 1. **测试连接**:在客户端上测试与Gluster集群的连接。 2. **创建挂载点**:在客户端上创建一个用于挂载Gluster文件系统...
可以使用`gluster volume info`、`gluster volume heal`等命令来获取状态和处理问题。 离线安装GlusterFS需要仔细规划和执行,确保所有必要的RPM包都已包含,并且遵循正确的安装顺序。提供的"centos7 gluster安装...
2. **创建分布式卷**:使用`gluster volume create volname replica 3 transport tcp server01:/brick1 server02:/brick1 server03:/brick1 start`命令创建一个具有三个副本的分布式卷。 3. **挂载分布式卷**:在...
这些工具包括`gluster volume`命令、`gluster peer`命令等,方便进行集群管理和维护。 7. **多协议支持**:除了标准的POSIX接口,GlusterFS还支持NFS、SMB、iSCSI等多种协议,使它能被各种操作系统和应用无缝集成。...
可以使用 `gluster volume info`、`gluster volume heal` 等命令来检查卷的信息、自我修复状态等。同时,确保所有的节点和 brick 正常运行,定期进行健康检查,以预防可能的故障。 总的来说,GlusterFS 的分布式...
- 使用 `gluster peer status` 和 `gluster volume info` 命令检查集群状态和卷信息。 #### 五、数据平衡 为了保证数据在各节点之间均衡分布,定期进行数据平衡是非常重要的。 **检查数据分布:** - 使用 `...
8. **监控和维护**:使用`gluster volume info`、`gluster volume status`等命令监控GlusterFS的运行状态,及时处理任何可能出现的问题。 9. **优化性能**:根据实际工作负载,你可以调整GlusterFS的性能设置,如...
在源码学习过程中,理解GlusterFS的Gluster Volume(卷)概念非常重要。卷是由一组物理存储设备组成的逻辑存储单元,可以有不同的布局模式,如条带化、镜像或条带化镜像等。通过配置文件(如` bricks`和`options`)...
GlusterFS 守护进程 (Centos7) 这是 GluserFS Daeomon onlye Docker Image。 基于 CentOS 7用法docker pull million12/gluster 或者,如果您更喜欢自己构建...ti docker_id gluster volume start my_volume_name 挂载
- 在集群构建完成后,可以在任一服务器上使用`gluster volume create`命令创建新的卷。例如,创建一个名为`vol1`的复制卷: - `# gluster volume create vol1 replica 3 transport tcp d182:/data d183:/data d184:...
2. 创建 stripe 卷:使用 `gluster volume create` 命令创建 stripe 卷,分别使用 2、3、4 个节点。 3. 启动 stripe 卷:使用 `gluster volume start` 命令启动 stripe 卷。 4. 挂载到 client 端:使用 `mount....
### Gluster文件系统结构:分布式存储的创新与实践 #### 引言 GlusterFS作为一款可扩展的开源集群文件系统,提供了一个全球统一的命名空间、分布式前端,并且能够轻松扩展至数百PB的存储容量。它通过利用普通硬件...
8. **监控和维护**:使用`gluster volume info`和`gluster volume status`等命令监控卷的状态,及时发现并解决问题。 GlusterFS还提供了强大的API和CLI工具,使得用户可以方便地进行数据迁移、备份和恢复操作。同时...
`top`命令则更专注于实时查看GlusterFS的运行状态,包括每个文件句柄的连接和打开情况。它可以帮助我们识别可能的瓶颈,比如哪些文件或进程占用了大量的资源。虽然例子中没有展示`top`命令的使用,但在实际环境中,...
gluster peer status ``` ##### 创建卷 - 创建一个副本数量为 2 的卷: ```bash /usr/local/sbin/gluster volume create glusterfs replica 2 svr1:/home/brick1 svr2:/home/brick1 ``` - 强制创建卷(如果...
2. 创建 stripe 卷:使用 gluster volume create 命令创建 stripe 卷 3. 启动 stripe 卷:使用 gluster volume start 命令启动 stripe 卷 4. 挂载到 client 端:使用 mount.glusterfs 命令挂载到 client 端 5. 使用 ...
### Gluster File System 3.2.5 Administration Guide #### 一、简介 《Gluster File System 3.2.5 Administration Guide》是一本由Red Hat Engineering Content Services编写的指导手册,旨在帮助用户理解、配置...