多台ECS实例批量挂载同一NAS文件系统

如果您的业务场景需要多台ECS实例共享同一NAS NFS协议文件系统中的数据,您可以通过云助手仅执行一次操作,实现多台ECS实例批量挂载同一NAS NFS协议文件系统。

前提条件

已创建文件系统。具体操作,请参见创建文件系统

网络环境

当您的业务的网络符合或包含部分如下场景,您可以通过控制台实现批量挂载文件系统。

  • ECS实例和NAS挂载点在同一VPC中。

  • ECS实例和NAS挂载点均为经典网络类型,且已在NAS文件系统挂载点的权限组中为ECS实例授权。具体操作,请参见管理权限组

  • ECS实例所在VPCNAS挂载点所在VPC已打通,且已在NAS文件系统挂载点的权限组中为ECS实例授权。更多信息,请参见通过云企业网实现同地域跨VPC挂载NAS

使用限制

  • 操作系统

    仅支持ECS Linux操作系统。其中,CoreOS、FreeBSDFedora-CoreOS版本不支持使用控制台一键挂载功能。如果您使用Red Hat版本,在挂载前需要通过rpm包管理方式安装云助手客户端。具体操作,请参见Linux实例安装云助手Agent

  • 实例及工具状态

    • 仅支持状态为“运行中”的ECS实例。如果ECS实例状态为“启动中”、“停机”等状态,请您先修复实例状态。

    • 云助手为正常状态。

  • ECS限制

    ECS实例必须和NAS文件系统在同一地域内,云助手不支持对不同地域的ECS实例执行挂载操作。

  • 文件系统

    仅支持NFS协议文件系统。

操作步骤

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择运维与监控 > 云助手

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 公共命令页签,搜索挂载命令名称ACS-NAS-ClickMount-Mount-Linux-NFS.sh,然后单击执行

  5. 执行命令面板,配置命令信息执行参数并选中待挂载的ECS实例。

    配置项

    说明

    命令信息

    命令内容

    单击查看命令内容确认命令内容。

    执行计划

    选择命令执行时间。无特殊需求,建议选择立即执行

    • 立即执行:单击执行后,立即执行命令。

    • 系统下一次启动后:单击执行后,实例下次启动时执行命令。

    • 系统每次启动后:单击执行后,实例每次启动时执行命令。

    执行用户

    ECS实例中执行命令的用户名称。必须使用root用户或System用户执行命令。

    默认情况下,在Linux实例中以root用户执行命令,在Windows实例中以System用户执行命令。

    命令参数

    命令参数处的文本框内,填写命令中自定义参数的取值。

    • mounttargetdomain:文件系统挂载点地址。

      您可以在NAS控制台目标文件系统的挂载点列表查看挂载点地址,例如****.nas.aliyuncs.com。具体操作,请参见查看挂载点地址

    • ecslocalpath:当前服务器上待挂载NAS文件系统的本地路径。

      必须是以/开头的绝对路径(例如:/mnt)且是空目录。

    • nasremotepath:NAS文件系统的目录。

      您可以配置为NAS的根目录(/)或任意子目录(例如:/abc)。

    • protocoltype:选择文件系统协议类型。

      • 通用型NAS:NFSv3NFSv4.0

      • 极速型NAS:NFSv3

      重要

      请您正确输入参数值,注意大小写且参数值前后不能输入空格,参数错误将导致命令执行失败。

    • automountonboot:是否开启开机自动挂载文件系统。

      取值:truefalse。开启开机自动挂载后,当您重启ECS实例时,无需重复挂载操作。

      重要

      请您正确输入参数值,注意参数值为全小写,且参数值前后不能输入空格,参数错误将导致命令执行失败。

    • mountparam:挂载参数。

      无特殊业务场景,默认不配置该参数。各参数具体含义,请参见参数说明

    选择实例

    选择实例

    选中一台或多台目标ECS实例。

    若实例过多,您可以在搜索框内输入实例ID、实例名称或标签等,并过滤云助手客户端的状态。

  6. 单击执行

查询命令执行结果

在执行挂载、卸载或查询操作后,您可以通过云助手批量查询操作结果。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择运维与监控 > 云助手

  3. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  4. 命令执行结果页签的搜索框中,选择命令名称并输入待查询命令名称,然后单击查询图标图标。

    • 挂载:ACS-NAS-ClickMount-Mount-Linux-NFS.sh

    • 卸载:ACS-NAS-ClickMount-Unmount-Linux-NFS.sh

    • 查询:ACS-NAS-ClickMount-Check-Linux-NFS.sh

  5. 在命令执行结果列表中,找到目标命令名称,单击操作列的查看

  6. 执行详情面板,单击目标实例名称前的批量图标001图标,查看命令结果详情。

    如果命令执行结果中有报错,请您分析错误原因并修正,修正后再次尝试执行该命令。错误信息及说明,请参见错误信息

  7. 查询完成后,单击关闭

