最近nfs老出问题,顺带整理下关于nfs的配置管理和使用:

配置不过是现学现卖,知其然,知其所以然才能在出现问题时能有清晰的思路找到最佳解决方法。

1.相关原理:

NFS本身没有提供信息传输的协议和功能,他的网络共享是使用到了RPC协议的。可以说他是RPC的一个程序,只要用到NFS的地方都需启动PRC service,算伴随关系吧。不论是server端还是client端。server—client,通过RPC实现program port的对应.

分工:NFS-文件系统,RPC-负责文件信息的传输。

需启动的daemons:                               rpc.nfsd 主要复杂登陆权限检测等                            rpc.mountd   负责NFS的档案系统:当client通过rpc.nfsd登陆server后,对client端存储文件进行一系列的管理。

所需安装软件:nfs-utils(提供rpc.nfsd,rpc.mountd进程)     protmap可看作RPC server progarm, 启动rpc server progarm需做好port对应工作,由portmap来做port的mapping.

2.配置:

软件包:nfs-utils
进程:nfsd,lockd,rpciod,rpc.{mounted,rquotad,statd}
脚本:nfs,nfslock
端口:由portmap服务指派端口(111)
配置文件:/etc/exports
辅助工具:portmap(必须)
相关命令:rpcinfo -p [IPADD]:查看服务器提供的rpc服务
                  showmount -e:查看服务共享的目录

server端:

 1./etc/exports格式:
      例:共享/share目录给192.168.0.x的用户
           /share                192.168.0.0/24 (rw)  
192.168.0.x段的所有用戶对/share都有读写的权限

扩展: rw:读写 ro:只读

no_root_squash:登入到NFS主机的用户如果是root用户,他就拥有root权限,不建议使用。

anonuid:将登入的NFS主机用户都设定成指定的user id,此ID须存在于/etc/passwd中。

anongid:类似anonuid.

sync :资料同步写入存储器中。 async:资料暂时存放在内存中,不会直接写入硬盘。

insecure 允许从这台机器过来的非授权访问。


2.exportfs -a 将所有配置的更新

-a:全部mount或umount  /etc/exports 中的内容

-r: 重新mount  /etc/exports中分享出来的目录

-u: umount目录

-v: 在export时,将详细信息输出到屏幕上.

3.启动portmap服务:                                    
    service portmap start[restart]                     
4.启动NFS服务:
    service nfs start[restart]      

                   
Client端
1.启动portmap服务:                                    
    service portmap start[restart]                     
2.挂载服务器端的共享目录(假设服务器端192.168.0.1):   
    mount -t nfs 192.168.0.1:/share  /mnt/localshare   
3. 常用的命令
showmount
repcinfo
4. /etc/fstab开机加载
ip:/   /mnt/mis nfs4  intr