创建NFS文件系统后,需要使用云服务器来挂载该文件系统,以实现多个云服务器共享访问文件系统的目的。本文介绍如何通过阿里云Linux ECS实例挂载NFS文件系统。
前提条件
在创建文件系统的地域,已有可用的云服务器ECS(Linux)。
已创建NFS文件系统并获取到文件系统的挂载点地址,且与ECS属于同一VPC。
说明
- 推荐通过NFS v3协议挂载文件系统,以获得最佳访问性能。
- NFS v4.0支持文件锁(包括range lock),如果需要使用多台Linux ECS实例同时修改一个文件,请使用NFS v4.0协议挂载文件系统。
步骤一:安装NFS客户端
在Linux系统挂载NFS文件系统时,需要先安装NFS客户端。确保每台Linux服务器执行一次配置即可,不需要在每次挂载时都执行。
- 连接ECS实例。
- 安装NFS客户端。
操作系统:Alibaba Cloud Linux、CentOS、Redhat
安装命令:
sudo yum install nfs-utils
操作系统:Ubuntu、Debian
安装命令:
依次执行以下安装命令:
sudo apt-get update
sudo apt-get install nfs-common
- 增加同时发起的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/sunrpc.conf
(modinfo sunrpc | grep tcp_slot_table_entries) && echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
步骤二:挂载NFS文件系统
在Linux操作系统中,NFS文件系统支持通过手动挂载和自动挂载两种方式进行挂载。为避免已挂载文件系统的云服务器ECS重启后,挂载信息丢失,建议在手动挂载NFS文件系统成功后,配置自动挂载NFS文件系统,实现在云服务器ECS设置重启时NFS文件系统自动挂载。
手动挂载NFS文件系统
需要使用文件系统的挂载点地址,将NFS文件系统挂载至Linux ECS实例。
1、挂载NFS文件系统。
通用型NAS,请执行以下命令。
说明
- 推荐通过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 file-system-id.region.nas.aliyuncs.com:/ /mnt
使用NFS v4协议挂载文件系统:
sudo mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt
如果使用的是极速型NAS,请执行以下命令。
sudo mount -t nfs -o vers=3,nolock,noacl,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt
-
挂载命令参数说明如下表所示。
image.png
image.png
2、验证挂载结果。
mount -l
返回示例
如果返回信息包含如下类似信息,说明挂载成功。
p49539.png
挂载成功后,还可以执行 df -h命令,查看当前文件系统的容量信息。
p516391.png
如果挂载失败,请进行错误排查。
3、挂载成功后,您可以在Linux ECS上访问NAS文件系统,执行读取或写入操作。
您可以把NAS文件系统当作一个普通的目录来访问和使用,示例如下:
p54347.png
自动挂载NFS文件系统
1、如果您使用的是极速型NAS,请执行以下命令。
如果您使用的是容量型或性能型NAS,请跳过此步骤,直接执行步骤2
vi /etc/systemd/system/sockets.target.wants/rpcbind.socket
打开 /etc/systemd/system/sockets.target.wants/rpcbind.socket文件后,需要注释IPv6相关的 rpcbind参数(如下图所示),否则NFS的rpcbind服务自动启动会失败。
p51186.png
如果是在CentOS 6.x系统中配置自动挂载,您还需执行以下操作。
执行chkconfig netfs on命令,确保netfs服务开机自启动。
打开/etc/netconfig配置文件,注释掉inet6相关的内容(如下图所示)。
p51194.png
- 打开/etc/fstab配置文件,添加挂载配置。
如果使用的是容量型或性能型NAS,配置示例如下。
- 使用NFS v3协议挂载文件系统:
file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
- 使用NFS v4协议挂载文件系统:
file-system-id.region.nas.aliyuncs.com:/ /mnt nfs vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0
- 如果您使用的是极速型NAS,配置示例如下。
file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt nfs vers=3,nolock,noacl,proto=tcp,noresvport,_netdev 0 0
说明
- 如果是在CentOS 6.x系统中配置自动挂载,您需先执行chkconfig netfs on命令,确保netfs服务开机自启动。
- 如果是在Ubuntu系统中配置自动挂载,请先执行以下命令:
[ ! -f /etc/rc.local ] && echo '#!/bin/bash' > /etc/rc.local; echo "mount -a -t nfs" >> /etc/rc.local; chmod +x /etc/rc.local
请在自动挂载参数noresvport后加入,x-systemd.automount,并保留“ 0 0”。
- 如果您是在Alibaba Cloud Linux系统中配置自动挂载,请先执行以下命令:
[ ! -f /etc/rc.local ] && echo '#!/bin/bash' > /etc/rc.local; echo "mount -a -t nfs" >> /etc/rc.local; chmod +x /etc/rc.local
请在自动挂载参数noresvport后加入,x-systemd.automount,x-systemd.requires=systemd-resolved.service,x-systemd.after=systemd-resolved.service,并保留“ 0 0”。
示例中主要参数说明,请参见 挂载命令参数说明表。其余参数说明如下。
- 执行reboot命令,重启云服务器ECS。
- 验证自动挂载配置成功。
在ECS重启后的一分钟内,执行 df -h命令,确认挂载的NAS文件系统。
原文:https://help.aliyun.com/document_detail/90529.html
执行以下命令,如果结果中存在NFS文件系统的挂载地址,则说明挂载成功:
df -h | grep aliyun
网友评论