Linux 系统挂载nfs文件系统及性能调整
前言
操作步骤
-
安装NFS客户端
- 如果您使用CentOS、Redhat、Aliyun Linux操作系统,请执行以下命令
sudo yum install nfs-utils
- 如果您使用Ubuntu或Debian操作系统,请执行以下命令
sudo apt-get update sudo apt-get install nfs-common
- 如果您使用CentOS、Redhat、Aliyun Linux操作系统,请执行以下命令
-
增加同时发起的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
- 请执行以下命令,将同时发起的NFS请求数量修改为128。
-
手动挂载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
-
-
自动挂载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
- 使用NFS v3协议挂载文件系统
-
修改同时发起的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
- 执行以下命令,将同时发起的NFS请求数量修改为128。