当前位置:  数据库>oracle

Linux 6中Cachefilesd服务过量日志问题解决

    来源: 互联网  发布时间:2017-06-04

    本文导语: 我们在实际运维环境中,对操作系统OS的维护是必须进行的。应用系统是一个整体,绝对不仅仅包括应用服务器上运行的应用程序本身和数据库服务器,还包括操作系统、网络、存储甚至硬件方面。对应用系统整体的监控保障,...

我们在实际运维环境中,对操作系统OS的维护是必须进行的。应用系统是一个整体,绝对不仅仅包括应用服务器上运行的应用程序本身和数据库服务器,还包括操作系统、网络、存储甚至硬件方面。对应用系统整体的监控保障,才能带来最稳定的运行性能。
 
绝大多数情况下,我们环境中的操作系统都是可以持续运行的,不会引起大的问题。一旦出现当机、服务器Hange住的情况,就可能导致灾难性的结果。所以,亡羊补牢不如防微杜渐,经常性的查看系统运行情况,查看磁盘空间、CPU使用率和各种日志信息,都可以尽早帮助我们解决操作系统层面问题。
 
本篇介绍一个简单的Linux进程Bug解决问题。

 

1、问题介绍

 

一个接受的新系统,应用服务器和数据库服务器均为Linux 6版本。系统本身架构比较简单,而且运行一年来也没有什么严重故障发生。

 

[root@TESTDB ~]# uname -r

2.6.32-131.0.15.el6.x86_64

[root@TESTDB ~]# cat /etc/RedHat-release

Red Hat Enterprise Linux Server release 6.1 (Santiago)

[root@TESTDB ~]# uptime

 11:28:14 up 66 days, 21:31,  1 user,  load average: 0.50, 0.44, 0.37 –有例行关机维护

 

Linux环境中,最常见日志为/var/log目录,检查message是我们直接的日志检查策略。

 

[root@TESTDB ~]# tail -n 10 /var/log/messages

Mar 26 08:31:42 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:32:12 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:32:42 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:33:12 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:33:42 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:34:12 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:34:42 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:35:12 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:35:42 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:36:12 TESTDB cachefilesd[1591]: Scan complete

 

日志量很大,从每周自动归档情况看,日志总量大已经持续比较长时间了。

 

[root@TESTDB ~]# cd /var/log/

[root@TESTDB log]# ls -l | grep message

-rw-------. 1 root        root        549637 Mar 26 08:55 messages

-rw-------. 1 root        root        1193545 Mar  2 03:31 messages-20140302

-rw-------. 1 root        root        1191893 Mar  9 03:16 messages-20140309

-rw-------. 1 root        root        1194902 Mar 16 03:27 messages-20140316

-rw-------. 1 root        root        1195079 Mar 23 03:39 messages-20140323

 

从日志上看,服务进程cachefilesd在每隔30s,自动写入一条记录。除了日志过多冗余条目外,没有其他问题爆出。

message信息本身是中性的,通知调错类信息。过于频繁的正常信息在其中,是容易将错误内容淹没其中的。所以期望还是可以加以解决。

 

2、故障分析

 

我们遇到的故障错误是分种类的。一个极端是紧急严重,比如操作系统宕机、hang住无响应,直接影响业务运行,甚至数据丢失。另一个极端就是一些短期不会引起大问题的“小故障”。紧急严重错误考验的是运维人员的知识、经验和心理素质,而小故障考验的职业精神和专业素质。
 
对于这个问题,笔者也没有什么很好地思路,只有求助官方资料库。在Red Hat官网的客户订阅中,笔者找到了文章《Why server is flodded with `cachefilesd Scan complete` messages?》其中描述了相同的问题。
 
Cachefilesd进程是负责进行网络文件系统的文件和目录缓存管理的,比如AFS和NFS这类网络文件系统,需要在本地系统中存在一个Cache对象。这个问题是由于cachefilesd服务自身的bug造成的,由于内部设置了错误的日志级别(log level)。所以每次cachefilesd在工作进行Scan的时候,都会写入到/var/log/messages日志文件里面。
 
这个问题已经被Red Hat列入为Bug,编号为680127。cachefilesd是作为操作系统的一个后台服务进行工作的。当'/var/cache/fscache/cache'为空的的时候,就会自动将Scan Completed信息写入到日志中。
 
