如果您的业务场景需要多台ECS实例共享同一NAS NFS协议文件系统中的数据,您可以通过云助手仅执行一次操作,实现多台ECS实例批量挂载同一NAS NFS协议文件系统。
前提条件
已创建文件系统。具体操作,请参见创建文件系统。
网络环境
当您的业务的网络符合或包含部分如下场景,您可以通过控制台实现批量挂载文件系统。
- ECS实例和NAS挂载点在同一VPC中。 
- ECS实例和NAS挂载点均为经典网络类型,且已在NAS文件系统挂载点的权限组中为ECS实例授权。具体操作,请参见管理权限组。 
- ECS实例所在VPC和NAS挂载点所在VPC已打通,且已在NAS文件系统挂载点的权限组中为ECS实例授权。更多信息,请参见通过云企业网实现同地域跨VPC挂载NAS。 
使用限制
- 操作系统仅支持ECS Linux操作系统。其中,CoreOS、FreeBSD和Fedora-CoreOS版本不支持使用控制台一键挂载功能。如果您使用Red Hat版本,在挂载前需要通过rpm包管理方式安装云助手客户端。具体操作,请参见Linux系统安装步骤。 
- 实例及工具状态 - 仅支持状态为“运行中”的ECS实例。如果ECS实例状态为“启动中”、“停机”等状态,请您先修复实例状态。 
- 云助手为正常状态。 
 
- ECS限制 - ECS实例必须和NAS文件系统在同一地域内,云助手不支持对不同地域的ECS实例执行挂载操作。 
- 文件系统 - 仅支持NFS协议文件系统。 
操作步骤
- 登录ECS管理控制台。 
- 在左侧导航栏,选择。 
- 在页面左侧顶部,选择目标资源所在的资源组和地域。   
- 在公共命令页签,搜索挂载命令名称 - ACS-NAS-ClickMount-Mount-Linux-NFS.sh,然后单击执行。
- 在执行命令面板,配置命令信息执行参数并选中待挂载的ECS实例。 - 名称 - 描述 - 命令内容 - 单击查看命令内容确认命令内容。 - 执行计划 - 选择命令执行计划。 - 立即执行:系统立即执行命令。 
- 系统下一次启动后:实例下次启动时执行命令。 
- 系统每次启动后:实例每次启动时执行命令。 
- 仅预检:预检此次请求,命令内容不会实际生效,检查项包括请求参数、实例执行环境、云助手Agent运行状态等。 
- 定时执行:系统在设置的时间间隔或者时间点执行命令。定时执行包括以下几种方式: - 固定时间间隔执行:基于Rate表达式,按照设置的时间间隔执行命令。时间间隔支持按秒、分钟、小时和天来选择,适用于在固定时间间隔执行任务的场景。 说明- 固定时间间隔执行有以下限制条件: - 设置的时间间隔不大于7天、不小于60秒,且需大于定时任务的超时时间。 
- 执行间隔只基于固定频率,与任务实际执行需要的时间无关。例如设置每5分钟执行一次命令,任务需要2分钟执行完成,则在任务完成3分钟后继续执行下一轮。 
- 创建任务时不会立即执行。例如设置每5分钟执行一次命令,创建任务时不会立即执行一次命令,而是在任务创建完成后的5分钟后开始执行。 
 
- 仅在指定时间执行一次:按照设置的时区和执行时间点执行一次命令。 - 例如设置执行时间为2022-05-17 17:30:50,时区为(GMT+8:00) Asia/Shanghai,即表示系统会在中国/上海时间,2022年05月17日17点30分50秒执行一次命令。 
- 基于时钟定时执行:基于Cron表达式,按照设置的定时任务执行命令。重复频率可精确到秒、分钟、小时、日期、月份、星期、年份,在指定的时区下,根据Cron表达式推算定时任务执行时间并执行。配置灵活,适用于较复杂的定时任务执行场景。关于Cron表达式的更多信息,请参见Cron表达式。 说明- 设置的最小时间间隔需大于或等于定时任务的超时时间,且不小于10 秒。 - 例如设置重复频率为0 0 12 ? * WED 2022,时区为(GMT+8:00) Asia/Shanghai,即表示系统会在中国/上海时间,2022年每个星期三中午12:00执行命令。 
 
 - 执行路径 - 命令的执行路径。 - 执行用户 - 在ECS实例中执行命令的用户名。 - 使用最小权限执行命令是权限管理的最佳实践,建议您以普通用户身份执行云助手命令。更多信息,请参见设置普通用户执行云助手命令。 - 默认情况下,在Linux实例中以root用户执行命令,在Windows实例中以System用户执行命令。 - 超时时间 - 设置命令在实例中执行的超时时间,当执行命令的任务超时后,云助手将强制终止任务进程。 - 单位为秒,默认为您创建命令时设置的超时时间。 说明- 该值仅作为该次命令执行的超时时间,不会改变命令本身设置的超时时间。 - 标签 - 设置命令执行的标签键和标签值,方便后续分类管理维护。 - 任务终止模式 - 手动停止或执行超时打断任务时的模式。 - 脚本进程:停止任务时会终止脚本进程。 
