Linux基础服务实战篇,NFS文件服务器

一、NFS文件服务器简介

        NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

       NFS在文件传送或信息传送过程中依赖于RPC协议,RPC远程过程调用(Remote Procedure Call)是能使客户端执行其他系统中程序的一种机制,NFS本身是没有提供信息 传输的协议和功能的。

       NFS应用场景,常用于高可用文件共享,多台服务器共享同样的数据,可扩展性比较差,本身高可用方案不完善,取而代之的数据量比较大的可以采用MFS、TFS、 HDFS、 GFS 等等分布式文件系统。

二、NFS文件服务器原理

NFS (网络文件系统) :让网络上的不同linux/unix系统机器实现文件共享

nfs本身只是一种文件系统,没有提供文件传递的功能,但却能让我们进行文件的共享, 原因在于NFS使用RPC服务,用到NFS的地方都需要启动RPC服务,无论是NFS客户端还是服务端

nfs和rpc的关系:nfs是一个文件系统,负责管理分享的目录rpc负责文件的传递

nfs启动时至少有rpc.nfsd和rpc.mountd2个daemon

rpc.nfsd主要是管理客户机登陆nfs服务器时,判断改客户机是否能登陆,和客户机ID信息。

Rpc.mountd主要是管理nfs 的文件系统。当客户机顺利登陆nfs服务器时,会读 /etc/exports文件中的配置,然后去对比客户机的权限。

协议使用端口: RPC: 111tcp/udp

nfsd: 2049 tcp/udp

mountd: RPC服务在nfs 服务启动时默认会为mountd动态选取一个随机端口 (32768–65535)来进行通讯,可以在/etc/nfsmount.conf 文件中指定mountd的端口

《Linux基础服务实战篇,NFS文件服务器》 1

三、NFS文件服务器实战

yum -y install nfs*如下图,安装完成即可:

《Linux基础服务实战篇,NFS文件服务器》 2
《Linux基础服务实战篇,NFS文件服务器》 3

       NFS安装完毕,需要创建共享目录,共享目录在vi /etc/exports 文件里面配置,可配置参数如下:

/data/      *(rw,no root squash,no all squash, sync)

配置文件中添加如上一行,然后重启Portmap,NFS服务即可

service portmap restart;service nfs restart

第一列/data/表示需要共享的目录。

IP表示允许哪个客户端访问。

IP后括号里的设置表示对该共享文件的权限。

■ ro                                             只读访问;

■ rw                                             读写访问;

■ sync                                         所有数据在请求时写入共享;

■ all squash                                共享文件的UID和GID映射匿名用户anonymous;

■ no all squash                            保留共享文件的UID和GID (默认);

■ root squash root                       用户的所有请求映射成如anonymous用户-样的权限:

■ no root squash root                  用户具有根目录的完全管理访问权限。

Linux客户端,如何想使用这个NFS文件系统,需要在客户端挂载,挂载命令为:

mount -t nfs 192.168.xxx.xxx:/data/ /mnt 即可。

        如果有报错根据错误信息排查。常见问题有rpc服务没有启动、防火墙没关闭、selinux 未关闭等问题。(有兴趣的可以研究MFS(分布式文件系统)。)

    原文作者:孔空运维
    原文地址: https://www.jianshu.com/p/5e006a190f5c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