错误信息

您可以根据命令执行结果中的ErrorCode查询下表中的说明。

ErrorCode

ErrorMsg

SystemNoPermission

操作系统执行权限不足,需要使用root权限。

SystemMissingMounts

操作系统缺少挂载信息文件/proc/self/mounts

SystemMissingFstab

操作系统缺少自动挂载配置文件/etc/fstab

SystemBashOutdated

操作系统的Bash版本太旧,请升级到4.0或更高版本。

BadInputMountTarget

输入的挂载点参数错误,请使用以.nas.aliyuncs.com结尾的挂载点。

BadInputLocalPath

输入的挂载路径参数错误,请使用以/开头的Linux绝对路径。

BadInputRemotePath

输入的NAS目录参数错误,请使用以/开头的绝对路径。

BadInputProtocol

输入的协议类型参数错误,请使用NFSv3NFSv4.0

BadInputAutoMount

输入的自动挂载参数错误,请使用truefalse

BadInputForceUnmount

输入的强制卸载参数错误,请使用truefalse

NasClientNfsInstallFail

NFS客户端安装失败,请手动安装。

LocalPathCreateFail

挂载路径创建失败,请手动创建。

LocalPathAlreadyMounted

挂载路径已经挂载到其他NAS挂载点,请选择其他路径。

LocalPathNonEmpty

挂载路径目录非空,请选择其他路径。

LocalPathNotOnMountTarget

挂载路径没有挂载到此NAS挂载点,请从正确的NAS挂载点发起操作。

LocalPathMultipleMounts

挂载路径被重复挂载了多次,请确认后强制卸载。

LocalPathAncestorMounted

挂载路径的父目录已被挂载,请选择其他路径。

LocalPathNonExistent

挂载路径不存在,请选择其他路径。

RemotePathCreateFail

NAS子目录创建失败,请选择NAS根目录挂载。

MountFailRemoteRoot

NAS根目录挂载失败。排查方法,请参见挂载文件系统失败故障排查

MountFailRemotePath

NAS子目录挂载失败,请选择NAS根目录挂载。

UnmountFailRemoteRoot

在挂载NAS子目录之前,卸载NAS根目录失败,请选择NAS根目录挂载。

UnmountFailLocalPath

NAS卸载失败,请停止相关应用后强制卸载。

UnmountFailRemoveAutoMount

取消NAS自动挂载配置失败。

相关操作

您通过云助手执行命令批量查询ECS实例或批量卸载文件系统。

操作

命令

说明

批量卸载

ACS-NAS-ClickMount-Unmount-Linux-NFS.sh

请您通过云助手执行命令,并将步骤5中的命令替换为卸载命令,创建批量卸载任务。

在执行卸载命令时,需配置如下参数:

  • mounttargetdomain:文件系统挂载点地址。

    您可以在NAS控制台目标文件系统的挂载点列表查看挂载点地址,例如****.nas.aliyuncs.com。具体操作,请参见查看挂载点地址

  • ecslocalpath:服务器上挂载NAS文件系统的本地路径。

    您可以在NAS控制台目标文件系统的挂载点列表单击挂载,在目标ECS实例的操作列,单击查询挂载详情,查看挂载路径。

  • cancelautomountonboot:取消自动挂载。取值:truefalse。

    当取值为true时,将修改ECS实例中的/etc/fstab文件。

  • forceunmount:强制卸载。取值:truefalse。

    强制卸载会执行umount -lf <挂载路径>,可能导致未落盘数据丢失并造成相关应用异常退出,建议您先在ECS上执行fuser -mv <挂载路径>命令,查看mount之外的相关应用。当确认无运行中的相关应用且无法正常卸载文件系统,可以使用强制卸载功能。强制卸载的风险,请参见强制卸载NAS文件系统有哪些风险?

批量查询

ACS-NAS-ClickMount-Check-Linux-NFS.sh

请您通过云助手执行命令,并将步骤5中的命令替换为查询命令,创建批量查询任务。

在执行查询命令时,需配置如下参数:

mounttargetdomain:挂载点地址。如果未配置此参数,查询结果将返回ECS实例挂载的所有NAS文件系统信息。

常见问题