如何在Linux中挂载NFS共享

网络文件系统(NFS)是一种分布式文件系统协议,可让您通过网络共享远程目录。使用NFS,您可以在系统上挂载远程目录,并像对待本地文件一样使用远程文件

5 min read
By myfreax
如何在Linux中挂载NFS共享

网络文件系统NFS是一种分布式文件系统协议,可让您通过网络共享远程目录。使用NFS,您可以在系统上挂载远程目录,并像对待本地文件一样使用远程文件。

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

要在Linux系统上挂载NFS共享,您首先需要安装NFS客户端。客户端包名称在Linux发行版之间有所不同。

你可使用命令sudo apt install nfs-common在Ubuntu和Debian上安装NFS客户端。

在CentOS和RedHat或者Fedora的Linux发行版上你可使用命令sudo yum install nfs-utils安装NFS客户端

手动挂载NFS文件系统

挂载远程NFS共享与挂载常见文件系统一样。要在指定的挂载点上挂载NFS文件系统,请使用mount [OPTION...] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT格式的mount命令。

NFS_SERVER是NFS服务器的地址。EXPORTED_DIRECTORY是NFS导出的目录。最后是挂载点MOUNT_POINT,挂载点是本地计算机上要挂载NFS共享的目录。

在Linux系统上手动挂载远程NFS共享。首先,创建一个目录作为远程NFS共享的挂载点,在教程中我们将创建挂载点/var/backups使用命令sudo mkdir /var/backups

以下是一个挂载NFS共享的示例,在运行mount时,需要以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。要验证远程NFS是否已成功挂载,请使用mountdf -h命令

一旦挂载了共享,挂载点即成为已安装文件系统的目录。当您手动挂载共享时,重新启动后NFS共享需要重新挂载。

使用/etc/fstab配置自动挂载

通常,您需要在系统启动时自动挂载远程NFS目录。/etc/fstab文件包含一个挂载点列表,这些条目定义在系统启动时将在何处以及如何挂载文件系统。

要在Linux系统启动时自动挂载NFS共享,请在/etc/fstab文件中添加一行。该行必须包含NFS服务器的主机名或IP地址,nfs共享目录以及本地计算机上的挂载点。

首先创建NFS共享的挂载点在本地计算机上,使用sudo mkdir /var/backups命令。然后使用喜欢的文本编辑器打开/etc/fstab文件。

在本教程中,我们将使用vim编辑器打开文件/etc/fstab。打开/etc/fstab命令是sudo vim /etc/fstab。在文件中添加以下行:

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

其中10.10.0.10是NFS服务器IP地址,/backup是nfs共享目录,/var/backups是本地挂载点。编辑完成后,退出vim编辑器,然后你只需运行mount命令即可挂载NFS共享。

mount命令将读取/etc/fstab的内容并安装共享。下次重新引导系统时,将自动挂载NFS共享。

卸载NFS共享文件系统

umount命令从目录树中卸载已挂载的文件系统。要卸载已挂载的NFS共享,请使用umount命令,后跟已挂载的目录或远程共享目录。

例如在我们的示例中你可以使用命令umount 10.10.0.10:/backupsumount /var/backups卸载文件系统。

如果/etc/fstab文件中配置了自动挂载nfs共享目录,请将其删除。

如果你在卸载NFS共享时,遇到文件系统繁忙或者其它进程访问着NFS共享。你可能需要找出哪些进程正在访问NFS共享。

fuser可帮助找到正在访问NFS共享的目录的进程。你可使用命令fuser -m MOUNT_POINT找到访问指定挂载点的进程,MOUNT_POINT是挂载点,

在本教程示例挂载点是/var/backups ,则fuser查找进程的命令是fuser -m /var/backups。找到进程后,可以使用kill命令将其终止,然后卸载NFS共享。

如果仍然存在卸载的问题,请使用-l/--lazy选项,该选项可让您在文件系统不再繁忙后立即将其卸载。

如果无法访问远程NFS共享,请使用-f/--force选项强制卸载。通常,使用强制选项不是一个好主意,因为它可能会损坏文件系统上的数据。

结论

我们已向您展示了如何安装和卸载远程NFS共享。相同的命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint。如有任何疑问,请随时发表评论。