You need to enable JavaScript to run this app.
导航

挂载文件系统

最近更新时间2024.03.29 18:29:58

首次发布时间2022.03.18 11:09:48

本文以 CentOS 系统实例为例,介绍在 ECS 实例挂载文件系统的操作步骤。

前提条件

  • 已创建文件存储 NAS 服务,具体步骤,请参见创建文件系统
  • 已创建挂载点,具体步骤,请参见创建挂载点
  • 已创建与文件存储 NAS 服务相同 VPC 的 ECS 实例,具体步骤,请参见购买云服务器

    说明

    为了达到最优的性能体验,建议文件存储 NAS 与 ECS 实例在同一可用区。

注意事项

  • 为了获得最佳访问性能,建议您根据文件系统类型选择合适的 NFS 版本:
    • 文件系统 NAS 极速型:推荐 NFSv3 协议,不推荐使用 NFSv4.0 和 NFSv4.1 协议。
    • 文件系统 NAS 容量型:推荐 NFSv4.1 协议,不推荐使用 NFSv3 和 NFSv4.0 协议。

    注意

    • 文件系统 NAS 容量型目前处于邀测状态,如您需要使用,请联系客户经理。
    • 使用文件系统 NAS 容量型时,请不要使用 NFS V4.0 协议,否则可能会产生因内核问题导致的程序卡住等问题。如果您之前使用了 NFS V4.0 协议,请您尽快切换成 NFS V4.1 协议。
  • NFS v4.0支持文件锁(包括range lock),如果您需要使用多台 Linux 实例同时修改一个文件内容,您可以使用 NFS V4.0 协议。

手动挂载文件系统

  1. 登录需要挂载文件系统的 ECS 实例,具体步骤,请参见登录 ECS 实例

  2. 根据不同的操作系统,选择合适的命令安装 NFS 客户端。

    • CentOS、Redhat、Aliyun Linux 操作系统

      sudo yum install nfs-utils
      
    • Ubuntu 或 Debian 操作系统

      sudo apt-get update
      
      sudo apt-get install nfs-common
      
  3. 执行如下命令创建待挂载目标路径。

    mkdir <待挂载目标目录>
    

    本文中以 localdir 文件夹为例。

    mkdir /localdir
    
  4. 根据不同的协议版本,选择合适的命令挂载文件系统。
    您可以登录文件存储 NAS 控制台,在挂载点页面,查看并复制相应挂载命令。复制挂载命令后,您需要在命令末尾输入<挂载地址>,例如本文中的挂载地址为 /localdir,则您需要在命令末尾输入 /localdir

    注意

    请注意尽量避免将文件系统挂载到 /tmp 目录,在一些操作系统环境中,会有自动清理的机制,可能会导致文件丢失。

    • NFS V3
    mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <挂载点地址>:/<fsid> <待挂载目录>
    
    • NFS V4.0
    mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <挂载点地址>:/<fsid> <待挂载目录>
    

    NFS V3 示例命令如下。

    mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport cnbj4775009d****.13f24t16guqdc3n6nu4k5****.nas.ivolces.com:/enas-cnbj4775009d**** /localdir
    
  5. 执行如下命令查看已挂载的文件系统。

    mount -l
    

    返回信息如下,说明挂载成功。
    图片

    说明

    您也可以使用 df 命令查看该文件系统的容量信息。

自动挂载文件系统

您可以在 ECS 实例的文件中配置自动挂载 NAS 文件系统的命令,使 ECS 实例重启后能自动挂载文件系统,避免挂载信息丢失等问题。

自动挂载方法说明

  • /etc/fstab 配置文件中添加挂载命令:如果文件系统被删除或者配置的挂载命令错误导致挂载失败,安装某些操作系统的 ECS 实例可能会存在无法启动的风险。
  • /etc/rc.local 配置文件中添加挂载命令:如果文件系统被删除或者配置的挂载命令错误导致挂载失败,不会影响 ECS 实例的运行。

方法一:在 /etc/fstab 配置文件中添加挂载命令

说明

  • 如果您的操作系统为 CentOS 6.x 系统,请先执行以下命令,确保 netfs 服务开机自启动。

    chkconfig netfs on
    
  • 如果您的操作系统为 Ubuntu 系统,请先执行以下命令。

    [ ! -f /etc/rc.local ] && echo '#!/bin/bash' > /etc/rc.local; echo "mount -a -t nfs" >> /etc/rc.local; chmod +x /etc/rc.local
    

操作步骤

  1. /etc/fstab 配置文件中添加挂载命令。
    不同协议版本的挂载命令说明如下:

    • NFS V3
    <挂载点地址>:/<fsid> <待挂载目录>  nfs  vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
    
    • NFS V4.0
    <挂载点地址>:/<fsid> <待挂载目录> nfs  vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0
    

    NFS V3 示例命令如下:

    cngzed238dbe****.36tf82lmiyxog383g****rapk.enas.ivolces.com:/enas-cngzed238dbe**** /localdir nfs -o vers=3,nolock,proto=tcp,noresvport,_netdev 0 0
    
  2. 重启 ECS 实例之后,即可自动挂载文件系统。

    注意

    • 重启 ECS 实例前,请确保该文件系统能正确挂载;挂载失败可能会导致 ECS 实例无法启动。您可以使用 mount -a 命令来检查挂载命令是否正确。执行 mount -a 命令后,执行 df -h 查看,如果文件系统已经挂载成功,说明挂载命令正确;您可以重启 ECS 实例自动挂载文件系统。
    • 如果您的 ECS 实例因挂载失败导致无法启动,您可以在启动系统时进入"单用户模式",删除/etc/fstab 配置文件中的挂载命令后,再重启主机。

方法二:在 /etc/rc.local 配置文件中添加挂载命令

  1. 执行以下命令,为 /etc/rc.local 文件添加 x 权限。

    [ ! -f /etc/rc.local ] && echo '#!/bin/bash' > /etc/rc.local; chmod +x /etc/rc.local
    
  2. /etc/rc.local 文件末尾,添加需要执行的挂载命令。
    不同协议版本的挂载命令说明如下:

    • NFS V3
    mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <挂载点地址>:/<fsid> <待挂载目录>
    
    • NFS V4.0
    mount -t nfs -o vers=4,minorversion=0,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <挂载点地址>:/<fsid> <待挂载目录>
    

    NFS V3 示例命令如下:

    mount -t nfs -o vers=3,nolock,proto=tcp,noresvport cngzed238dbe5c00.36tf82lmiyxog383g****rapk.enas.ivolces.com:/enas-cngzed238dbe**** /localdir
    
  3. 重启 ECS 实例之后,即可自动挂载文件系统。