NFS(network file system)
盗用同胞的原理图一张共大家参考
浅谈网络文件系统NFS_nfs
下面通过简单介绍下nfs的重要点。
 
Daemons(进程):nfs ,rpc.nount ,rpc.statd,lockd,rpm.quotad
scripts:nfs(nfsd,rpc.mountd,rpc.quotad);nfslock(rpc.statd,lockd)
ports(使用的端口):nfsd tcp&udp 2049 ,others semi-random(found through portmap[tcp&udp 111] )
/etc/exports //nfs的主配置文件
/etc/sysconfig/nfs   从配置文件
方便理解,我们用一个例子来阐释nfs的安装、配置及使用方法
假设nfs-server-ip:10.5.22.205
nfs-client-ip:10.5.10.11
nfs-server共享目录为/share
nfs-client挂载目录为/nfs
服务器端需要做的工作
 
1.安装nfs和portmap
  #yum install -y nfs-util portmap
 
2.编辑配置文件
 #vim /etc/exports // 默认是空
 /share 10.5.10.x/255.255.255.0(rw,sync)  //nfs服务器共享share目录,可供10.5.10.x/24访问,权限可同步写入
#exportfs //查看服务器端共享的文件及访问权限
#exportfs -rv  //使更改 /etc/exports后文件生效
#exportfs -a (export or unexport all directories)
          -v (be verbose) 
          -u (unexport one or more directories)
          -r (reexport all directories)
//这些选项通常都是组合使用
-av  导出所有
-au  不导出所有
-ar  重新导出所有
#showmount -a //罗列nfs-sever哪些目录被哪些nfs-client挂载使用
#showmount -d //只罗列nfs-server哪些目录被挂载使用
#service portmap start  (/etc/rc.d/init.d/portmap start)
#service nfs start  (/etc/rc.d/init.d/nfs start) 且启动顺序不能变,否则会出现如下错误。
3.客户端使用
#showmount -e 10.5.22.205 //查看nfs-server-ip 上共享的所有目录
#mount 10.5.22.205:/share /mnt  //挂载nfs-server下共享的/share目录到nfs-client的/mnt

4.若nfs-server-owner 的uid和nfs-client 的uid 相同则nfs-client-owner 拥有nfs-server-owner权限
使用集中认证可解决(集中认证方式有nis,ldap,kerberos)
 
5.客户端使用nfs-server共享文件方法:
①.写入/etc/fstab   格式如下:
nfs-server-ip:/share /nfs nfs defaults 0 0
②./etc/init.d/netfs 是个脚本
③.autofs
④.manual mount 手动挂载
为了方便iptables管理nfs服务,优先选择将rpc开放的半随机端口固定,格式如下:
#vim /etc/sysconfig/nfs
LOCKD_TCPPORT="4004"
LOCKD_UDPPORT="4004"
MOUNTD_PORT="4002"
STATD_PORT="4003"
RQUOTAD_PORT="4005"
STATD_OUTGOING_PORT="4006",上述端口可自定义但必须未被使用,如何确定某端口未被使用
#grep xxxx /etc/services
#rpcinfo -p 查看修改后的ports
#getsebool -a |grep nfs查看selinux中nfs各项的值
 
学习过程中遇见错误一只,如下图所示
浅谈网络文件系统NFS_文件系统nfs_02
原因是要先开启portmap 服务再开启nfs 服务
#service portmap start
#service nfs start
 
快乐学习,快乐分享。