根据频率,每分钟会进行两条日志的写入。这个和我们实际系统的情况相符合。

版本是Linux 6,cachefilesd包版本为0.10.1-2。查看当前系统版本情况。

 

[root@TESTDB ~]# rpm -qa | grep cachefilesd

cachefilesd-0.10.1-2.el6.x86_64

 

修复方法是将cachefilesd版本升级到最新版本,就可以避免问题出现。

 

3、问题解决

 

定位到了问题,解决策略就是升级cachefilesd包。从官方网站上搜索专门的rpm包下载,目录如下:

 

 

 

下载最新的版本0.10.2.1。使用rpm进行安装。

 

[root@TESTDB ~]# cd /

[root@TESTDB /]# mkdir updates

[root@TESTDB /]# cd updates

[root@TESTDB updates]# ls -l

total 36

-rw-r--r--. 1 root root 35332 Mar 26 08:52 cachefilesd-0.10.2-1.el6.x86_64.rpm

 

参数-Uvh会去自己判断当前版本情况,如果是没有对应程序就直接安装,否则就进入升级模式。

 

[root@TESTDB updates]# rpm -Uvh cachefilesd-0.10.2-1.el6.x86_64.rpm

warning: cachefilesd-0.10.2-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
 
Preparing...                ########################################### [100%]

  1:cachefilesd            ########################################### [100%]

 

最后检查效果,日志中包括了cachefilesd服务终止重启的过程。重启之后,就再没有新日志项目产生。

 

Mar 26 08:55:12 TESTDB cachefilesd[1591]: Scan complete

Mar 26 08:55:21 TESTDB cachefilesd[1591]: Daemon Terminated

Mar 26 08:55:21 TESTDB kernel: CacheFiles: File cache on sda3 unregistering

Mar 26 08:55:21 TESTDB kernel: FS-Cache: Withdrawing cache "mycache"

Mar 26 08:55:21 TESTDB cachefilesd[10518]: About to bind cache

Mar 26 08:55:21 TESTDB cachefilesd[10518]: Bound cache

Mar 26 08:55:21 TESTDB kernel: FS-Cache: Cache "mycache" added (type cachefiles)
 
Mar 26 08:55:21 TESTDB kernel: CacheFiles: File cache on sda3 registered

Mar 26 08:55:21 TESTDB cachefilesd[10519]: Daemon Started

 

作为服务的cachefilesd,也工作正常。

 

[root@TESTDB ~]# service cachefilesd status

cachefilesd (pid  10519) is running...

[root@TESTDB ~]# chkconfig --list cachefilesd

cachefilesd    0:off  1:off  2:on    3:on    4:on    5:on    6:off

 

故障解决。

 

4、结论

 

在实际运维环境中,各种故障都是可能发生的。而且诊断问题、解决问题需要很多经验的积累和总结。及时发现问题、防微杜渐是保障系统持续健康运行的最好保障。“救火队员”不如“老黄牛”,也就是这个道理。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • secureCRT下Linux终端汉字乱码解决方法
  • 先装LINUX 10后装XP,启动进不了Linux,请问怎么解决?
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
  • linux中用ifconfig设置完新ip后,重启linux,ip又恢复到原来的值,怎么解决呀?
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • linux下使用samba mount windows 网络共享盘后,拔掉网线linux死机该如何解决?
  • Linux 下c++开发error while loading shared libraries问题解决
  • Linux进不去了,请问如何解决?(急~~~)
  • linux/centos安装nginx常见错误及解决办法
  • *****(高分!!!)求Java和Linux高手解决servlet远程管理linux用户密码的问题*****
  • Linux数字声音解决方案 OSS4
  • LINUX下的JAVA串口通讯问题,如能解决,不胜感激
  • linux可以ping通win98,win98却ping不通linux,如何解决?
  • Linux视频解决方案 Heroine Virtual
  • 如何解决安装完linux开机奇慢的问题
  • linux中非正常关机,出现的错误如何解决?
  • Linux下Oracle 10G DBCA等汉字乱码解决方法
  • 如何解决Linux乱码?
  • 虚拟机下linux内鼠标和键盘失灵,如何解决?
  • linux登录错误!帮忙解决啊
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • Linux c字符串中不可打印字符转换成16进制
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,