如何在Linux中挂载NFS共享

评论 0 浏览 0 2019-08-23

网络文件系统(NFS)是一个分布式文件系统协议,允许你通过网络共享远程目录。通过NFS,你可以在你的系统上挂载远程目录,并像处理本地文件一样处理远程文件。

在Linux和UNIX操作系统中,你可以使用mount命令将一个共享的NFS目录挂载在本地目录树的一个特定挂载点上。

在本教程中,我们将向你展示如何在Linux机器上手动和自动挂载NFS共享。

安装NFS客户端软件包

要在Linux系统上挂载一个NFS共享,首先你需要安装NFS客户端软件包。该软件包的名称在不同的Linux发行版中是不同的。

  • 在Ubuntu和Debian上安装NFS客户机:

    sudo apt updatesudo apt install nfs-common
  • 在CentOS和Fedora上安装NFS客户机:

    sudo yum install nfs-utils

手动挂载NFS文件系统

挂载远程NFS共享与挂载普通的文件系统是一样的。

要在一个给定的挂载点上挂载一个NFS文件系统,请使用以下形式的mount命令:

mount [OPTION...] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT

使用下面的步骤,在你的Linux系统上手动挂载一个远程NFS共享:

  1. 首先,创建一个目录,作为远程NFS共享的挂载点:

    sudo mkdir /var/backups

    挂载点是本地机器上的一个目录,NFS共享将被挂载。

  2. 通过以root身份或具有sudo权限的用户运行以下命令来挂载NFS共享:

    sudo mount -t nfs 10.10.0.10:/backups /var/backups

    其中10.10.0.10是NFS服务器的IP地址,/backup是服务器正在导出的目录,/var/backups是本地的挂载点。

    如果成功,则不产生任何输出。

    如果您想指定额外的挂载选项,请使用-o选项。多个选项可以以逗号分隔的列表形式提供。要获得所有挂载选项的列表,请在你的终端输入man mount

  3. 要验证远程NFS卷是否被成功挂载,请使用mountdf -h命令。

一旦共享被挂载,挂载点就成为被挂载的文件系统的根目录。

当你手动挂载共享时,NFS共享的挂载在重启后并不持久。

/etc/fstab自动挂载NFS文件系统

一般来说,你会希望在系统启动时自动挂载远程NFS目录。

/etc/fstab文件包含一个条目列表,它定义了在系统启动时如何挂载文件系统以及挂载什么文件系统。

为了在你的Linux系统启动时自动挂载一个NFS共享,在/etc/fstab文件中添加一行。该行必须包括NFS服务器的主机名或IP地址、导出的目录以及本地机器上的挂载点。

使用下面的程序在Linux系统上自动挂载NFS共享:

  1. 为远程NFS共享设置一个挂载点:

    sudo mkdir /var/backups
  2. 用你的文本编辑器打开/etc/fstab号文件:

    sudo nano /etc/fstab

    将以下行添加到文件中:

    /etc/fstab
    # <file system>     <dir>       <type>   <options>   <dump>	<pass>
    10.10.0.10:/backups /var/backups  nfs      defaults    0       0

    其中,10.10.0.10是NFS服务器的IP地址,/backup是导出的目录,/var/backups是本地的挂载点。

  3. 以下列形式之一运行mount命令,以挂载NFS共享:

    mount /var/backups
    mount 10.10.0.10:/backups

    mount命令,将读取/etc/fstab的内容,并挂载到共享中。

    下次你重启系统时,NFS共享将被自动挂载。

解除对NFS文件系统的挂载

umount命令从目录树中分离(取消挂载)已挂载的文件系统。

要分离一个已挂载的NFS共享,请使用umount命令,后面跟上它被挂载的目录或远程共享:

umount 10.10.0.10:/backups
umount /var/backups

如果NFS挂载在fstab文件中有一个条目,请将其删除。

当挂载的卷正在使用时,umount命令将无法分离共享。要想知道哪些进程正在访问NFS共享,请使用fuser命令:

fuser -m MOUNT_POINT

一旦你找到了这些进程,你就可以用kill命令停止它们,并卸载NFS共享。

如果你在卸载共享时仍有问题,请使用 -l (--lazy) 选项,它允许你在一个繁忙的文件系统不再繁忙时立即卸载该系统。

umount -l MOUNT_POINT

如果远程NFS系统无法到达,使用-f (--force)选项来强制卸载。

umount -f MOUNT_POINT

使用 force 选项通常不是一个好主意,因为它可能会损坏文件系统上的数据。

总结

我们已经向你展示了如何挂载和卸载一个远程NFS共享。同样的命令适用于任何Linux发行版,包括Ubuntu, CentOS, RHEL, Debian和Linux Mint。

如果你有任何问题,请随时留言评论。

最后更新2023-06-02
0 个评论
标签