文档章节

Freeshell 查明 NFS 经常卡死问题

刺猬一号
 刺猬一号
发布于 2017/06/16 00:07
字数 475
阅读 13
收藏 0

2015 年 2 月 3 日,freeshell 出现持续两个小时的 NFS 卡死问题。事实上,2014 年 8 月启用外部磁盘以来,就经常出现持续几十秒甚至几分钟的 NFS 卡死,卡死期间外部磁盘上的 freeshell 无法执行任何操作,有的 freeshell 还会因为磁盘操作超时而关机。之前一直以为是 NFS bug 导致了死锁,没有定位到故障原因,也没能重现。

2 月 3 日,通过 tcpdump 抓包和 strace nfsiod 进程的方法,查明 NFS server not responding 的问题是由于外部硬盘(一块希捷的 2T 绿盘)过于繁忙。

在 NFS 卡死的时段,外部磁盘读的平均延迟可达 600ms,写的平均延迟是 1400ms。当初设置 NFS 挂载参数的时候,我没有考虑到磁盘繁忙的问题,只是想到了网络延迟不应当超过 1 秒,于是就设置了超时 timeo=10,表示 1 秒超时。一个 NFS 请求可能需要分解为多个磁盘读请求,这些请求的时间之和很可能超过 1 秒,也就是大部分读写请求还没来得及发给磁盘就超时了,形成了 NFS 服务器失去响应的假象。

下面是 早先的挂载参数
vers=3,rw,rsize=32768,wsize=32768,tcp,timeo=10,retrans=5,soft,intr,sec=sys,lookupcache=all,ac,nocto

现将超时修改成 30 秒(timeo=300)。
vers=3,rw,rsize=32768,wsize=32768,tcp,timeo=300,retrans=5,soft,intr,sec=sys,lookupcache=all,ac,nocto

2 月 3 日已经修改 fstab,但由于挂载着的 NFS 不能修改挂载参数(见 man nfs),需要关闭所有外部磁盘上的虚拟机才能重新挂载 NFS。2 月 4 日刚好 1 号节点挂了,于是把所有其他节点也重启了一遍,NFS 参数就更新了。

© 著作权归作者所有

共有 人打赏支持
刺猬一号
粉丝 12
博文 371
码字总数 611623
作品 0
深圳
中科大 LUG 服务器遭受大规模网络攻击

自6月1日晚开始,中科大的LUG服务器遭受大规模攻击。包括开源软件镜像在内的多个服务出现故障。6月3日,镜像首页提示用户对下载的文件进行checksum校验,官方建议切换至其他软件源或谨慎使用...

oschina
2015/06/05
8.7K
36
如何确定是程序响应慢还是网络慢?

现在有一台主服务器,仅仅只部署了nginx服务,底下有若干台web服务器用内网相连,外网都是访问这台主服务器 最近总出现问题发现经常卡死,无响应 在服务器上添加一个静态文件,直接通过nginx...

speedhao
2016/08/31
454
4
IntelliJ IDEA 14.1 卡顿

IntelliJ IDEA 14.1 在win8.1 jdk1.7 下编辑经常卡死,cpu 高占用率,你们有这种问题吗?

HulkZ
2015/03/27
11.1K
14
java实现类似百度文库在线阅读时openoffice卡死

请教各位同行,我遇到一个很无语的问题:在项目中实现文档在线预览的时候,使用openoffice转换文档时候,经常出现openoffice卡死,导致文档转换不了,找了很久,一直没发现问题,求诸位指导!...

虾米籽
2013/06/02
487
1
加速网络文件系统NFS访问速度--Cachefiles

NFS是一种经常使用到的网络共享文件系统,在分布式环境下,多台服务器的文件共享是一个问题。然而,对于这个问题,最常想到最容易做到的那就非NFS莫属了。那么如何来提高NFS文件的访问性能呢...

NorthBoy
2014/01/01
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
0
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
14
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
0
0
emoji

前言:随着iOS系统版本的升级,对原生emoji表情的支持也越来越丰富。emoji表情是unicode码中为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUnicode,在OS系统中,这两种编...

HeroHY
昨天
2
0
rabbitmq学习(二)

生产者消费者初级案列 ChannelUtils package com.hensemlee.rabbitmq;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.Connecti......

hensemlee
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部