专栏首页运维一切nfs v4.0协议下的服务器load升高问题
原创

nfs v4.0协议下的服务器load升高问题

在使用nfs v4.0协议挂载nfs文件系统的时候,存在一个seq id序列号瓶颈问题,具体内容请看https://access.redhat.com/solutions/2142081

  • There is a limitation to the Linux NFS4.0 client implementation that an "open_owner" is mapped to a userid. This results in a bottleneck if one user opens and closes a lot of files in a short period of time. Each OPEN / CLOSE operation has to wait for a sequence id, which essentially serializes each OPEN / CLOSE request. If an NFS server's response time for OPEN / CLOSE requests increases due to some secondary load or complication, this NFS4 client limitation can become pronounced, and in some cases, cause an unresponsive machine.
  • The NFS4.1 protocol addresses the limitation of serialization of OPENs per open_owner. For more information, see RFC 5661 Section 9.10

故障时的现象:

服务器load无限升高,但是应用的cpu使用率并不高

故障触发条件:

短时间内read close大量的文件

解决的方案:

1. 使用nfs v3协议挂载规避

2. 使用nfs v4.1协议挂载

k8s pv的v3挂载实例:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-test-pv
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1000Gi
  mountOptions:
  - vers=3
  - nolock
  - proto=tcp
  - noatime
  - nodiratime
  - noexec
  - hard
  - rsize=524288
  - wsize=524288
  nfs:
    path: /[nfs-id]/[mount-path]/
    server: [nfs-server-ip]
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs-test-pv
  volumeMode: Filesystem
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-test-pvc
  namespace: default
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 1000Gi
  storageClassName: nfs-test-pv
  volumeMode: Filesystem
  volumeName: nfs-test-pv

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ceph暂停数据平衡 转

    domain0
  • ceph osd full故障 原

    资料(传送门)[http://bbs.ceph.org.cn/question/363]

    domain0
  • 私有镜像库的验证问题 原

    解决方案完整的例子 https://docs.quay.io/issues/quay-mesos.html https://mesosphere.github....

    domain0
  • CentOS 8 -- 安装并配置NFS服务

    网络文件系统(Network File System)是一种分布式文件系统协议,通过网络共享远程目录。使用NFS,可以在系统上挂载远程目录,并像对待本地文件一样...

    Kevin song
  • 搭建NFS Server

    执行命令 vim /etc/exports,创建 exports 文件,文件内容如下:

    gang_luo
  • NFS挂载报错

    nfs共享的时候,无论怎么检查都报错:mount.nfs: access denied by server while mounting

    一夕如环
  • Redhat设置NFS挂载的简单步骤

    初识 nfs 还是在测试 lvs 负载均衡的时候,为了保证代码的一致性,将一台 Realserver 作为 nfs 服务器,而其他 Realserver 均以 ...

    张戈
  • NFS存储服务部署

    什么是NFS 中文意思是网络文件系统,主要功能是通过网络(一般是局域网)让不同主机之间可以共享文件或目录 NFS属于本地文件存储服务  缺点1: windows...

    863987322
  • k8s1.5.4挂载volume之nfs

    /usr/local/kubernetes/examples/volumes/nfs

    三杯水Plus
  • nfs 挂载

    NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。...

    孙杰

扫码关注云+社区

领取腾讯云代金券