前言


操作步骤

  1. 安装NFS客户端

    • 如果您使用CentOS、Redhat、Aliyun Linux操作系统,请执行以下命令
      sudo yum install nfs-utils
      
    • 如果您使用Ubuntu或Debian操作系统,请执行以下命令
      sudo apt-get update
      sudo apt-get install nfs-common
      
  2. 增加同时发起的NFS请求的数量

    • 请执行以下命令,将同时发起的NFS请求数量修改为128。
      if (lsmod | grep sunrpc); then
      (modinfo sunrpc | grep tcp_max_slot_table_entries) && sysctl -w sunrpc.tcp_max_slot_table_entries=128
      (modinfo sunrpc | grep tcp_slot_table_entries) && sysctl -w sunrpc.tcp_slot_table_entries=128
      fi
      (modinfo sunrpc | grep tcp_max_slot_table_entries) && echo "options sunrpc tcp_max_slot_table_entries=128" >> /etc/modprobe.d/alinas.conf
      (modinfo sunrpc | grep tcp_slot_table_entries) && echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/alinas.conf
      
  3. 手动挂载NFS文件系统

    • 挂载NFS文件系统

      说明:

      • 推荐您通过NFS v3协议挂载文件系统,以获得最佳访问性能。
      • NFS v4.0支持文件锁(包括range lock),如果您需要使用多台Linux ECS实例同时修改一个文件,请使用NFS v4.0协议挂载文件系统。
    • 使用NFS v3协议挂载文件系统:

      sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport nfs-server-ip:/ /mnt
      
    • 使用NFS v4协议挂载文件系统:

      sudo mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport nfs-server-ip:/ /mnt       
      
  4. 自动挂载NFS文件系统

    • 使用NFS v3协议挂载文件系统
      nfs-server-ip:/ /mnt nfs vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
      
    • 使用NFS v4协议挂载文件系统:
      nfs-server-ip:/ /mnt nfs vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
      
  5. 修改同时发起的NFS请求数量,提升性能

    NFS客户端对同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能,建议您将该参数值修改为128。

    • 执行以下命令,将同时发起的NFS请求数量修改为128。
      # 执行完成后重启系统
      echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
      echo "options sunrpc tcp_max_slot_table_entries=128" >>  /etc/modprobe.d/sunrpc.conf
      
    • 检查是否设置成功
      # 挂载完成后执行,返回128,则修改成功
      cat /proc/sys/sunrpc/tcp_slot_table_entries
      

参考资料


交个朋友