在检查一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. python sqlite中通过字段名获取查询结果

    在连sqlite数据库时,用fetchall()查询结果,是用row[0],row[1]这样的方式来打印每列的结果 但是我想用row[“字段名”]方式查询怎么办? import sqlite3 con ...

  2. 字符串-Alphabet

    在一些应用当中,会对字符串的字母表进行限制,在这些应用中,往往会用到如下的示例所涉及到的几点知识: public static void main(String[] args){ String[] a ...

  3. Java主要知识结构

    Java基础(建议看java编程规范): Java语言基础:数据类型,命名规则,权限控制符,注释 操作符:算术操作符,逻辑操作符,关系操作符,移位操作符,按位操作符 流程控制 数组 字符串 Java高 ...

  4. No suitable driver found for jdbc:mysql://localhost:3306/dmc

    1. 使用java jdbc直接连接数据库操作, 出现题中错误, 参考网上说法, 将mysql连接jar放入jre拓展底下 不再报错

  5. Java--如何使用sun.misc.Unsafe完成compareAndSwapObject原子操作

    package com; import sun.misc.Unsafe; import java.lang.reflect.Field; /** * Created by yangyu on 16/1 ...

  6. opencart 添加新模型

    1,修改模板页,复制category_list.tpl,category_form.tpl,修改成新的名称. category_list.tpl是列出页面,category_form.tpl是添加和修 ...

  7. mysql批量插入数据的基类

    自己设计的一个mysql数据库批量添加数据的基类.用于批量向mysql数据库添加数据,子类实现起来很简单,自测性能也还不错. 1.基类实现-BatchAddBase using System.Coll ...

  8. web桌面程序之锁屏功能分析

    这是一个在操作系统里比较常见的功能,但在web里实现,有哪些需要注意的呢? 1.如何真正的实现锁屏? 2.如何避免通过技术手段绕过锁屏? 我个人总结出2点需要特别注意的地方,下面就分别进行分析. 第一 ...

  9. React Native – 使用 JavaScript 开发原生应用

    前不久,Facebook 在F8开发者大会上正式开源了 React Native 项目.不过目前只有 iOS 版,Android 版还需要再等一段时间,这是最新的用 JavaScript 语言开发原生 ...

  10. Google Web Designer – 创建引人入胜的 HTML5 网站

    Google Web Designer 可以帮助你创建引人入胜,互动的基于 HTML5 的设计和动画,可以在任何设备上运行.如果你喜欢自己动手,设计背后的所有的代码都是可以手工编辑的. 虽然可视化工具 ...