Ubuntu下配置NFS

62次阅读

共计 1553 个字符,预计需要花费 4 分钟才能阅读完成。

什么是 NFS
NFS(Network FileSystem)即网络文件系统,是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样。
NFS 组成
NFS 有一个服务端和若干个客户端组成
NFS 作用

可以将一些文件放到远程,节省本地存储空间
在其他服务器上也能访问相同的文件,可解决负载均衡中,文件同步问题
文件便于集中管理,备份

服务端安装及配置
// 安装服务端
sudo apt install nfs-kernel-server
// 修改配置
sudo vi /etc/exports
// 重启
sudo service nfs-kernel-server restart
配置说明
// ip 不限
/var/data *(rw,sync,no_root_squash)
// 目录 ip(权限) ip(权限)
/var/data 127.0.0(rw,sync,no_root_squash) 127.0.0(rw,sync,no_root_squash)
rw 可读写的权限 ro 只读的权限 no_root_squash 登入 NFS 主机,使用该共享目录时相当于该目录的拥有者,如果是 root 的话,那么对于这个共享的目录来说,他就具有 root 的权限,这个参数『极不安全』,不建议使用 all_squash 不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是 nobodyanonuid 可以自行设定这个 UID 的值,这个 UID 必需要存在于你的 /etc/passwd 当中 anongid 同 anonuid,但是变成 groupID 就是了 sync 资料同步写入到内存与硬盘当中 async 资料会先暂存于内存当中,而非直接写入硬盘 insecure 允许从这台机器过来的非授权访问
配置生效,无需重启
sudo exportfs -rv
exportfs 命令常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录
showmount
// 显示 NFS 服务器上所有的共享目录
showmount -e
// 仅显示已被 NFS 客户端加载的目录
showmount -a
原文地址 https://www.unix.com/man-page…
固定 mountd 端口
系统 RPC 服务在 nfs 服务启动时默认会为 mountd 动态选取一个随机端口(32768–65535)来进行通讯,我们可以通过编辑 /etc/services 文件为 mountd 指定一个固定端口
# vi /etc/services
在末尾添加 mountd 端口号 /udpmountd 端口号 /tcp
NFS 的守护进程
rpc.nfsd:它是基本的 NFS 守护进程,主要功能是管理客户端是否能够登录服务器
rpc.mountd:它是 RPC 安装守护进程,主要功能是管理 NFS 的文件系统。当客户端顺利通过 rpc.nfsd 登录 NFS 服务后,在使用 NFS 服务所提供的文凭前,还必须通过文件使用权限的验证。它会读取 NFS 的配置文件 /etc/exports 来对比客户端权限。
portmap:portmap 的主要功能是进行端口映射工作。当客户端尝试连接并使用 RPC 服务器提供的服务(如 NFS 服务)时,portmap 会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
查看 rpc 进程
rpcinfo -p
防火墙配置
阿里云有虚拟防火墙,需要配置安全组,如图
客户端配置
安装
apt-get install nfs-common
挂载
showmount -e 服务端 ip
// 查看服务端共享目录,若超时了,可能防火墙有问题,需要开放相应端口
mount -t nfs 服务端 ip: 共享目录 挂载目录
挂载命令详细说明
查看所有挂载
df -h

正文完
 0