首页 > 代码库 > NFS详解
NFS详解
NFS: Network File System
NFS:协议,类Unix系统,文件系统(内核)
SUN:
NFSv1
NFSv2
NFSv3
NFSv4
RPC:远程过程调用
2049/tcp
2049/udp
NIS: Network Information Service
NIS+
Kerberos
RPC: portmapper
监听
111/tcp
111/udp
各基于RPC提供的进程,在启动时要向rpc注册监听在某端口上,rpc会从各未使用的端口中
挑一个给此进程监听,即半随机机制:
NFS:
安装配置:
服务安装程序:nfs-utils
三个关键进程:
mountd:挂载守护进程,负责客户端来源认证的进程
nfsd:文件读写
idmapd:id映射进程
/etc/exports:
文件系统 客户端1(文件系统导出属性) 客户端2
客户端:
IP: 192.168.1.29
Hostname
Network
文件系统导出属性:
rw
async
sync
root_squash:压缩root用户,基于imap的、,将root通过网络访问
时转换为nfsnobody用户
no_root_squash:不压缩root用户
all_squash:压缩所有用户
anonuid,anongid:指定匿名用户
showmount
-e:在nfs客户端执行,探查某主机所导出的nfs文件系统,使用格式
"showmount -e Server_IP"
-d:在nfs服务器端执行,显示哪个导出的文件系统已经至少一个客户挂载使用了:
-a:在nfs服务器端显示所有的挂载会话:
exportfs:
-a:操作所有文件系统
-ra:重新导出所有文件系统
-ua:取消导入的所有文件系统
-v:显示详细信息
实验:
两测试服务器:
NFS服务器:192.168.1.28
NFS客户端:192.168.1.29
1、NFS服务器上创建共享目录/nfsshare
2、NFS服务器上编辑/etc/exports文件,配置共享的目录、网段和共享的属性等
3、重新启动nfs
4、NFS客户端探索NFS服务器端挂载的选项
5、NFS客户端创建挂载目录/mnt/nfs,并挂载使用
6、NFS客户端进入/mnt/nfs目录里,创建一个文件test.txt,提示无权限,如下图所示:
7、在NFS服务端,加入no_root_squash参数,不压缩root用户,并重启nfs,如下图所示:
8、在NFS客户端,创建test目录,提示正常
9、NFS服务端新建一个nfs的用户testuser,用户id为1000
10、NFS客户端新建一个nfs用户testuser,用户id为1000,从下图可以看到该用户对/nfsshare的文件的
操作正常,包括创建文件,复制文件等
11、NFS服务器上,使用exportfs命令重新加载nfs服务
修改/etc/exportfs文件,并使用exportfs重新导出
12、NFS客户端上,使用showmount -e 查看导出的/nfsshare
本文出自 “服务器运维” 博客,请务必保留此出处http://shamereedwine.blog.51cto.com/5476890/1943834
NFS详解