NFS:Network file system,网络文件系统
sun公司1984年推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom)
设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和操作系统无关的技术
NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使 用NFS的远端文件就象是在使用本地文件一样
FS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)
RPC(Remote Procedure call)
NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这 些传输协议用到这个RPC功能的。
NFS本身就是使用RPC的一个程序,或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC
服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS 是一个文件系统,而RPC是负责负责信息的传输。
nfs在系统中的后台守护进程: nfs
nfs服务需要启动的其他进程:
rpc.nfsd:接收从远程系统发来的NFS请求,并将这些请求转化为本地文件系统请求
rpc.mountd:执行被请求的文件系统的挂接和卸载操作
rpc.portmapper:将远程请求映射到正确的NFS守护程序
rpc.statd:在远程主机重启时,提供加锁服务
rpc.quotaed:提供硬盘容量的管理能力,磁盘限额
在伺服器上使用 rpcinfo -p | grep -iE "service|NFS" 命令,顯示伺服器上可使用的 NFS 版本
# rpcinfo -p | grep -iE "service|NFS"
表示伺服器可提供 NFS V3 和 NFS V4。
如果不需要krb5p,设置完就可以直接可以mount了
如果需要krb5p,在/etc/sysconfig/nfs文件中要设置
RPCNFSDARGS="-N 4"
-N 表示禁用,也可以是"-N 3"或者"-N 2",这是代表NFS版本,NFSv2,3,4,改完这个要将服务restart
这一项必须要填,不然client端会报错access错误,而server端不会有一点反应,连log中都不会出现报错!
CentOS 7 NFS设置
https://huataihuang.gitbooks.io/cloud-atlas/service/nfs/setup_nfs_on_centos7.html
鳥哥的 Linux 私房菜 -- NFS 伺服器
http://linux.vbird.org/linux_server/0330nfs.php
CentOS 7.x NFS Server 的防火牆設定
http://blog.ilc.edu.tw/blog/index.php?op=printView&articleId=682711&blogId=25793
CentOS 7 NFS服务器和客户端设置
http://blog.huatai.me/2014/10/14/CentOS-7-NFS-Server-and-Client-Setup/
Linux NFS参数配置
http://virues.iteye.com/blog/1345014
NFS各个版本之间的比较
https://blog.csdn.net/ycnian/article/details/8515517
系统管理指南:网络服务
https://docs.oracle.com/cd/E19253-01/819-7059/index.html
网络文件系统
https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_71/com.ibm.aix.performance/nfs_ovw.htm