NFS未解之谜之IO持续占用问题

某核心交易库,报警IOwait超过30%,看似很普通的一条告警,实则暗藏玄机;登陆主机查看到有很多RMAN备份脚本在跑;

平时不到一小时的任务,跑了6个多小时了。
该备份任务通过nfs挂载的方式,怀疑是nfs有问题,

果然,进入到mount目录,ll都无法正常显示结果,卡住不动,随即到备份服务器上面,也就是nfs server查看有没有异常,发现之前部署的一个监控脚本,在平时load和io都很低。与今天故障时间段不太一样。

返回到备份客户端服务器,ps -ef |grep nfs发现有很多cat进程
[[email protected] log]# ps -ef |grep nfs
root 9700 2 0 2017 ? 00:00:00 [nfsv4.0-svc]
oracle 88889 88888 0 10:05 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190619_9868_1
oracle 90224 90223 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9888_1
oracle 90566 90565 0 10:06 ? 00:00:00 cat ./nfs/full_data_TRANDB_20190619_9872_1
oracle 90571 90570 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190619_9869_1
oracle 90576 90575 0 10:06 ? 00:00:00 cat ./nfs/full_data_TRANDB_20190619_9872_1
oracle 90584 90583 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190619_9868_1
oracle 90588 90587 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9884_1
oracle 90593 90592 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9885_1
oracle 90597 90596 0 10:06 ? 00:00:00 cat ./nfs/full_data_TRANDB_20190619_9865_1
oracle 90606 90605 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9881_1
oracle 90616 90615 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190619_9871_1
oracle 90626 90625 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9887_1
oracle 90631 90630 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9888_1
oracle 90641 90640 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190619_9871_1
oracle 90645 90644 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9880_1
oracle 91999 91998 0 10:06 ? 00:00:00 cat ./nfs/full_data_TRANDB_20190620_9883_1
oracle 92488 92487 0 10:06 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190620_9880_1
oracle 93837 93836 0 10:07 ? 00:00:00 cat ./nfs/arch_TRANDB_20190620_9890_1
oracle 94011 94010 0 10:07 ? 00:00:00 cat ./nfs/full_data_TRANDB_20190620_9886_1
oracle 94238 94237 0 10:07 ? 00:00:01 cat ./nfs/full_data_TRANDB_20190619_9865_1
root 98024 17863 0 10:09 pts/7 00:00:00 grep nfs
root 130976 2 0 2017 ? 00:00:00 [nfsiod]

通过操作系统kill掉这些pid,但是立马就会派生出来。后umount掉目录后,没有了。暂时没有找出原因,记录一下。

原文地址:https://blog.51cto.com/yangjunfeng/2411819

时间: 2024-10-21 14:57:32

NFS未解之谜之IO持续占用问题的相关文章

观《西游记未解之谜 》后记

前2周大学的某个课堂练习涉及到<西游记>,由于自己并没有对西游记有太多深刻的解析,所以在网络上搜索和西游记有关的讲解,就遇到了吴闲云写的<西游未解之谜>,简直吸引住了我--一个对西游一知半解的人,花上一个晚上如获珍宝似地看了一半,并在今晚看完了剩下的部分. 对于该文章的内容,基本是持一种"哇,这么高深吗?想想好像也有道理哎"的态度,所以看完这本书(大概10万字)也不是什么难题,也不觉得很累(ps:我要是学习其他也有这股劲就好了).看完一半后的那一段时间,我还经常

世界十大未解之谜

世界十大未解之谜 1.泰坦尼克号沉没 1912年4月12日是个悲惨的日子——这一天,英国豪华客轮泰坦尼克号在驶往北美洲的处女航行中不幸沉没.这次沉船事件致使1 523人葬身鱼腹,是人类航海史上最大的灾难,震惊世界.这么多年来,泰坦尼克号沉没的真正原因,一直是人们探索的焦点. 1985年,人们在纽芬兰附近海域发现了沉没的泰坦尼克号残骸.紧接着,探索者们利用各种先进技术,甚至潜入冰冷黑暗的深海,企图揭示泰坦尼克号沉没的原因.然而,潜入水中的人只能看到泰坦尼克号的外观,却无法探查由于冰山撞击造成的“创

循环与括号(上课时的未解之谜)

c语言书P86 数组 上课看到书86上的题 #include<stdio.h>int main(){ int s[10]; int i; for(i=0;i<=9;i++) s[i]=i*i; for(i=0;i<=9;i++) printf("%4d",s[i]); return 0;} 就在纠结为什么要2个循环,不是一个循环就够了,真的是百思不得其解,难道有什么惊艳之出 回寝室后运行了 #include<stdio.h>int main(){ i

南阳理工 55 未解之谜

# include<stdio.h># include<stdlib.h>int cmp(const void *x,const void *y){ return *(int *)x-*(int *)y;}int main(){ int N,i,j,k; scanf("%d",&N); while(N--) { int n; long long sum =0; scanf("%d",&n); long long a[n],t;

Android开发架构规范,带你解答未解之谜。

前言在开发中,一个良好的开发习惯以及一个开发规范可能会让你少走很多弯路,也会一定程度上的提高代码的可读性,可维护性和可拓展性.当随着需求的不断变更,需要维护项目的时候.当随着项目的代码量的提升,需要重构的时候.你会明白一个好的开发规范多么多么的重要. 这里整理一下自己android开发中的一些规范.希望对各位有帮助. 命名规范包命名规范 包名全部采用小写主包名采用[公司性质].[公司名称].[项目名称]的命名方式如果根据不同情况进行分包的话,可以将包名分别命名为util,view, adapte

Drupal.theme未解之谜

Drupal = {}; Drupal.theme = function (func) { console.log(arguments); var args = Array.prototype.slice.apply(arguments,['1']); console.log(args); return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args); }; Drupal.theme.prototype

IT工作十年后的18个未解之谜

1,怎样跟踪用户所有的浏览.停留.操作记录? 2,用户所属单位切换时其录入的数据怎样划分归属? 3,系统怎样结合不断变化的组织结构? 4,用户在矩阵式组织中怎样表示其多组织的所属关系? 5,需要在操作一条数据后回到原页面的页码记忆功能怎样实现比较简洁? 6,系统维护中怎样实现一个制度及时维护用户信息? 7,系统运行中实现怎样的制度能保证数据的准确率? 8,对于已经批准并被引用的单据怎样纠正其内容中的错误数据? 9,多层次与交并集数据范围怎样与用户操作权限结合? 10,一级.二级管理员权限逐级减少

Robot Framework中的未解之谜

今天在写测试用例的时候偶然发现了一个问题: 一.看脚本逻辑上没有问题,但是在引用变量的时候不能成功引用,脚本截图如下: 这个是关键字A的截图,没有参数. 此时在case中引用${phonesign}和${data}的时候是无法调用的,报错信息是找不到这个参数 解决办法: 在rf中讲要存的值处理为字典,将要使用的值存入.py文件中,存入形式为"k=v(换行)k=v",在应用的时候引入这个.py文件后直接通过变量名字调用.具体处理方法如下: python写文件代码如下:

acm未解之谜-洛谷P1109学生分组

把每一组的学生个数调度到一个给定区间范围内: 看了一圈题解,大佬都对原因避而不答: #include <iostream> #include <algorithm> using namespace std; const int maxn = 55; int sum=0,a[maxn],n,l,r; int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; sum+=a[i]; } cin>>