网站设计机构,郴州网站制作公司电话,做网站用php哪些知识点,wordpress手机版主题NFS概述 NFS(Network File System),即网络文件系统#xff0c;是一款通过网络方式共享文件系统的通用共享解决方案。NFS目前有三个版本#xff1a;NFSv2、NFSv3、NFSv4。CentOS7.0默认使用的版本是NFSv4提供网络文件系统的共享服务#xff0c;NFS监听在TCP 2049端口。 当两台… NFS概述 NFS(Network File System),即网络文件系统是一款通过网络方式共享文件系统的通用共享解决方案。NFS目前有三个版本NFSv2、NFSv3、NFSv4。CentOS7.0默认使用的版本是NFSv4提供网络文件系统的共享服务NFS监听在TCP 2049端口。 当两台计算机需要通过网络建立连接时双方需要通过IP、端口号等信息进行通信。当有100台客户端访问服务器时服务器就需要记住这些计算机的IP、端口号这些信息(实际上就是很多个socket文件)而这些信息需要程序来管理。在Linux中这样的信息可以由某个特定服务自己来管理也可以委托给RPC来帮助管理。RPC是远程过程调用协议RPC协议为远程通信双方提供所需的基本信息。这样NFS服务就可以专注于如何共享数据至于通信连接以及连接的基本信息则全权委托给RPC管理。CentOS7系统由rpcbind服务来提供RPC协议的支持(在老版本上是portmap来提供RPC协议的)目前NFSv4虽然不需要与rpcbind直接交互但是rpc.mountd依然是NFSv4所必须的服务。所以在CentOS7平台上实现NFS共享需要同时启动NFS服务和rpcbind服务。 所需的软件是nfs-utils,rpcbind NFS服务器配置 NFS服务器读取/etc/exports配置文件该文件可以设置哪些客户端可以访问NFS共享文件系统(作权限精细化管理的)。 该文件的书写规则如下 空白行将被忽略 以#符号开头的内容将被注释 配置文件中可以用\符号转义换行 每个共享的文件系统需要独立一行条目 客户端主机列表需要使用空格隔开 配置文件中支持通配符 一条完整的共享条目语法结构如下其中客户端主机可以是一个网段、单台主机或主机名。 共享路径 客户端主机 (选项) 共享路径 客户端主机1 (选项) 客户端主机2 (选项) 不添加选项时会使用默认配置默认配置是ro、sync、wdelay、no_root_squash 具体的选项配置如下 ro: 共享目录只读 rw: 共享目录可读可写 all_squash: 所有的访问用户都映射为匿名用户或用户组 no_all_squash: 访问用户先与本机用户匹配匹配失败后再映射为匿名用户或用户组 root_squash: 将来访的root用户映射为匿名用户或用户组 no_root_squash: 来访的root用户保持root账号权限 anonuid: 指定匿名访问用户的本地用户组UID默认为nfsnoboday(65534) anongid: 指定匿名访问用户的本地用户组GID默认为nfsnoboday(65534) secure: 限制客户端只能从小于1024的tcp/ip端口连接服务器 insecure: 允许客户端从大于1024的tcp/ip端口连接服务器 sync: 将数据同步写入内存缓冲区与磁盘中效率低但能保证数据的一致性 async: 将数据先保存在内存缓冲区中必要时写入磁盘 wdelay: 检查是否有相关的写操作如果有则将这些写操作一起执行这样可以提高效率 no_wdelay: 若有写操作则立即执行应与rsync配合使用 subtree_check: 若输出目录是一个子目录则nfs服务器将检查其父目录的权限 no_subtree_check: 即使输出目录是一个子目录nfs服务器也不检查其父目录的权限这样可以提高效率 NFS部署实例 nfs01.png 服务器的配置操作步骤为安装软件、添加共享账户、创建共享目录、修改权限、设置NFS共享配置文件、启动共享服务。 服务器的配置如下 nfs02.png 上面就是服务器端的配置下面是客户端的访问和使用 ** 首先在服务器端做好权限管理配置并启动服务** nfs04.png 配置说明/home/share/ xx.xx.248.246(rw,async,no_root_squash) *(ro) 对xx.xx.248.246此客户端授予读写权限其他所有客户端只读权限 nfs05.png nfs06.png showmount -e # 默认查看自己共享的服务前提是要DNS能解析自己不然容易报错 showmount -a # 显示已经与客户端连接上的目录信息 ** 然后在客户端上访问和使用 ** nfs07.png 至此我们就可以在客户端上对共享目录进行操作了。最主要的是权限的管理。 ** NFS权限分析 ** 由于共享数据实际是存储在NFS服务器上的所以所有的操作实际是以服务器本机账户进行的只是服务器会根据不同的情况将远程客户端的访问账户转换为不同的服务器本地账户。 客户端使用普通用户连接服务器时默认情况下如果客户端使用的账户的UID在服务器端上也有相同账号的UID则服务器将使用本地该UID账户进行读写操作如果客户端访问服务器所使用的UID不存在于服务器本地则该服务器自动将客户端来访账户转换为nfsnobody账号。此外如果服务器端对共享属性配置了all_squash选项则服务器会根据anonuid选项的值将所有的账户自动转换为匿名账户。 客户端使用root连接服务器时默认会将root转换为服务器上的nfsnobody账号如果服务器对共享属性配置了no_root_squash选项则服务器会将远程root账户转换为本机root账户进行读写操作。