原文地址:http://klwang.info/a-case-of-dlm-controld-and-gfs/

在使用 cman + gfs2 方案时,无法挂载文件系统,日志如下:

dlm_controld.log 日志信息

    10:22:49 dlm_controld fenced_domain_info error -1

message 日志信息

    10:11:08 h4-61 kernel: GFS2: fsid=: Trying to join cluster "lock_dlm", "cluster:fs"10:11:08 h4-61 kernel: dlm: Using TCP for communications

fenced.log 日志信息

    10:25:26 fenced fencing node node3    10:25:26 fenced fence node3 dev 0.0 agent none result: error no method

用strace 查看 dlm_controld 的系统调用,发现一直循环出现下面的信息

    socket(PF_FILE, SOCK_STREAM, 0)         = 22connect(22, {sa_family=AF_FILE, path=@"fenced_query_sock"}, 20) = 0write(22, "\355\34\341\17\1\0\1\0\6\0\0\0\0\0\0\0 \0\) = 32read(22, "\355\34\341\17\1\0\1\0\6\0\0\0\0\0\0\0008) = 56close(22)                               = 0poll([{fd=5, events=POLLIN}, {fd=8, events=POLLIN}, ) = 0 (Timeout)

查阅了相关资料后,最终才发现是 分布式锁 dlm 的问题,加入下面参数到 cluster.conf中,问题解决

    <dlm enable_fencing="0"/>

原来dlm_controld一直在等待fencing,而目前集群中没有配置fencing设备,所以导致了文件系统无法挂载

修改后,最终结果如下:

message 日志信息

    10:23:32 kernel: GFS2: fsid=: Trying to join cluster "lock_dlm", "cluster:fs"10:23:32 kernel: dlm: Using TCP for communications    10:23:32 kernel: GFS2: fsid=cluster:fs.0: Joined cluster. Now mounting FS...10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=0, already locked for use10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=0: Looking at journal...10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=0: Done10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=1: Trying to acquire journal lock...10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=1: Looking at journal...10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=1: Done10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=2: Trying to acquire journal lock...10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=2: Looking at journal...10:23:32 kernel: GFS2: fsid=cluster:fs.0: jid=2: Done

dlm_controld.log 日志信息

    10:11:08 dlm_controld uevent: add@/kernel/dlm/fs    10:11:08 dlm_controld kernel: add@ fs    10:11:08 dlm_controld uevent: online@/kernel/dlm/fs    10:11:08 dlm_controld kernel: online@ fs    10:11:08 dlm_controld dlm:ls:fs conf 1 1 0 memb 1 join 1 left    10:11:08 dlm_controld fs add_change cg 1 joined nodeid 110:11:08 dlm_controld fs add_change cg 1 we joined    10:11:08 dlm_controld fs add_change cg 1 counts member 1 joined 1 remove 0 failed 0

ok, 问题顺利解决

附: 其他有用的 dlm 相关参数

protocol
通信协议可以为:tcp, sctp, detect which
协议的选择和 rrp_mode 相关,如果为none,则使用tcp
默认值 detect

    <dlm protocol="detect"/>

enable_fencing
encing恢复依赖性开关,默认开启

    <dlm enable_fencing="1"/>

enable_quorum
quorum恢复依赖性开关,默认关闭

    <dlm enable_quorum="0"/>

enable_deadlk
死锁检测开关,默认关闭

    <dlm enable_deadlk="0"/>

参考资料

dlm_controld man page

转载于:https://blog.51cto.com/flymanhi/1435851

一则 gfs2 集群文件系统无法挂载的解决案例相关推荐

  1. 创建ACFS集群文件系统(命令方式)

    创建卷并格式化成acfs集群文件系统并挂载 SQL> alter diskgroup data add volume acfsvol size 1G; Diskgroup altered. [r ...

  2. 高可用结合gfs2,,实现集群文件系统以及集群逻辑卷。

    为什么要集群文件系统,在什么场景中适用我就用一句话来概括,当多个节点需要读写同一个文件系统时,需要使用集群文件系统,它可以将文件系统持有的锁信息传递到各个节点. 实验一.将iSCSI共享出来的磁盘,做 ...

  3. oracle文件系统挂载点,Oracle 集群文件系统 (OCFS)

    OCFS第1版是原始设备的一个优秀替代品.它不仅更易于管理和维护,而且克服了255个原始设备的限制.但是,它并不是一个通用集群文件系统.它只能用于存储以下类型的文件: Oracle数据文件 联机重做日 ...

  4. 【冬瓜哥手绘雄文】集群文件系统架构演变终极深度梳理图解

    上篇文章<IO时延你被骗了多久>,竟然没有人给瓜哥发红包!很不像话!冬瓜哥起早贪黑打把势卖艺,最终却连五毛党都赶不上,所以瓜哥决定这篇文章之后休息一段时间,玩玩游戏,看看电影,睡睡大觉了. ...

  5. K8S集群中Pod挂载Storageclass存储卷异常排查思路

    K8S集群中Pod挂载Storageclass存储卷异常排查思路 故障描述: Jenkins是在K8S集群中部署的,Jenkins使用的各种资源以及全部创建了,但是Jenkins的Pod依旧无法启动, ...

  6. 开启oracle的acfs,配置OracleACFS集群文件系统

    在这之前,集群文件系统使用过redhat的gfs,还有开源的ocfs2,gfs的感觉是配置太繁琐且复杂,因为是基于RHCS套件,所以很多功能对 首先来看下,,神马是ACFS,请看Oracle官方给出的 ...

  7. Lustre是开放源代码的集群文件系统

    Lustre是开放源代码的集群文件系统 Lustre http://wiki.huihoo.com/wiki/Lustre 您可以在Wikipedia上了解到此条目的英文信息 Lustre Thank ...

  8. centos 6.4 ceph 分布式集群文件系统部署 手记

    Centos 6.4 ceph 分布式集群文件系统部署 0,  部署环境       IP ADDR       HOSTNAME    rule     192.168.1.120  master- ...

  9. Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务

    转自:http://guodayong.blog.51cto.com/263451/1201101 一:集群相关概念及知识点介绍: LVS(Linux Virtual System) 本项目在1998 ...

最新文章

  1. 【Java】数据结构之 顺序表(MyArrayList)
  2. JAVA线程池(ThreadPoolExecutor)源码分析
  3. sql 赋值 null_巩固SQL - 窗口函数amp;变量amp;数据透视图
  4. SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)
  5. CentOS Repos
  6. 获取URl后的查询参数
  7. 58集团处罚数据中心的设计与实践
  8. 如何彻底删除SQL Server2005
  9. 半导体芯片行业的运作模式(IDM/Fabless/Foundry模式)
  10. 安装Pillow指定版本出错
  11. 浅尝 | 从 0 到 1 Vue 组件库封装
  12. pygame 躲避僵尸
  13. Android 获取指南针数据
  14. 企业网络安全保障团队建设构想
  15. 香帅的北大金融学课笔记15 -- 大师投资智慧
  16. 稀疏矩阵的十字链表存储表示和实现(第五章 P104 算法5.4)
  17. 阿里云和腾讯云这两家对比哪个比较好一些?
  18. [PTA]实验3-4 统计字符
  19. 彻底告别等待越狱!不越狱安装下载的IPA,iPhone 4S iOS5已测!!希望大家支持!
  20. 计算机玩游戏 突然黑屏 又亮了,显示器黑一下又亮了怎么回事?解决显示器黑屏一会又亮一会又黑...

热门文章

  1. 第100篇博文纪念 | C# 根据数据库表结构生成DOC数据库文档
  2. 如何利用图像识别、语音识别、文本挖掘做好鉴黄?
  3. 读zepto源码之工具函数
  4. 深入探讨运维驱动的可监控性设计
  5. Vmware 虚拟机远程连接失败解决办法
  6. 为何大数据分析那么重要
  7. 大数据分析技术未来发展会如何
  8. 服务器网站打开慢跟什么有关系吗,浏览器访问网站的速度很慢,跟服务器的好差有关系吗?跟域名有关系吗?...
  9. html如何添加时钟效果,基于HTML5+CSS3实现简单的时钟效果
  10. ret php,php生成器的send方法详解,php yield send