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
/etc/fstab 自动挂载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
# <file system> <dir> <type> <options> <dump> <pass>
10.10.0.10:/backups /var/backups nfs defaults 0 0
/etc/fstab
卸载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选项强制卸载。通常,使用强制选项不是一个好主意,因为它可能会损坏文件系统的数据。