网络文件系统(英语:Network File System,缩写为NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。
NFS和其他许多协议一样,是基于开放网络运算远程过程调用(ONC RPC)协议之上的。它是一个开放、标准的RFC协议,任何人或组织都可以依据标准实现它。
安装
客户端和服务端都只需要安装 nfs-utils 包。
强烈建议在所有节点机上使用如 ntp 之类的时间同步守护进程以保持客户端/服务器之间的时间同步,如果各个节点上没有精确同步的时钟,NFS 可能产生非预期的延迟。建议采用网络时间协议守护进程并使用互联网上的高精度 NTP 服务器同步服务端和客户端的时钟。
服务端
NFS 需要查看 /etc/exports 文件中定义的共享(“导出”)列表。共享的对象可以是文件系统中的任意目录。出于安全考虑,建议指定一个 NFS 共享输出的根(目录),来限制用户的可用挂载点。下面的例子遵循此原则。
在 /etc/exports 中定义的任何 NFS 共享都关联到 NFS 根目录。本例中,NFS 根目录是 /srv/nfs4 ,将要共享的目录是 /mnt/music。
# mkdir -p /srv/nfs4/music /mnt/music
客户端可能会对 music 目录做写操作,因此必须开放读/写权限。
现在用 mount –bind 命令将实际的 music 目录挂载到 NFS 的共享根目录。
# mount --bind /mnt/music /srv/nfs4/music
为了让服务器重启后共享仍旧有效,增加绑定到 fstab 文件:
/etc/fstab
/mnt/music /srv/nfs4/music none bind 0 0
增加允许被挂载的目录和主机到exports:
/etc/exports
/srv/nfs4/ 192.168.1.0/24(rw,fsid=root,no_subtree_check) /srv/nfs4/music 192.168.1.0/24(rw,no_subtree_check,nohide) # note the nohide option which is applied to mounted directories on the file system.
不必要对整个子网都开放共享,也可以仅指定单一 IP 地址或主机名。
如果服务运行时修改了 /etc/exports 文件, 你需要重新导出使其生效。
# exportfs -ra
开始运行服务
启用并运行 nfs-server.service 服务。对于较老的 V2 和 V3 版还要开启 rpcbind.service 服务。
/etc/conf.d/nfs-server.conf
NFSD_OPTS="-N 2 -N 3"
否则,必须开启 rpcbind.service 服务。
原创文章,作者:HGG,如若转载,请注明出处:http://www.178linux.com/84736