NFS网络文件系统是一种分布式文件系统协议,使您可以通过网络共享远程目录。
使用NFS,您可以在系统上挂载远程计算机目录,并像对待本地文件一样使用远程计算机文件。
NFS协议是未加密的协议,并且与Samba不同,它不提供用户身份验证。使用客户端IP地址或主机名来限制客户端对服务器的访问。
在本教程中,我们将介绍如何在Linux安装 NFS客户端。要在Linux系统挂载NFS共享目录,您首先需要安装NFS客户端。客户端包名称在Linux发行版之间有所不同。
安装NFS客户端
在客户端计算机,我们仅需要安装挂载远程NFS文件系统所需的软件工具。
如果你的计算机运行的是基于Debian的Linux发行版,例如Ubuntu,Linux mint。请运行命令sudo apt update && sudo apt install nfs-common
安装NFS文件系统挂载软件。
如果你的计算机运行的是基于RedHat的Linux发行版,例如CentOS,Fedora。请运行命令sudo yum install nfs-utils
安装NFS文件系统挂载软件。
sudo apt update && sudo apt install nfs-common
sudo yum install nfs-utils
挂载 NFS文件系统
挂载远程NFS共享与挂载常见文件系统一样。要挂载NFS文件系统,请使用mount
命令mount [OPTION...] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT
。
NFS_SERVER
是NFS服务器的地址。EXPORTED_DIRECTORY
是NFS导出的目录。最后是挂载点MOUNT_POINT
,挂载点是本地计算机的目录。
在Linux系统挂载NFS共享目录。首先,创建一个目录作为NFS共享目录的挂载点,在教程中我们将创建挂载点/var/backups
运行命令sudo mkdir /var/backups
。
要本地计算机挂载NFS共享目录,你需要以root或具有sudo权限的用户登录。
sudo mount -t nfs 10.10.0.10:/backups /var/backups
命令将会挂载NFS共享目录/backups
,挂载点是/var/backups
。成功时,不会产生任何输出。
sudo mkdir /var/backups
sudo mount -t nfs 10.10.0.10:/backups /var/backups
如果要指定其他挂载参数,请使用-o
选项指定多个参数,多个参数之间使用逗号分隔。
如果需要获取所有的挂载参数,请在终端运行命令man mount
。要验证NFS共享目录是否已成功挂载,请运行mount
或df -h
命令。
当NFS共享目录挂载成功后,挂载点就会成为本地文件系统的目录。此种方式的挂载NFS文件系统时,重新启动本地计算机后你需要再次运行mount命令重新挂载。
df -h
自动挂载NFS文件系统
通常,您需要在本地计算机启动时自动挂载远程NFS共享目录。/etc/fstab
文件包含一个挂载点列表,这些条目定义在系统启动时将在何处以及如何挂载文件系统。
要在Linux系统启动时自动挂载NFS共享,请在/etc/fstab
文件中添加一行。该行必须包含NFS服务器的主机名或IP地址,NFS共享目录以及本地计算机的挂载点。
首先在本地计算机创建NFS共享目录的挂载点,运行命令sudo mkdir /var/backups
。
然后使用喜欢的文本编辑器打开/etc/fstab
文件。在本教程中,我们将使用vim编辑器打开文件/etc/fstab
。
10.10.0.10
是NFS服务器IP地址,/backup
是NFS共享目录,/var/backups
是本地挂载点。
编辑完成后,保存文件并退出vim编辑器。然后你只需运行mount
命令即可挂载NFS文件系统。
mount
命令将读取/etc/fstab
文件的记录并挂载未挂载的记录。下次重新引导系统时,将会自动挂载NFS共享目录。
sudo mkdir /var/backups
sudo vim /etc/fstab
sudo mount
卸载NFS共享文件系统
umount
命令从目录树中卸载已挂载的文件系统。要卸载已挂载的NFS共享,请使用umount
命令,后跟已挂载的目录或NFS共享目录。
如果/etc/fstab
文件中配置自动挂载NFS共享目录,请将其删除或者在该行的开头添加#
注释掉。
例如本教程示例,可以运行命令umount 10.10.0.10:/backups
和umount /var/backups
卸载NFS文件系统。
umount 10.10.0.10:/backups
umount /var/backups
如果你在卸载NFS共享时,遇到文件系统繁忙或者其它进程访问着NFS共享。你可能需要找到哪些进程正在访问NFS共享。
命令fuser -m MOUNT_POINT
可帮助找我们到正在访问NFS共享目录的进程,MOUNT_POINT
是挂载点。
在本教程示例挂载点是/var/backups
,则fuser查找进程的命令是fuser -m /var/backups
。
fuser -m /var/backups
找到正在访问NFS共享目录的进程后,可以使用kill
命令将其终止,然后卸载NFS共享。
如果仍然存在卸载的问题,请使用umount命令的-l
/--lazy
选项,该选项可让您在文件系统不再繁忙后立即将其卸载。
如果无法访问远程NFS共享,请使用-f
/--force
选项强制卸载。通常,使用强制选项不是一个好主意,因为它可能会损坏文件系统的数据。
结论
我们已向您展示如何挂载和卸载远程NFS共享。相同的命令适用于任何Linux发行版,包括Ubuntu,CentOS,RHEL,Debian和Linux Mint。如有任何疑问,请随时发表评论。