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

适用场景

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

  • ECS实例和NAS挂载点在同一VPC中。
  • ECS实例和NAS挂载点均为经典网络类型,且已在NAS文件系统挂载点的权限组中为ECS实例授权。具体操作,请参见管理权限组
  • ECS实例所在VPC和NAS挂载点所在VPC已打通,且已在NAS文件系统挂载点的权限组中为ECS实例授权。更多信息,请参见创建云企业网实例加载网络实例

使用限制

  • 操作系统

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

  • 实例及工具状态
    • 仅支持状态为“运行中”的ECS实例。如果ECS实例状态为“启动中”、“停机”等状态,请您先修复实例状态。
    • 云助手为正常状态。
  • ECS限制

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

操作步骤

  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:当前服务器上待挂载的本地路径。

      必须是以/开头的绝对路径。

    • 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图标,查看命令结果详情。
    批量004如果命令执行结果中有报错,请您分析错误原因并修正,修正后再次尝试执行该命令。错误信息及说明,请参见错误信息
  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中的命令替换为卸载命令,创建批量卸载任务。
在执行卸载命令时,需配置如下参数:
  • CancelAutoMountOnBoot:取消自动挂载。取值:true或false。

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

  • ForceUnmount:强制卸载。取值:true或false。

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

批量查询 ACS-NAS-ClickMount-Check-Linux-NFS.sh 请您通过云助手执行命令,并将步骤5中的命令替换为查询命令,创建批量查询任务。

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

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

常见问题