NFS网络文件系统原理及案例

从现在开始我决定把我所学的知识以博客的形式分享给大家,希望对和我一样的菜鸟,同时梦想成为一只老鸟的IT小伙伴有一定的帮助!而对于我而言,这本身也是一种学习呢!好了废话不多说,我们开始进入主题;
我们人在接触一个新事物或者是一个新技一个新技术的时候,我们往往想到的第一个问题就是“这是什么呀?”或者“这是干什么的呀?”
那么NFS网络文件系统到底是一个什么东西,它的作用又是什么,我们在这里围绕这两个问题进行讨论;

1、什么是NFS

NFS是Network File System的缩写中文名网络文件系统,它的主要功能就是通过网络让不同的机器系统之间可以彼此共享文件或目录,NFS客户端可以通过挂载(mount)的方式将NFS服务器共享的目录挂载到本地,在NFS客户端看来就像是访问自己本地的目录或分区一样;
下面是我在网上找的NFS挂载流程图; -- 如图,NFS客户端共享自身/home/sharefile这个目录,客户端1和客户端2将NFS服务器共享的目录/home/sharefile挂载到本机 ---在这里我们可以理解成Windows7里边的共享目录,然后通过网络映射的方式映射到本地

2、NFS的用作

NFS的作用是用来存放数据的,一般来说他的客户端就是应用服务器如web,NFS在工作场景中一般用来存储静态文件(如图片,视频,附件等)是当前互联网最长见的数据存
那么在实际架构中如果没有NFS服务器到底行不行呢?我们在这里简单的举一个例子与大家分享,以此来突出NFS服务的作用;

这是我用思科模拟器简单的画的一个图,方便大家理解;
如图:我们先假设这就是腾讯qq的服务器,当小明在客户端A通过qq空间发布了一条带图片的说说,这时候会通过路由器把这条说说交给负载均衡调度器,调度器通过自身的一个算法,分配一台服务器来响应这个请求,假设把这个请求分配到了服务器A,那么这时候这条说说的图片也就存在了WEB服务A里边,
这时候小明和小红正好是qq好友,小红这时候通过客户端B要去访小明发的说说,咦!很奇怪,访问不到,怎么回事呢?原来这次调度在分配请求的时候将小红的请求分配给了WEB服务B,所以访问不到,那这时候如果WEB服务器A和WEB服务器B将NFS服务器共享的目录都挂载到本地,那么这时候小明在上传图片的时候,不管调度器把请求分配到哪一台WEB服务器,这时候WEB服务器都会把这张图片上传到NFS服务器;所以这时候小红在去访问这条说说的时候就可以顺利的看到图片啦!!!!
在了解完什么是NFS服务和NFS的作用之后,我们总得知道NFS客户端与NFS服务端是怎么建立连接,进行通信的吧!在这里也做一个简单描述;

为了节约点时间我就在word上简单的画了一个图,方便大家理解记忆;
在理解通信流程之前我们首先要知道,NFS的端口号是不固定的,每次连接都会随机的分配一个小于1024的端口
首先服务端在开启NFS服务的时候会将自己的端口和其他信息注册到RPC服务里边,然后客户端的RPC(默认端口号:111)服务会通过TCP/IP协议向客户端发起请求,说我要连接到NFS服务器,请给我端口号,这时候服务器收到请求后,服务端的RPC服务就会通过TCP/IP协议把已经注册好的NFS端口信息发送给客户端的RPC服务,客户端收到端口信息后直接与NFS进行连接;在这里我们可以吧RPC服务理解成一个中介,当客户端需什么商品的时候就会想RPC索取,NFS就像是厂家,把自己所有的商品信息都注册给RPC服务;
最后我们来看看NFS是如何实现的吧!这里通过案例的形式与大家分享;重点注意配置的细节!!!!
server端配置:
[[email protected] 桌面]# cat /etc/redhat-release------------------>查看系统版本
CentOS release 6.5 (Final)
[[email protected] 桌面]# uname -r---------------------->查看内核
2.6.32-431.el6.x86_64
[[email protected] 桌面]# uname -m ---------------查看是多少位的系统
x86_64

