NFS(Network File System)网络文件系统
NFS(Network File System)是一种基于TCP/IP传输的网络文件系统协议,是由SUN公司研制的UNIX表示层协议(presentation layer protocol),其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。
- 特点:
- 1.提供透明文件访问以及文件传输
- 2.容易扩充新的资源或软件,不需要改变现有的耕作环境
- 3.高性能,可灵活配置
- NFS
- 依赖于RPC(远端过程调用)
- 需安装 nfs-utils、rpcbind 软件包
- 系统服务:nfs、rpcbind
- 共享配置文件:/etc/exports
使用一个磁盘通过nfs共享,供多个主机使用
NFS 工作原理
NFS的工作原理是使用C/S架构,由一个客户端程序和服务器程序组成。客户端和服务器之间通过RPC(远程过程调用)机制进行存储共享,RPC充当NFS服务器和客户端的中介,以完成从远程到本地的映射过程,提供RPC支持的服务为 rpcbind ,提供nfs共享的服务为nfs-server,CentOS7 中需要安装nfs-util和rpcbind软件包来提供NFS共享服务,前者用于NFS 共享发布和访问,后者用于支持RPC远程过程调用支持。
NFS传输协议用于服务器和客户端之间文件访问和共享的通信,从而使客户端远程地访问保存在存储设备上的数据,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,使得每个计算机的节点能够像使用本地资源一样方便地使用网上资源。换言之,NFS可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。
NFS 配置
- NFS 配置文件:/etc/exports
- 设置NFS共享共享存储服务
- 首先关闭防火墙和核心防护
- 需要先开启 rpcbind 服务,在开启nfs服务
- NFS配置文件格式
- 共享存储目录 允许访问共享存储目录的IP或网段/子网掩码(选项)
- 例:/data 192.168.60.0/24(rw,sync.no_root_squash)
- 常用选项:
-
rw:表示允许读写
-
ro:表示只读模式
-
sync:表示数据同步写入到内存与硬盘中
-
no_root_squash:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)
-
root_squash:表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户
-
async:将数据线保存在内存换乘区中,必要时才写入磁盘
-
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检测其父目录的权限
-
no_subtree_check:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
-
all_squash:所有访问用户都映射为匿名用户或用户组
-
anonuid=xxx:指定NFS服务器/etc/passwd 文件中匿名用户的UID
-
anongid=xxx:指定NFS服务器/etc/group 文件中匿名用户的GID
-
- rpcbind 端口号默认为:111
- nfs 端口号默认为:2049
配置实例
然后进入/etc/exports配置文件编辑
挂载目录/opt/gxwj 允许192.168.60.0/24网段的所有主机共
showmount -e 可以查看当前nfs共享的目录
除了重启服务之外还可以在线发布自己的共享目录不需要重启服务
showmount -e 可以查看当前nfs服务共享的存储文件
在客户端 showmount -e <服务器IP地址> 可以查看服务器的共享存储文件
然后切换到客户机挂载一下