一个NFS缓存管理包的bug导致文件系统满的问题和解决方法

这几天安装CentOS 6的虚拟机总是提示文件系统满,一开始以为是最近oracle经常操作大数据量提交导致undo tbs无限扩大,后来发现原来是NFS缓存管理包cachefilesd的问题。分享一下:

由于是测试虚拟机,文件系统懒得专门规划,只划分了一个根目录分区。(各位admin切记不要犯这种实际生产环境的大忌):

[[email protected]* /]df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_*-lv_root
                       54G   54G  0G  100% /
tmpfs                 3.9G  604M  3.3G  16% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot
/dev/mapper/vg_*-lv_home
                      5.5G  478M  4.8G   9% /home

查找大于1g的文件,看有没有什么文件可以先删除:

[[email protected]* /]find -size +1G
./var/log/messages
./var/log/messages-20170109
------output omitted------

/var/log/messages和带日期后缀的日志有问题,怎么会这么大?取文件后100行看看:

[[email protected]* log]tail -100 messages
Jan 16 16:29:42 * cachefilesd[1226]: Scan complete
Jan 16 16:29:42 * cachefilesd[1226]: Scan complete
Jan 16 16:29:42 * cachefilesd[1226]: Scan complete
------output omitted-------

cachefilesd scan complete是什么鬼?找大侠问度娘:

http://blog.itpub.net/17203031/viewspace-1130002/

“Cachefilesd进程是负责进行网络文件系统的文件和目录缓存管理的,比如AFS和NFS这类网络文件系统,需要在本地系统中存在一个Cache对象。这个问题是由于cachefilesd服务自身的bug造成的,由于内部设置了错误的日志级别(log level)。所以每次cachefilesd在工作进行Scan的时候,都会写入到/var/log/messages日志文件里面。”

详细信息请点击上述链接查阅。

明白了,反正是虚拟机,上面没跑NFS,内网升级太麻烦,索性关了吧:

[[email protected]* log]service cachefilesd stop
[[email protected]* log]chkconfig cachefilesd --level 35 off

最后,把非cachefilesd日志保存起来,清理源文件:

[[email protected]* log]grep -v cachefilesd messages-20170109 > messages.bak
[[email protected]* log]grep -v cachefilesd messages >> messages.bak
[[email protected]* log]rm -f messages-20170109
[[email protected]* log]echo > messages

最后再查看一下messages还有没有

cachefilesd[1226]: Scan complete

的日志,没有的话大功告成。

总结:1、业务文件系统必须和操作系统文件系统分离!2、定期检查并清理messages 。

时间: 2024-10-11 15:19:13

一个NFS缓存管理包的bug导致文件系统满的问题和解决方法的相关文章

BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法

