最近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