NFS介绍
NFS就是 network file system 的缩写,他的主要功能就是通过网络让不同的机器系统之间可以彼此共享文件或目录,NFS服务器可以允许客户端江远端的NFS服务器端的共享目录挂载到本地的NFS客户端中,在本地NFS客户端的机器看来,NFS服务端共享的目录就好像是自己的磁盘分区一样。
NFS一般用来存储共享视频,图片等静态数据,是当前互联网架构中最常用的服务之一
NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。
- nfs-utils-* :包括基本的NFS命令与监控程序
- portmap-* :支持安全NFS RPC服务的连接
1、查看系统是否已安装NFS
系统默认已安装了nfs-utils portmap 两个软件包。
有的版本 已经没有 portmap 变为 rpcbind
如果没有的话 可以通过 yum 安装
1、启动NFS服务器
为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。
service portmap start
service rpcbind start
可以通过 service portmap status 来查看是否运行
配置NFS 文件路径为 /etc/exports
配置文件格式为
<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
例如 /dir 192.168.100.0/24(rw,sync) 其中参数为
用户映射选项
- all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
- no_all_squash:与all_squash取反(默认设置);
- root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
- no_root_squash:与rootsquash取反;
- anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
- anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
- secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
- insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
- sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
- async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
- wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
- no_wdelay:若有写操作则立即执行,应与sync配合使用;
- subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
- no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
客户端机器进行挂载共享目录
showmount -e 192.168.100.0 查看 服务端的共享目录
挂载本地目录与 服务端
mount -t nfs 192.168.100.0:/dir /localhost
成功以后就可以看到 信息共享了
umount /localhost 可以进行撤销挂载目录