目录
操作场景
文件系统不可独立使用,当创建文件系统后,您需要使用云主机来挂载该文件系统,以实现多个云主机共享使用文件系统的目的。若您选择使用Linux操作系统和NFS文件系统,可使用本文指导挂载操作。
注意
不推荐NFS协议的文件系统挂载至Windows,Windows系统对NFS协议文件系统兼容性较差,会出现中文乱码和无法进行重命名等问题,影响正常使用。因此推荐使用NFS文件系统挂载至Linux操作系统的计算服务上,以避免不兼容的问题。
如果仍然期望采用NFS协议的文件系统挂载至Windows的方式,请务必知晓上述风险,若采用此种挂载方式,本服务不承诺SLA。
前提条件
在同地域已创建虚拟私有云VPC,具体操作步骤参见创建虚拟私有云VPC。
已创建该VPC下的弹性云主机且操作系统为Linux,具体操作步骤参见创建弹性云主机,海量文件服务兼容的操作系统请参考使用限制。
已创建同VPC下的NFS协议文件系统,具体操作步骤参见创建文件系统。
操作步骤
登录天翼云控制中心,单击管理控制台左上角的
,选择地域。选择“计算>弹性云主机”,进入弹性云主机控制台页面,找到即将执行挂载操作的云主机。
以root用户登录该弹性云主机,登录方法参考登录Linux弹性云主机。
注意
文件存储的服务端口为:111、139、2049、20048、445、11002、11003、10141,设置安全组时不要禁止,以防无法访问文件服务。
执行以下命令查询该云主机是否安装NFS客户端,若没有返回安装结果,执行第5步进行安装。
rpm -qa | grep nfs-utils安装NFS客户端。安装时注意不同操作系统执行命令不同。
CentOS系统,执行以下命令:
yum -y install nfs-utilsUbuntu系统,执行以下命令:
sudo apt-get install nfs-common
执行如下命令创建本地挂载路径,例如“/mnt/sfs”。
mkdir /mnt/sfs在文件系统详情页面复制挂载命令,并在客户端执行挂载。挂载完成后使用
df -h命令查看文件系统挂载情况。挂载命令获取见下图:注意
请将挂载命令中的“/localfolder”替换为您在第6步创建的本地挂载路径。
挂载完成后使用
df -h命令查看文件系统挂载情况。配置开机自动挂载。
注意
为避免已挂载文件系统的云主机重启后挂载信息丢失,建议设置重启时进行自动挂载。
执行“
vi /etc/rc.d/rc.local”编辑 rc.local 文件,在文件末尾新增挂载信息,挂载命令可在文件系统详情页获取(见上方第7步)。配置完成后,单击“Esc”键,并输入:wq,保存文件并退出。配置样例如下:sleep 10s && sudo 挂载命令执行“
chmod +x /etc/rc.d/rc.local”。完成上述配置后,当云主机重启时,系统会等待10s后自动挂载。
(可选)建议使用NFSv3协议挂载,如需使用 NFSv4 协议挂载,请在每个 NFS 客户端按以下步骤配置nfs4_unique_id。
# more /etc/machine-id 92dbe4656355499696d3a2d254c1426f # echo "options nfs nfs4_unique_id=92dbe4656355499696d3a2d254c1426f" > /etc/modprobe.d/nfs.conf # lsmod|grep nfs # modprobe nfs # more /sys/module/nfs/parameters/nfs4_unique_id 92dbe4656355499696d3a2d254c1426f(可选)NFS客户端请求并发数量设置,以优化访问性能。
NFS客户端对同时发起的NFS请求数量进行了控制,默认为2,修改sunrpc.tcp_slot_table_entries可以提升单机访问NAS的吞吐,建议您执行以下命令将该参数值修改为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 sysctl -w sunrpc.tcp_slot_table_entries=128说明
- 指令需在首次挂载前执行,之后永久生效。
并发请求数量的上升可能导致单个IO延迟增加,需要根据实际业务场景进行调节。
挂载命令参数说明
| 参数 | 说明 |
|---|---|
| vers | 文件系统版本,可选3或4。建议值:3。 |
| proto | 客户端向服务器发起传输请求使用的协议,可以为 udp 或者 tcp ,建议取值:IPv4 访问时 proto = tcp,IPv6 访问时 proto = tcp6。 |
| async | sync 为同步写入,表示将写入文件的数据立即写入服务端;async 为异步写入,表示将数据先写入缓存,再写入服务端。同步写入要求 NFS 服务器必须将每个数据都刷入服务端后,才可以返回成功,时延较高。建议取值:async。 |
| nolock | 选择是否使用 NLM 协议在服务端锁文件。当选择 nolock 选项时,不使用 NLM 锁,锁请求仅在本机进行,仅对本机有效,其他客户端不受锁的影响。如果不存在多客户端同时修改同一文件的场景,建议取值nolock以获取更好的性能。如不加此参数,则默认为 lock。 |
| noatime | 如果不需要记录文件的访问时间,可以设置该参数。避免频繁访问时,修改访问时间带来的开销。 |
| noresvport | 网络故障时自动切换端口,保障网络连接。 注意 请务必在挂载时使用 noresvport 参数,防止文件系统卡住。 |
| nodiratime | 如果不需要记录目录的访问时间,可以设置该参数。避免频繁访问时,修改访问时间带来的开销。 |
| wsize | 每次向服务器写入文件的最大字节数,实际数据小于或等于此值。wsize必须是1024倍数的正整数,小于1024时自动设为4096,大于1048576时自动设为1048576。默认时服务器和客户端进行协商后设置。建议取值:最大值1048576。 |
| rsize | 每次向服务器读取文件的最大字节数,实际数据小于或等于此值。rsize必须是1024倍数的正整数,小于1024时自动设为4096,大于1048576时自动设为1048576。默认时服务器和客户端进行协商后设置。建议取值:最大值1048576。 |
| timeo | NFS客户端重传请求前的等待时间(单位为0.1秒)。影响网络中断、后端服务宕机等场景下的业务中断时间,默认取值600。可根据实际情况,设置适合的重传等待时间。 |
| 挂载地址 | 文件系统共享路径。 |
| 本地挂载路径 | 本地挂载路径为计算服务上用于挂载文件系统的本地路径,例如上一步创建的“/mnt/sfs”。 |