- 进程树:停止任务时会终止进程树(脚本进程以及它创建的所有子进程的集合)。 
 - 引导程序 - 脚本执行的引导程序。 - 命令参数 - 在命令参数处的文本框内,填写命令中自定义参数的取值。 - MountTargetDomain:文件系统挂载点地址。 - 您可以在NAS控制台目标文件系统的挂载点列表查看挂载点地址,例如 - ****.nas.aliyuncs.com。具体操作,请参见管理挂载点。
- EcsLocalPath:当前服务器上待挂载NAS文件系统的本地路径。 - 必须是以/开头的绝对路径(例如:/mnt)且是空目录。 
- NasRemotePath:NAS文件系统的目录。 - 您可以配置为NAS的根目录(/)或任意子目录(例如:/abc)。 
- ProtocolType:选择文件系统协议类型。 - 通用型NAS:NFSv3和NFSv4.0 
- 极速型NAS:NFSv3 
 重要- 请您正确输入参数值,注意大小写且参数值前后不能输入空格,参数错误将导致命令执行失败。 
- AutoMountOnBoot:是否开启开机自动挂载文件系统。 - 取值:true或false。开启开机自动挂载后,当您重启ECS实例时,无需重复挂载操作。 重要- 请您正确输入参数值,注意参数值为全小写,且参数值前后不能输入空格,参数错误将导致命令执行失败。 
- MountParam:挂载参数。 - 无特殊业务场景,默认不配置该参数。各参数具体含义,请参见挂载NFS协议文件系统。 
 - 选择实例 - 选中一台或多台目标ECS实例, - 若实例过多,您可以在搜索框内输入实例ID、实例名称或标签等,并过滤云助手客户端的状态。 
- 单击执行。 
查询命令执行结果
在执行挂载、卸载或查询操作后,您可以通过云助手批量查询操作结果。
- 登录ECS管理控制台。 
- 在左侧导航栏,选择。 
- 在页面左侧顶部,选择目标资源所在的资源组和地域。   
- 在命令执行结果页签的搜索框中,选择命令名称并输入待查询命令名称,然后单击  图标。 图标。- 挂载: - ACS-NAS-ClickMount-Mount-Linux-NFS.sh
- 卸载: - ACS-NAS-ClickMount-Unmount-Linux-NFS.sh
- 查询: - ACS-NAS-ClickMount-Check-Linux-NFS.sh
 
- 在命令执行结果列表中,找到目标命令名称,单击操作列的查看。 
- 在命令执行详情面板下的实例列表页签,单击目标实例名称前的  图标,查看命令结果详情。 图标,查看命令结果详情。- 如果命令执行结果中有报错,请您分析错误原因并修正,修正后再次尝试执行该命令。错误信息及说明,请参见错误信息。 
- 查询完成后,单击关闭。 
错误信息
您可以根据命令执行结果中的ErrorCode查询下表中的说明。
| ErrorCode | ErrorMsg | 
| SystemNoPermission | 操作系统执行权限不足,需要使用root权限。 | 
| SystemMissingMounts | 操作系统缺少挂载信息文件/proc/self/mounts。 | 
| SystemMissingFstab | 操作系统缺少自动挂载配置文件/etc/fstab。 | 
| SystemBashOutdated | 操作系统的Bash版本太旧,请升级到4.0或更高版本。 | 
| BadInputMountTarget | 输入的挂载点参数错误,请使用以 | 
| BadInputLocalPath | 输入的挂载路径参数错误,请使用以 | 
| BadInputRemotePath | 输入的NAS目录参数错误,请使用以 | 
| BadInputProtocol | 输入的协议类型参数错误,请使用 | 
| BadInputAutoMount | 输入的自动挂载参数错误,请使用 | 
| BadInputForceUnmount | 输入的强制卸载参数错误,请使用 | 
| 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实例或批量卸载文件系统。
| 操作 | 命令 | 说明 | 
| 批量卸载 | 
 | 请您通过云助手执行命令,并将步骤5中的命令替换为卸载命令,创建批量卸载任务。 在执行卸载命令时,需配置如下参数: 
 | 
| 批量查询 | ACS-NAS-ClickMount-Check-Linux-NFS.sh | 请您通过云助手执行命令,并将步骤5中的命令替换为查询命令,创建批量查询任务。 在执行查询命令时,需配置如下参数: mounttargetdomain:挂载点地址。如果未配置此参数,查询结果将返回ECS实例挂载的所有NAS文件系统信息。 |