在检查一Linux服务器时,发现日志里面有大量“lvm[12446]: Another thread is handling an event. Waiting...”

Jul  4 00:01:42 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:09:36 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:13:42 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:13:43 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:13:43 localhost lvm[12446]: dm_task_run failed, errno = 9, Bad file descriptor

Jul  4 00:14:42 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:15:52 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:17:02 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:17:02 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:17:46 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:18:52 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:19:42 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:20:32 localhost lvm[12446]: Snapshot VolGroup05-LogVol00--PS--user--snapshot is now 80% full. 

Jul  4 00:20:32 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:23:12 localhost lvm[12446]: Snapshot VolGroup05-LogVol00--PS--user--snapshot is now 85% full. 

Jul  4 00:23:12 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:23:12 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:23:12 localhost lvm[12446]: dm_task_run failed, errno = 9, Bad file descriptor

Jul  4 00:26:09 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:26:52 localhost last message repeated 2 times

Jul  4 00:26:52 localhost lvm[12446]: Snapshot VolGroup05-LogVol00--PS--user--snapshot is now 90% full. 

Jul  4 00:26:52 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:28:52 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:28:52 localhost lvm[12446]: Snapshot VolGroup05-LogVol00--PS--user--snapshot is now 95% full. 

Jul  4 00:28:52 localhost lvm[12446]: Extension of snapshot VolGroup05/LogVol00-PS-user-snapshot finished successfully.

Jul  4 00:28:52 localhost lvm[12446]: dm_task_run failed, errno = 9, Bad file descriptor

Jul  4 00:31:07 localhost kernel: device-mapper: snapshots: Invalidating snapshot: Unable to allocate exception.

Jul  4 00:34:59 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:35:42 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:42:29 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:44:16 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:45:49 localhost lvm[12446]: Another thread is handling an event. Waiting...

Jul  4 00:46:59 localhost last message repeated 3 times

Jul  4 00:48:49 localhost last message repeated 2 times

在Redhat官网有看到相关资料介绍”"What does "lvm: Another thread is handling an event. Waiting..." log messages mean on Red Hat Enterprise Linux 6?" 如下所示:

问题

  • lvm event log messages
  • Continuous messages filling /var/log/messages
    lvm: Another thread is handling an event, Waiting...
    lvm: Another thread is handling an event, Waiting...

决议

  • These messages can safely be ignored at this stage.  They are verbose messages that do not indicate any error has occurred.
  • Red Hat are planning to remove these messages from the lvm2 package in a future release of Red Hat Enterprise Linux 6.

根源

  • dmeventd daemon montors for events that need to occur on device-mapper devices.

    • There are segments of code that can only be entered by one thread at a time.
    • If a second thread tries to enter the code section, it will be forced to wait until the first thread has exited. This message is printed when a process is forced to wait.
  • There is currently no evidence that there is any problem with locking access to critical code in dmeventd.

诊断步骤

If the following symptoms are present on your system, then this article may apply to your issue:

  • Your lvm2 package is 2.02.87-6.el6 or earlier.
  • You have more than 1 LVM snapshots on the system.
  • Periodically, the following messages appear in /var/log/messages:

        lvm: Another thread is handling an event. Waiting...
    lvm: Another thread is handling an event. Waiting...

根据官方文档资料,这个消息可以忽略,这中现象出现在你的系统中,当你系统满足下面条件:

当你的lvm2包版本是2.02.87-6.el6 或之前的版本。

当你的系统有超过一个LVM快照

对比、参考本机操作系统版本,发现lvm2的版本确实比2.02.87-6.el6 低。另外,这个系统也确实有多个LVM快照。唯一有点差别的是Linux版本Red Hat Enterprise Linux Server release 5.7 ,并不是Red Hat Enterprise Linux (RHEL) 6

[root@localhost ~]# rpm -qa | grep lvm

lvm2-2.02.84-6.0.1.el5

system-config-lvm-1.1.5-9.el5

[root@localhost ~]# cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 5.7 (Tikanga)

另外,查看进程12446,也确实是/sbin/dmeventd

[root@localhost ~]# ps -ef | grep  12446 

root     12446     1  0 Jul02 ?        00:07:51 /sbin/dmeventd

root     26043 23106  0 11:06 pts/6    00:00:00 grep 12446

这个错误信息一直不停的出现在系统日志当中,很奇怪的时候,我同样环境的其它服务器又没有出现这个问题。应该是某些问题引起的。在做VG扫描时,发现有这样/dev/VolGroup03/LogVol00-PS-user-snapshot: read failed after 0 of 4096 at 0: Input/output error一些错误信息,怀疑这个导致引起的,但是生产环境还不能乱动,需要在测试环境测试、验证后,方能在生产环境处理。目前没有权限和资源处理,需要系统管理员帮忙解决。

