NFS(一)

NFS 简介

NFS 就是 Network

FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的。它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files)。所以,你也可以简单的将他看做是一个文件服务器 (file

server) 呢!这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个远程主机的目录就好像是自己的一个磁盘分区槽一样 (partition)!使用上面相当的便利!

因为 NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应的端口才没有固定住,而是随机取用一些未被使用的小于 1024 的埠口来作为传输之用。但如此一来又造成客户端想要连上服务器时的困扰, 因为客户端得要知道服务器端的相关埠口才能够联机吧!

此时我们就得需要远程过程调用 (RPC) 的服务啦!RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的埠口上去。 RPC又是如何知道每个NFS的埠口呢?这是因为当服务器在启动 NFS 时会随机取用数个埠口,并主动的向 RPC 注册,因此 RPC 可以知道每个埠口对应的NFS功能,然后RPC又是固定使用port 111 来监听客户端的需求并回报客户端正确的埠口,所以当然可以让 NFS 的启动更为轻松愉快了!

所以你要注意,要启动 NFS 之前,RPC就要先启动了,否则 NFS 会无法向 RPC 注册。另外,RPC 若重新启动时,原本注册的数据会不见,因此 RPC 重新启动后,它管理的所有服务都需要重新启动来重新向 RPC 注册。

当客户端有 NFS 档案存取需求时,他会如何向服务器端要求数据呢?

客户端会向服务器端的 RPC (port 111) 发出 NFS 档案存取功能的询问要求;

服务器端找到对应的已注册的 NFS daemon 埠口后,会回报给客户端;

客户端了解正确的埠口后,就可以直接与NFS daemon 来联机。

由于 NFS 的各项功能都必须要向RPC 来注册,如此一来 RPC 才能了解 NFS 这个服务的各项功能之 port number, PID, NFS 在服务器所监听的 IP 等等,而客户端才能够透过 RPC 的询问找到正确对应的埠口。 也就是说,NFS 必须要有 RPC 存在时才能成功的提供服务,因此我们称 NFS 为 RPC server 的一种。事实上,有很多这样的服务器都是向 RPC 注册的,举例来说,NIS (Network Information Service) 也是 RPC

server 的一种呢

命令说明

/home/nfstestdir   192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

# 第一段来定义共享目录的绝对路径 第二段指定ip和一些选项

# rw 读写

# ro 只读

# sync 同步模式,内存数据实时写入磁盘

# async 非同步模式

# no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大

# root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户

# all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户

# anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

设置开机启动

systemctl enable nfs

查看进程

ps ax |grep nfs

查看远程共享信息

showmount -e192.168.1.251


查看挂载目录

df-h


exportfs命令

nfs进程不能随便重启,必须把客户端的挂载目录卸载,然后启动。

这时候就可以用exportfs命令

-a 全部挂载或者全部卸载

-r 重新挂载

-u卸载某一个目录

-v显示共享目录


你可能感兴趣的:(NFS(一))