本文介绍如何使用Linux系统挂载访问NFS协议共享。
前提条件
已创建共享。具体操作,请参见创建共享。
安装NFS客户端
在挂载NFS共享前,需要在客户机上安装NFS客户端。
登录客户机。
执行以下命令安装NFS客户端。
此处介绍Ubuntu操作系统和CentOS操作系统的安装命令,其他操作系统上的NFS客户端安装请参见NFS官方文档。
如果您使用Ubuntu操作系统,执行以下命令。
apt-get install nfs-common如果您使用CentOS操作系统,执行以下命令。
yum install -y nfs-utils
手动挂载NFS共享目录
在ECS实例中,执行以下命令将共享目录挂载至客户端所在的本地目录。
IPv4方式
NFS v4协议挂载
如果您需要使用IPv4方式以及NFS v4协议挂载共享,请执行以下命令:
sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>NFS v3协议挂载
如果您需要使用IPv4方式以及NFS v3协议挂载共享,请执行以下命令:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>命令中的参数说明如下:
ipv4_address:/share_name:存储网关挂载点(包括存储网关IPv4地址和共享目录名称),请根据实际值替换。您可以在云存储网关控制台,找到目标存储网关,在其共享页面查看挂载点。local-directory:客户端的本地目录,可以是任意有读写权限的目录,不能是不存在的文件目录。noac:如果您开启了极速同步功能,且要挂载的共享已经加入了极速同步组,可以在挂载命令中加入该参数。加入该参数后,客户端会实时从网关获取文件系统的元数据,从而使您更快地在客户端看到同步结果。该参数对客户端的读写性能有一定影响。如果对客户端文件变化敏感,建议加入该参数;如果对客户端读写性能敏感,不建议加入该参数。示例命令如下:sudo mount -t nfs -o noac,lookupcache=none,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>
IPv6方式
说明仅华东5(呼和浩特)地域支持采用IPv6方式挂载,网关所使用的VPC和vSwitch要支持IPv6。
IPv6方式的挂载,使用前请先确保所使用的ECS客户端已经配置了IPv6地址。
如果已有网关所使用的VPC和vSwitch支持IPv6,可以在网关操作列表中启用IPv6后,获取IPv6的挂载点,而在此VPC下新创建的网关默认支持IPv6,不需要进行启用操作。
NFS v4协议挂载
如果您需要使用IPv6方式以及NFS v4协议挂载共享,请执行以下命令:
sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>NFS v3协议挂载
如果您需要使用IPv6方式以及NFS v3协议挂载共享,请执行以下命令:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>命令中的参数说明如下:
ipv6_address:/share_name:存储网关挂载点(包括存储网关IPv6地址和共享目录名称),请根据实际值替换。您可以在云存储网关控制台,找到目标存储网关,在其共享页面查看挂载点。例如:
2408:4004:ffff:ffff:ffff:ffff:ffff:ffff:/myshare。local-directory:客户端的本地目录,可以是任意有读写权限的目录,不能是不存在的文件目录。noac:如果您开启了极速同步功能,且要挂载的共享已经加入了极速同步组,可以在挂载命令中加入该参数。加入该参数后,客户端会实时从网关获取文件系统的元数据,从而使您更快地在客户端看到同步结果。该参数对客户端的读写性能有一定影响。如果对客户端文件变化敏感,建议加入该参数;如果对客户端读写性能敏感,不建议加入该参数。示例命令如下:sudo mount -t nfs -o noac,lookupcache=none,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>
执行df -h命令,查看挂载结果。
访问共享目录
挂载成功后,您可以像操作本地目录一样操作共享目录。如果访问用户具有写权限,则可以向共享目录写入数据;如果访问用户只有读权限,则只能读取文件。
云存储网关的共享目录与OSS Bucket进行了数据同步,您对共享目录的操作实际也是对OSS进行操作。
卸载共享目录
在执行 umount 卸载操作前,请检查共享上传状态,建议您在共享已处于上传完成状态时执行卸载操作,以避免数据丢失。相关问题,请参见为什么共享的同步状态一直显示“上传未完成”?。
您可以执行umount <local-directory>来卸载共享目录。其中local-directory为共享正在使用的客户端本地目录。
(可选)自动挂载NFS共享目录
为避免已挂载文件系统的云服务器ECS重启后,挂载信息丢失,您可以通过在Linux ECS实例中配置/etc/fstab(推荐使用)文件或/etc/rc.local文件,实现在云服务器ECS设置重启时NFS文件系统自动挂载。
在配置自动挂载前,请先确认手动挂载成功,避免ECS启动失败。
如果您是在CentOS 6系统中配置自动挂载,需先完成以下操作:
执行
chkconfig netfs on命令,保证netfs开机自启动。打开/etc/netconfig配置文件,注释掉inet6相关的内容。
方案一(推荐使用)
配置/etc/fstab文件。
IPv4方式
NFS v4协议挂载
如果您需要使用IPv4方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:
<ipv4_address:/share_name> <local-directory> nfs nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0NFS v3协议挂载
如果您需要使用IPv4方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:
<ipv4_address:/share_name> <local-directory> nfs vers=3 nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0IPv6方式
NFS v4协议挂载
如果您需要使用IPv6方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:
<ipv6_address:/share_name> <local-directory> nfs nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0NFS v3协议挂载
如果您需要使用IPv6方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:
<ipv6_address:/share_name> <local-directory> nfs vers=3 nolock proto=tcp rsize=1048576 wsize=1048576 hard timeo=600 retrans=2 noresvport defaults 0 0执行
reboot命令,重启云服务器ECS。ECS启动后,执行
df -h或者mount命令验证挂载结果。重要重启云服务器会中断业务,建议您在业务低谷时期重启云服务器。
方案二
在配置/etc/rc.local文件之前,请确保用户对该文件以及/etc/rc.d/rc.local文件具有可执行权限。例如,在 CentOS 7.x 系统中,用户默认不具备这些文件的可执行权限,需手动添加执行权限后才能进行配置。
配置/etc/rc.local文件。
IPv4方式
NFS v4协议挂载
如果您需要使用IPv4方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:
sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>NFS v3协议挂载
如果您需要使用IPv4方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv4_address:/share_name> <local-directory>IPv6方式
NFS v4协议挂载
如果您需要使用IPv6方式以及NFS v4协议挂载共享,请在配置文件中添加以下命令:
sudo mount -t nfs -o nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>NFS v3协议挂载
如果您需要使用IPv6方式以及NFS v3协议挂载共享,请在配置文件中添加以下命令:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <ipv6_address:/share_name> <local-directory>执行
reboot命令,重启云服务器ECS。ECS启动后,执行
df -h或者mount命令验证挂载结果。重要重启云服务器会中断业务,建议您在业务低谷时期重启云服务器。