lvm[12446]: Another thread is handling an event. Waiting的更多相关文章

  1. 【MySQL】MySQL同步报错-> received end packet from server, apparent master shutdown: Slave I/O thread: Failed reading log event, reconnecting to retry报错解决和分析

    [root@db-ft-db-48 ~]# tail -f /mysqlLog/beside_index_err.log 140102 20:42:26 [Note] Slave: received ...

  2. ORA-00471: DBWR process terminated with error案例

    每年年底,系统管理员都要组织一次容灾方案的测试.演练.会在一个与生产环境网络隔离的DR环境中,启动各个"生产环境服务器",然后让各路人员参与其中测试.演练容灾方案是否可靠.这次演练 ...

  3. Event Handling Guide for iOS--(一)--About Events in iOS

    About Events in iOS Users manipulate their iOS devices in a number of ways, such as touching the scr ...

  4. 线程 Thread类 GIL锁 信号量 Event事件

    线程的开启方法 进程是操作系统调度的最小单位,一个进程最少有一个主线程,而一个进程中可以开启多个线程 from threading import Thread def task(): print('A ...

  5. How a C++ compiler implements exception handling

    Introduction One of the revolutionary features of C++ over traditional languages is its support for ...

  6. How does a single thread handle asynchronous code in JavaScript?

    原文:https://www.quora.com/How-does-a-single-thread-handle-asynchronous-code-in-JavaScript ----------- ...

  7. Mysql源码学习——Thread Manager

    一.前言 上篇的Connection Manager中,曾提及对于一个新到来的Connection,服务器会创建一个新的线程来处理这个连接. 其实没那么简单,为了提高系统效率,减少频繁创建线程和中止线 ...

  8. Main event loop

    https://developer.apple.com/library/archive/documentation/General/Conceptual/Devpedia-CocoaApp/MainE ...

  9. Why should I avoid blocking the Event Loop and the Worker Pool?

    Don't Block the Event Loop (or the Worker Pool) | Node.js https://nodejs.org/en/docs/guides/dont-blo ...

随机推荐

  1. C#再识委托

    从C#1到C#3逐步认识委托,由于C#4与C#5对委托改动并不大,故不作说明. 好久没看.NET了,一直在搞HybridAPP,都忘得差不多了,这也是自己从书中摘下笔迹,供日后翻阅. C# 1 1.什 ...

  2. Java基础复习笔记系列 三

    前几节都是基础中的基础,从第三讲的笔记开始,每次笔记针对Java的一个知识块儿.  Java异常处理 1.什么是异常? 异常是指运行期出的错误.比如说:除以一个0:数组越界:读取的文件不存在. 异常处 ...

  3. 【JAVA并发编程实战】2、对象的组合

    1. 设计线程安全的类 1.找出构成对象状态的所有变量 2.找出约束状态变量的不变性条件 3.建立对象状态的并发访问管理策略 package cn.xf.cp.ch04; /** * *功能:JAVA ...

  4. Guava学习笔记:Range

    在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构.从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(C ...

  5. textview滑动效果

    网上很多在xml中改的我经过试验没用,可能是版本不兼容的原因,但在java代码中改有用head_tv1.setEllipsize(TextUtils.TruncateAt.MARQUEE);head_ ...

  6. [转载][翻译] IoC 容器和 Dependency Injection 模式

    原文地址:Inversion of Control Containers and the Dependency Injection pattern 中文翻译版本是网上的PDF文档,发布在这里仅为方便查 ...

  7. C#实现类似"hello $world"的格式化字符串方法

    C#自带的string.Format可以格式化字符串,但是还是不太好用,由于格式的字符占位符都是数字,当数目较多时容易混淆.其实可以扩展string的方法,让C#的字符串具备其他的方法,下面介绍一个实 ...

  8. Quill – 可以灵活自定义的开源的富文本编辑器

    Quill 的建立是为了解决现有的所见即所得(WYSIWYG)的编辑器本身就是所见即所得(指不能再扩张)的问题.如果编辑器不正是你想要的方式,这是很难或不可能对其进行自定义以满足您的需求. Quill ...

  9. Angularjs 的 ngInfiniteScroll 的使用方法

    Angularjs 的 ngInfiniteScroll 的使用方法 一.介绍 ngInfiniteScroll 是一个 AngularJS 的扩展指令,实现了网页的无限滚动的功能,也就是相当于页面滚 ...

  10. 【zepto学习笔记03】事件机制

    前言 我们今天直接进入事件相关的学习,因为近期可能会改到里面的代码就zepto来说,我认为最重要的就是选择器与事件相关了,随着浏览器升级,选择器简单了,而事件相关仍然是核心,今天我们就来学习学习 ze ...