Bootstrap

第五章 nfs服务器

nfs简介:

(1)NFS(Network File System):网络文件系统
         是FreeBSD支持的文件系统中的一种
         允许网络中的计算机之间通过TCP/IP网络共享资源(不同的计算机、操作系统)
         主要在unix系列操作系统上使用

(2)NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,           而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样

(3)NFS支持的功能比较多,不同的功能会使用不同的程序来启动,每启动一个功能就会             启用一些端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一             些未被使用的小于1024的端口用于传输

(4)RPC(Remote Procedure Call,远程过程调用)的服务。

         由于当服务器在启动NFS时会随机选取数个端口号,并主动向RPC注册,所以RPC知             道每个NFS功能所对应的端口号,RPC将端口号通知给客户端,让客户端可以连接到             正确的端口上去。

         RPC采用固定端口号port 111来监听客户端的需求并向客户端响应正确的端口号。

注:在启动 NFS 之前,要先启动 RPC ,否则 NFS 会无法向 RPC 注册。
        RPC 若重新启动,原来注册的数据会消失不见,因此RPC 重启后,它管理的所有服务都         需要重新启动以重新向 RPC 注册。

权限相关参数:

参数值说明
rw,ro共享目录的权限是 可读写/只读,与文件系统的rwx有关
sync,async
sync :数据会同步写入到内存与硬盘中
async :数据会先暂存于内存当中,而非直接写入硬盘
no_root_squash
root_squash
客户端在共享目录里创建的文件的所属者和所属组是 root 用户和 root
no_root_squash :文件的所属者和所属组是root 用户和 root 组;
root_squash :将 root 用户和组 映射为匿名用户和组 (默认设置)。
all_squash
no_all_squash
all_squash: 客户端所有用户创建文件时,客户端会将文件的用户 和组映射为匿名用户和组
no_all_squash: 客户端普通用户创建的 文件的 UID GID 是多少,服务端就显示为多少(默认设置)
anonuid=
anongid=
将文件的用户和组映射为指定的 UID GID
若不指定默认为65534( nfsnobody

nfs配置:

一、客服端和服务端都关闭防火墙

二、安装包 

yum install nfs-utils  
yum install rpcbind(不用单独装)

 三、创建共享目录

 创建共享目录:/data

data 所属者为 root ,权限:读和执行

vim /etc/exports

进入后,写共享哪个目录(data),共享给谁(客户端),权限为只读

四、重启nfs服务

用服务端(192.168.198.130)命令去检测

在客户端(192.168.198.137),输入命令去检测能否读取那个表

 autofs自动挂载

autofs 服务:在客户端的上面,会持续的检测某个指定的目录,并预先设置当使用到该目录的某个子目录时,将会取得来自服务器端的NFS 文件系统资源,并进行自动挂载的操作。

由于网络的问题,NFS服务器与客户端的连接不会一直存在,当我们挂载了NFS服务器之后,任何一方脱机都可能造成另外一方等待超时。

为了解决这样的问题,就出现了下面的想法:

  • 当客户端在有使用 NFS 文件系统的需求时才让系统自动挂载。
  • 当NFS 文件系统使用完毕后,让 NFS 自动卸载。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;