NFS文件系统常见挂载错误原因及其解决方案

更新时间:2025-03-25 03:48:35

本文将为您介绍在Alibaba Cloud Linux 2Alibaba Cloud Linux 3系统中挂载NFS文件系统时常见的错误原因及其解决方案。

mount.nfs: command not found

问题现象

  • 通过mount.nfs方式挂载NFS文件系统。

    <server_ip>需替换为对应实例的公网IP地址。

    sudo mount.nfs <server_ip>:/directory /mnt

    报错信息如下:

    -bash: mount.nfs: command not found
  • 通过mount -t nfs方式挂载NFS文件系统。

    <server_ip>需替换为对应实例的公网IP地址。

    sudo mount -t nfs <server_ip>:/directory /mnt

    报错信息如下:

    mount: /mnt: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.

问题原因

系统缺少nfs-utils包或者没有安装相关的rpcbind组件。

解决方案

  1. 执行以下命令,安装nfs-utils包和 rpcbind组件。

    sudo yum install -y nfs-utils rpcbind
  2. 查看nfs-utils包和 rpcbind组件安装是否成功。

    sudo yum list installed | grep nfs-utils

    结果如下图所示,表示组件安装成功。

    image

mount: /nfs/testdir: mount point does not exist

问题现象

执行以下命令,挂载NFS。

<server_ip>需替换为对应实例的公网IP地址

sudo mount -t nfs -o vers=3 <server_ip>:/export/fs/dir /nfs/testdir

报错信息为:

mount: /nfs/testdir: mount point does not exist.

问题原因

本地挂载点不存在。

解决方案

创建本地挂载点,本文以创建/nfs/testdir挂载点为例。

sudo mkdir -p /nfs/testdir

挂载后读写文件提示权限不足“Operation not permitted”

说明

该问题仅在NFSv4及以上版本可能发生,NFSv3不会出现类似问题。

问题现象

挂载NFS文件系统后,某子文件夹的目录所属用户为root。即使当前本地用户为root,依然无法在目录下新建文件,提示“Operation not permitted”。以通过NFS挂载的远程文件夹到本地文件夹/nfs/testdir为例。

  1. 执行以下命令,查看/nfs/testdir目录中的信息。

    cd /nfs/testdir && ls -lh

    返回信息如下所示:

    total 20K
    drwxr-xr-x 2 root root 4.0K Sep 5 13:08 subdir
    drwx------ 2 root root 16K Sep 5 13:07 lost+found
  2. 执行以下命令,进入子目录并创建文件。

    cd subdir && touch testfile

    报错信息如下所示:

    touch: cannot touch 'testfile': Permission denied

问题原因

远程的服务器端对应的文件夹未开启“no_root_squash”。注意到,subdir的所属用户和用户组都为root,但这里指代的是服务器端的root用户。在未开启这一配置项时,客户端的root用户会被映射为服务器端的一个匿名用户,因此在NFS共享目录上,root用户只能操作普通用户拥有权限的文件,无法进行一些需要超级权限的操作。配置了no_root_squash后,客户端的root用户就拥有了该共享目录的全部权限。

解决方案

  1. 执行以下命令,打开/etc/exports文件。

    sudo vim /etc/exports
  2. i键进入编辑模式,添加以下内容。

    /export/fs/vdc *(rw,no_subtree_check,no_root_squash)
  3. Esc键,输入:wq后按Enter键,保存文件并退出。

  4. 执行以下命令,在服务器端更新共享文件的配置。

    sudo exportfs -r
  • 本页导读 (1)
  • mount.nfs: command not found
  • 问题现象
  • 问题原因
  • 解决方案
  • mount: /nfs/testdir: mount point does not exist
  • 问题现象
  • 问题原因
  • 解决方案
  • 挂载后读写文件提示权限不足“Operation not permitted”
  • 问题现象
  • 问题原因
  • 解决方案