本文介绍挂载文件系统时,挂载命令参数的常见问题。
noresvport挂载参数
其他问题
为什么要使用noresvport参数挂载NAS?
如果发生网络切换或者后端服务的HA倒换,小概率会造成NFS文件系统阻塞,若发生则可能需要几分钟时间连接才会自动恢复,极端情况下甚至需要重启ECS才能恢复。使用noresvport参数后,仅需要几秒即可自动完成恢复。
如何检查并修改noresvport挂载参数问题?
只适用于Linux系统的用户,Windows用户及在阿里云容器服务ACK中通过CSI或Flexvolume插件使用NAS的用户请忽略。
检查文件系统挂载是否使用noresvport挂载参数。
执行以下命令,在ECS(Linux)下载check_noresvport.py检查脚本。
wget -N https://nas-client-tools.oss-cn-hangzhou.aliyuncs.com/linux_client/check_noresvport.py -P /tmp/
执行检查脚本,以下命令是以python为示例。
python2.7 /tmp/check_noresvport.py
如果检查脚本输出:本台ECS无须处理noresvport问题,则无须处理,其他情况请执行以下步骤进行修复。
修复noresvport参数。
说明建议在业务低峰进行修复。
请根据实际挂载场景选择以下修复方法:
如果使用ECS直接挂载NAS,请使用参数
-r
再次执行检查脚本。python2.7 /tmp/check_noresvport.py -r
如果使用容器挂载NAS,请使用参数
-c
再次执行检查脚本。python2.7 /tmp/check_noresvport.py -c
更新自动挂载配置。
如果配置过自动挂载,请更新自动挂载参数,加入noresvport挂载参数。更多信息,请参见挂载NFS协议文件系统。
如果没有配置过自动挂载,跳过此步骤。
什么情况会引发网络切换或者后端服务的HA倒换?
NAS服务是稳定的,网络切换或者后端服务的HA倒换都是罕见情况。后端服务升级会触发上述切换,但导致客户端阻塞的概率很低,并且在升级之前阿里云NAS团队会提前通知相关集群的用户,留出充足时间使用noresvport参数。其他可能引发切换的场景,还有负载均衡调整、服务端硬件故障等情况,有一定的不可预测性,所以即使服务端没有升级安排,也请尽快使用noresvport参数避免这样的风险。
为什么需要重新挂载?还有没有其他的方案?
需要重新挂载的原因是要把之前没有使用noresvport参数的TCP连接断开,然后使用noresvport参数挂载时,会建立新的TCP连接。为了把旧的TCP连接断开,就必须把NAS相关的业务都终止,然后执行umount卸载。
如果不希望重新挂载,可以考虑新建NAS挂载点,使用noresvport参数挂载到新的本地路径,然后把业务进程逐步迁移过去,最后废弃旧的挂载路径和挂载点。
在控制台使用一键挂载功能时,挂载参数怎么填写?
控制台上的默认挂载参数会根据协议版本和NAS文件系统类型自动调整为最优配置组合,如果您没有特殊需求建议使用默认参数,修改默认挂载参数可能导致挂载失败。
如果您的业务场景需要修改默认参数,请提交工单处理。
使用一键挂载功能时,新的协议类型或者挂载参数为什么没生效?
如果指定挂载路径已经挂载至当前挂载点时,那么新指定的协议类型和挂载参数就会被忽略。请您先卸载目标挂载路径,然后使用新的协议类型和挂载参数重新执行挂载操作。
我的业务场景需要变更默认挂载参数,应该怎么操作?
一般场景中,默认挂载参数无须填写,即参数mountparam留空。如果您需要使用特殊挂载参数,请在参数mountparam中填写完整的挂载参数,必须包含noresvport,且必须指定协议类型vers=3或者vers=4,minorversion=0。在执行挂载脚本时,当参数mountparam指定了自定义值,参数protocoltype的值会被脚本忽略。更多信息,请参见参数说明。
/etc/fstab
配置中的x-systemd.automount
参数存在什么风险?
如果您在Linux操作系统的/etc/fstab
中配置了x-systemd.automount
挂载选项,可能会产生非预期修改(包括删除)NAS上数据的风险。
原因是配置x-systemd.automount
后,Linux操作系统会在您第一次访问本地挂载目录时触发文件系统挂载,即使您之前已经执行了umount卸载,再次访问本地目录时依然会触发自动挂载。
强烈建议您不使用该参数,以避免产生非预期的数据修改。若要取消该配置,请先删除/etc/fstab
中包含x-systemd.automount
的配置行,并按照挂载NFS协议文件系统重新配置开机自动挂载。配置完成后,重启ECS生效。