[[email protected] 桌面]# rpm -qa | egrep "rpcbind|nfs"------------>查看系统有没有安装rpcbind和nfs软件(如果没有 可以用 yum install rpcbind nfs -y进行安装)这里我们可以看到已经安装
nfs-utils-1.2.3-39.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64
rpcbind-0.2.0-11.el6.x86_64
[[email protected] 桌面]# /etc/init.d/rpcbind status-------->查看RPC是否已经运行
rpcbind (pid 1576) 正在运行...
[[email protected] 桌面]# /etc/init.d/nfs status--------查看NFS是否已经运行
rpc.svcgssd 已停
rpc.mountd 已停
nfsd 已停
rpc.rquotad 已停
在这里我们要注意rpc和NFS的一个启动顺序,必须要在确保RPC启动的情况下才可启动nfs,因为nfs在启动的时候要向RPC服务进行注册自己端口信息;
[[email protected] 桌面]# /etc/init.d/nfs start----------------启动NFS服务
启动 NFS 服务: [确定]
关掉 NFS 配额: [确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[[email protected] 桌面]# rpcinfo -p localhost--------------------->我们可以使用rpcinfo查看nfs注册的信息
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 59901 status
100024 1 tcp 54732 status
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
[[email protected] 桌面]# vim /etc/exports----------->编辑配置文件,我们可以看到打开什么都没有;
格式:共享的目录 共享客户端的网段(参数)
/mnt/test 172.20.10.0/24(rw,sync)---->注意没有空格,括号内是英文的逗号
[[email protected] 桌面]# chown nfsnobody:nfsnobody /mnt/test/ -----> 把文件的属主改成nfsnobody,因为NFS系统默认使用这个用户进行上传文件
[[email protected] 桌面]# /etc/init.d/nfs reload---------->使用reload让配置文件生效,平滑重启
[[email protected] 桌面]# showmount -e 172.20.10.13-------->可以使用showmount 进行查看共享了哪些目录
Export list for 172.20.10.13:
/mnt/test 172.20.10.0/24
客户端配置;
[[email protected] 桌面]# rpm -qa|grep rpcbind---->查看RPC安装情况如没有也可用yum install rpcbind -y 安装
rpcbind-0.2.0-11.el6.x86_64
[[email protected] 桌面]# /etc/init.d/rpcbind status---查看运行状态(客户端只需要开启RPC服务,如果没有看起用/etc/init.d/rpcbind start开启服务)
rpcbind (pid 1646) 正在运行..
[[email protected] 桌面]# mount -t nfs 172.20.10.13:/mnt/test /test --->用mount将服务器共享的目录挂载到本地挂载完成之后可以用df -h进行查看挂载情况
这时候我们可以在客户端的、/test目录里边创建一个文件touch aa 然后到服务端里的/mnt/test用ls -l 查看发现同样也会存在一个文件aa这时候我们的nfs文件系统就配置完成了
更多关于NFS的一些配置参数可以使用man nfs 寻求在线帮助;

原文地址:http://blog.51cto.com/13268236/2115246

时间: 2024-12-18 20:40:51

NFS网络文件系统原理及案例的相关文章

NFS(网络文件系统)

NFS(网络文件系统) 1.关于NFS介绍 1.1NFS在企业中的应用场景 在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,例如:BBS产品的图片,附件,头像(注意网站BBS程序不要放NFS共享里),然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资源.NFS是当前互联网系统架构中最常用的数据存储服务之一,前面说过,中小型网站公司应用频率更高,大公司或门户除了使用NFS外,还可能会使用更为复杂的

NFS网络文件系统的应用

    NFS是linux中非常常见的一种网络文件系统,其的搭建配置也非常简单,在一般的企业应用中较为广泛.下面就介绍一下NFS在企业环境中的基本应用,在应用中我们也可以更好的理解NFS网络文件系统的工作原理. 1)企业中一般应用场景 如上图一般我们要在中心服务器上设置好共享目录,由其他客户端挂在相应的共享目录,这样客户端服务器就可以想在本地一样往中心服务器上读写数据了.由上图也可以看出NFS服务一般由服务端和客户端组成. 2)rpc服务 既然想使用NFS服务就必须了解RPC服务的相关内容,因为

