五十四、NFS介绍、NFS服务端安装配置、NFS配置选项

一、NFS介绍

NFS是Network File System的缩写。

NFS最早由sun公司开发,分2,3,4三个版本,2和3由sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本。

NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。

NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。

NFS原理:

RPC服务是由rpcbind所实现的,centos5及之前叫protmap,centos6及之后叫rpcbind,是一个东西,原理就是启动了这个rpcbind服务,实现了RPC协议的通信;默认NFS服务不监听任何端口,启动了服务但是不会监听端口;客户端和服务端监听端口实现TCP/IP协议通信的是由rpcbind这个服务产生的RPC协议实现的;rpcbind会监听111端口;TCP/IP协议先通信,然后NFS服务会在RPC协议里注册一个端口,NFS告诉服务端RPC通信的端口是谁,然后服务端RPC再告诉客户端的RPC,然后NFS客户端这台机器再和NFS服务端的这个端口去通信,最终实现数据传输。

总结:NFS服务需要通过RPC协议进行通信。

二、NFS服务端安装配置

准备两台机器,一台服务端,一台客户端。

服务端上安装两个包:nfs-utils和rpcbind;

客户端上安装一个包:nfs-utils。

# yum install -y nfs-utils rpcbind

//这里不管写不写rpcbind,这个nfs-utils都会给你安装上这个包。

当epel这个安装很慢的时候,把这个文件改一个名字即可:

# cd /etc/yum.repos.d/

# mv epel.repo epel.repo.1

# vim /etc/exports    //加入如下内容

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

这里指定共享的目录,共享的机器的IP或IP段。

保存配置文件后,执行如下准备操作

# mkdir /home/nfstestdir

# chmod 777 /home/nfstestdir    给777权限是为了方便做实验

# netstat -lntp    //可以看到111端口已经被监听了,这个就是rpcbind服务,安装完rpcbind以后这个就会自动的启动。

tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd

# systemctl start rpcbind

# systemctl start nfs

# ps aux |grep nfs

root       5745  0.0  0.0      0     0 ?        S<   21:33   0:00 [nfsd4_callbacks]

root       5751  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5752  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5753  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5754  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5755  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5756  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5757  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5758  0.0  0.0      0     0 ?        S    21:33   0:00 [nfsd]

root       5763  0.0  0.0 112676   984 pts/1    S+   21:33   0:00 grep --color=auto nfs

# ps aux |grep rpcbind      当nfs启动以后,rpcbind会自动启动一些相关的服务

rpc        5694  0.1  0.0  64956  1404 ?        Ss   21:31   0:00 rpcbind

rpcuser    5717  0.0  0.0  42376  1744 ?        Ss   21:33   0:00 /usr/sbin/rpc.statd

root       5718  0.0  0.0      0     0 ?        S<   21:33   0:00 [rpciod]

root       5734  0.0  0.0  42564   944 ?        Ss   21:33   0:00 /usr/sbin/rpc.mountd

root       5735  0.0  0.0  43816   540 ?        Ss   21:33   0:00 /usr/sbin/rpc.idmapd

root       5765  0.0  0.0 112680   980 pts/1    S+   21:35   0:00 grep --color=auto rpc

# systemctl enable rpcbind

# systemctl enable nfs       开机启动,在服务端执行。

三、NFS配置选项

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

rw 读写

ro 只读

sync 同步模式,内存数据实时写入磁盘,可以很快写入磁盘,相应的会降低磁盘效率。

async 非同步模式,不实时写入磁盘,每隔一段时间会把内存的东西写到磁盘里去,这样的好处是能保证磁盘的效率,缺点是万一断电了,数据就会丢一部分。

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

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

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

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

客户端挂载

# yum install -y nfs-utils

# showmount -e 192.168.93.130   //该ip为NFS服务端ip

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

//报错,不能和93.130的111端口通信,原因有2个:一,是93.130的111端口是否打开;二,防火墙导致。

# systemctl stop firewalld    建议:关掉防火墙,服务端和客户端都关。

# getenforce        检查Selinux,也要关,服务端和客户端都要关。

Disabled

# showmount -e 192.168.93.130    通信OK

Export list for 192.168.93.130:

/home/nfstestdir 192.168.93.2/24       看到了93.130这台机器共享目录和共享的机器给了这个IP段。

# mount -t nfs 192.168.93.130:/home/nfstestdir /mnt   把它挂载起来到/mnt

# df -h

# touch /mnt/aminglinux.txt    客户端/mnt下touch个文件,再到服务端看,就有

# ls -l /mnt/aminglinux.txt   //可以看到文件的属主和属组都为1000

anonuid=1000,anongid=1000

//因为这里uid和gid都定义了1000,所以不管你用哪个用户操作的,最终都会以1000uid和1000gid的用户反应给服务端和客户端。

原文地址:http://blog.51cto.com/13576245/2114639

时间: 2024-10-09 18:48:52

五十四、NFS介绍、NFS服务端安装配置、NFS配置选项的相关文章

14.1-14.3 NFS介绍,服务端安装,客户端挂载NFS

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 NFS架构 应用场景: A B C为别是三台

NFS介绍,服务端安装配置及配置选项

NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本(2010年) NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写,(远程过程调用)为NFS服务提供支持. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致.用

NFS的介绍及服务端安装配置、配置选项

一.NFS介绍NFS是Network File System的缩写NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写.NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 14.2 NFS服务端安装配置yum install -y

Redis源码分析(三十四)--- redis.h服务端的实现分析(1)

上次刚刚分析过了客户端的结构体分析,思路比较简答,清晰,最后学习的是服务端的实现,服务端在Redis可是重中之重,里面基本上囊括了之前模块中涉及到的所有知识点,从redis的头文件就可以看出了,redis.h代码量就已经破1000+行了,而且都还只是一些变量,宏定义的声明,和一些方法原型的声明.所以,今天的总结跟昨天一样,先不做具体的实现学习,先从全局的角度思考,服务端的整体设计思路,这从头文件的声明正好可以学习. /* ----------------------- 声明了一下所需的头文件,主

十四周一课 NFS介绍、NFS服务端安装配置、NFS配置选项

NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 NFS服务端安装配置 首先在服务端安装两个包yum i

14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 例如: 一个站点,上面传输了很多图片,用户访

NFS介绍,NFS服务端安装配置,NFS配置选项

笔记内容: 14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项 笔记日期:2017-11-01 14.1 NFS介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. NFS可以把A.B.C机器之间的文件数据进行共享,例如用户上传了一个文件到A机器上,用户

NFS介绍、NFS服务端安装配置、NFS配置选项介绍

NFS介绍 NFS是Network File System的缩写,NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本.NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写.NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致,NFS服务需要借助RPC服务去通信. NFS服务端安装配

14.1 NFS介绍;14.2 NFS服务端安装配置;14.3 NFS配置选项

14.1 NFS介绍 1. NFS是Network File System的缩写 2. NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 3. NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写. 4. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 NFS原理图: 14