最近一直在做互金平台,做到后台提交表单的时候出现验证提交数据一直没有提交的问题.于是百度了一下.果然是版本问题造成的.幸好找到了问题所在.我一直仿照的是东钿原微信平台的做法,但是使用byond的后台框架,可能版本不一样,所以造成 submitHandler: function(validator, form, submitButton) { // 版本号0.4.5支持 // 版本号v0.5.2-dev不再支持submitHandler配置 } 这个方法一直是无效的无法执行.百度搜到就是以下解决办

java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序解决方法

开发程序需要登录功能 ,就不想用大数据库,直接用java连接access.     在自己机器上一切正常,  url直连 和配置数据源都没有问题.  发布到windows server2008 上 ,获取不到数据连接.      系统都是64位, office是2010  32位.     问题找了半天,最终得以解决: 32为的Access driver 需要用32为的jdk才能调用, 于是重装成与自己机器上一样的32位jdk,  连接成功,问题解决.      配置数据源不会刻意搜一下. ja

eclipse上一次没有正确关闭,导致启动的时候卡死错误解决方法

关于 eclipse启动卡死的问题(eclipse上一次没有正确关闭,导致启动的时候卡死错误解决方法),自己常用的解决方法: 方案一(推荐使用,如果没有这个文件,就使用方案二): 到<workspace>\.metadata\.plugins\org.eclipse.core.resources目录,删除文件 .snap 方案二: 进入workspace/.metadata/.plugins/目录      重命名 org.eclipse.core.resources to org.eclip

由于SSH配置文件的不匹配,导致的Permission denied (publickey)及其解决方法

读者如要转载,请标明出处和作者名,谢谢. 地址01:http://space.itpub.net/25851087 地址02:http://www.cnblogs.com/zjrodger/ 作者名:zjrodger [问题发生环境和相关参数] (1)OS:Win7 32Bit. (2)Git:GitHub for Windows 2.0. 下载地址:https://windows.github.com/ (3)Command Shell:Git Shell. [问题重现描述] 在Win7本地平

EXT3文件系统误删除导致文件系统中的邮件丢失恢复方法

一.故障描述 由8块盘组成的RAID5, 上层是EXT3文件系统,由于误删除导致文件系统中的邮件丢失 二.镜像磁盘为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏, 使用winhex软件为每块磁盘做镜像, 以后所有的数据恢复操作都在镜像盘上进行, 不会对原始磁盘造成影响镜像结果如下:图一 三.组建RAID通过分析数据在硬盘中分布的规律, 获取RAID类型, RAID条带的大小,以及每块磁盘的顺序.根据分析结果使用UFS组建RAID.结果如下:图二 四.导出目标分区 从组建好的RAID中可以看

使用HandyJSON导致的内存泄漏问题相关解决方法

在移动开发中,与服务器打交道是不可避免的,从服务器拿到的接口数据最终都会被我们解析成模型,现在比较常见的数据传输格式是json格式,对json格式的解析可以使用原生的解析方式,也可以使用第三方的,我们的项目中使用的是阿里开源的一个swift编写的解析框架--HandyJSON. 在使用过程中,使用instruments的Leak Checks工具对内存泄漏进行检测时发现了这个框架导致了不少的内存泄漏,如图1-1: 这张图是在APP进入首页并将数据加载完毕时截取的,可以看到,HandyJSON一共

SVN版本号管理工具使用中常见的代码提交冲突问题的解决方法

相信刚開始学习使用SVN的小伙伴在项目合作开发的过程中一定常常遇到一些影响到自己编写的代码的苦恼.我这里列举了几种常见的问题以及问题的解决方法: 1.误删除和误操作的问题 问题1:有A和B两个人一块合作写项目的时候,B在写代码的时候不小心更改了A写的代码文件的内容提交到了仓库,A该怎样找回自己原来的代码呢? 解决方法: 右键点击被改动的文件---->点击TortoiseSVN选项----->点击Show log选项,会出现如图所看到的的窗体, watermark/2/text/aHR0cDov

关于RPC服务器不可用,导致电源设置无法更改的解决方法

下面分享的是由于RPC服务器不可用,导致了电源设置无法更改.网上关于这类的解决方法,大都都是到服务里启动RPC服务器及相关服务.下面分享的是比较特殊情况. 我的电脑是戴尔游匣7000系列,Windows 8.1 由于前几天电脑自动更新失败后,电脑毛病不断.首先是网卡驱动不可用,声卡驱动不可用,这些都不是问题,到戴尔官方网站上可以下载这些驱动,很方便.但是很恼火的是,不知道怎么回事, rpc服务器不可用导致了电源设置无法更改,首先也是按照网上的方法去服务里启动RPC相关的服务,确实这些服务已经被W

交换机死机,导致ceph ( requests are blocked ) 异常解决方法

问题描述: 万兆交换机死机后,导致在交换机上的ceph 的cluster网络会中断,用户正在对数据块的访问没有完成导致请求被blocked,同时部分pg会处于不同步状态,因此交换机重启后,通过ceph health会发现ceph集群不在OK 状态 health HEALTH_ERR 1 pgs inconsistent; 1 pgs repair; 2 requests are blocked > 32 sec; 1 scrub errorspg 6.89 is active+clean+inc