NFS(Network FileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它容许网络中的计算机之间经过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用能够透明地读写位于远端NFS服务器上的文件,就像访问本地文件同样。
NFS有一个服务端和若干个客户端组成linux
// 安装服务端 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的使用者身份为什么,他的身份都会被压缩成为匿名使用者,一般也就是nobody
anonuid 能够自行设定这个UID的值,这个UID必须要存在于你的/etc/passwd当中
anongid 同anonuid,可是变成groupID就是了
sync 资料同步写入到内存与硬盘当中
async 资料会先暂存于内存当中,而非直接写入硬盘
insecure 容许从这台机器过来的非受权访问安全
sudo exportfs -rv
exportfs命令
经常使用选项
-a 所有挂载或者所有卸载
-r 从新挂载
-u 卸载某一个目录
-v 显示共享目录服务器
// 显示NFS服务器上全部的共享目录 showmount -e // 仅显示已被NFS客户端加载的目录 showmount -a
原文地址 https://www.unix.com/man-page...网络
系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通信,咱们能够经过编辑/etc/services 文件为 mountd指定一个固定端口负载均衡
# vi /etc/services
在末尾添加
mountd 端口号/udp
mountd 端口号/tcpasync
rpc.nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否可以登陆服务器tcp
rpc.mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利经过rpc.nfsd登陆NFS服务后,在使用NFS服务所提供的文凭前,还必须经过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。ui
portmap:portmap的主要功能是进行端口映射工做。当客户端尝试链接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户能够经过该端口向服务器请求服务。阿里云
rpcinfo -p
阿里云有虚拟防火墙,须要配置安全组,如图spa
apt-get install nfs-common
showmount -e 服务端ip // 查看服务端共享目录,若超时了,可能防火墙有问题,须要开放相应端口 mount -t nfs 服务端ip:共享目录 挂载目录
挂载命令详细说明
df -h