NFS(网络文件系统的搭建)

关于NFS的原理,我在这就不概诉了,其实非常简答的理解就是一个网络磁盘,你需要把它挂载到你的磁盘上使用而已.那接下来谈谈如和搭建NFS网络文件系统. 需要使用2台机器作此实验,我分别配置IP为192.168.2.69(服务器端)  192.168.2.66 (客户端) 1,首先在服务端上安装nfs-utils和rpcbind. yum insall -y nfs-utils rpcbind 这里其实在yum安装的时候已经将rpcbind安装上去了. 2,编辑nfs配置文件. vim /etc/e

Centos6.6 安装nfs网络文件系统

一.介绍 nfs网络文件系统的,大部分用在内网文件共享,比如,对集群上传文件做共享,经常用在图片部分,当然数据量大了还是要做分离,做为专门的接口比较好,介绍一下基本安装环境: 1)Cnetos6.6 2)nfs-utils-1.2.3 3) rpcbind-0.2.0 二.安装 yum install -y rpcbind nfs-utils 三.配置 echo "/data 192.168.19.145(rw)" >/etc/exports #指定目录 运行挂载主机 以及有哪些

NFS 网络文件系统 简单搭建

NFS网络文件系统搭建简单 NFS依赖于RPC(远程调用)端口号:2049 功能:用于Unix间数据共享和数据传输(挂载完成数据同步) Linux系统与Linux系统  Linux系统与aix系统  aix系统与aix系统 实验环境 Redhat7.3Linux系统 两台机器可以Ping通 IP配置服务端192.168.10.1 客户端192.168.10.5 安装步骤如下: 关闭防火墙 systemctl stop firewalld.service 查看是否关闭 systemctl stat

NFS 网络文件系统挂载在A8板子上

我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享.分享一下个人经验: 以下是基于nfs已经完成安装来说 板子接线问题:我是把板子和电脑都接到同一个路由器上的,保证在同一个网段,我的网关是192.168.0.1,故我的电脑.虚拟机.板子的网关也是它,我的电脑ip地址是192.168.0.111.虚拟机ip为192.168.0.121,板子ip为192.168.0.120,发现上面就是192.1

NFS网络文件系统的搭建

NFS网络文件系统的搭建 什么是NFS网络文件系统? NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. 在linux中,NFS主要用来做网络数据共享的.NFS网络文件一般被用来存储共享视屏.图片.附件等静态的资源文件. 由于NFS在linux中端口并不是固定的,所以很难确定NFS使用

linux下NFS网络文件系统的搭建

1.首先准备两台主机,一台做服务器,一台做客户机,保证两台能够相互通信 服务器IP地址:192.168.4.5 客户机IP地址:192.168.4.205 2.给服务器配置NFS服务 [[email protected] /]# rpm -q nfs-utils rpcbind nfs-utils-1.2.3-39.el6.x86_64 rpcbind-0.2.0-11.el6.x86_64 确定这两个软件包已经安装,如果没有安装需要安装 3.修改nfs的配置文件 新建共享目录 [[email 

[学习嵌入式开发板]iTOP-4412实现NFS网络文件系统

本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是:一台 PC,上面运行虚拟机 Ubuntu,iTOP-4412 开发板一块,PC 机和iTOP-4412 开发板通过网线连接到路由器上面,路由器分配的网段是 192.168.1.x 的 ip 地址,默认网关是路由器的 ip 地址,即 192.168.1.1.PC 机的 ip 地址是 192.168.