NFS 网络文件系统介绍

NFS网络文件系统介绍

  • 什么是NFS系统?

NFS是Network File System 的缩写,它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。
NFS服务器可以允许NFS客户端,将远端NFS服务器端的共享目录,挂载到本地NFS客户端中。(注NFS客户端一般为应用服务器如:web)

NFS服务器端共享的目录就好像NFS客户端自己的磁盘分区和目录一样。

一般客户端挂载到本地目录的名字可以随便,但为方便管理,建议和服务器端一样比较好。

NFS一般是用来存储共享视频、图片等静态数据(对于用户上传的文件都存放在NFS共享里,图片、视频),是当前互联网系统架构中最常用的数据存储服务之一,特别是中小公司应用频率很高。(注大公司或门户使用:MFS,GFS FASTFS,分布式系统)

  • NFS挂载结构图
                               
    1、客户端/data/shard 目录里面的内容最好为空,要不挂载之后会暂时查找不到
    2、客户端要想存放文件成功必须服务端有把共享文件的权限打开
    3、客户端本地持载的时候,也是有权限设置
  • NFS挂载原理详细介绍
        当我们在NFS服务器端设置好共享存储目录/data/shard的后,其它的有权限访问NFS服务器端的NFS客户端可以将这个服务器上/data/shard共享目录,挂载到NFS客户端本地系统上的某个挂载点(其实就是一个目录,这个目录可以自己随意指定),上图中两个NFS客户端本地的挂载点都是/data/shard,
        当正确挂载完毕后,进入到指定nfs客户端的/data/shard目录,就可以看到NFS服务器端/data/shard共享出来的目录下的所有数据,几乎感觉不到区别,根据NFS服务端授予的NFS共享权限,只要在指定的NFS客户端操作挂载点/data/shard的目录,就可以将数据轻松的存取到NFS服务器端上的/data/shard目录中

    挂载NFS后,NFS客户端本地的挂载内容显示如下,使用命令:df –h
    在客户端查看挂载详细信息的命令:cat /proc/mounts
    在服务器端看挂载默认的参数:使用命令:cat  /var/lib/nfs/etab

    NFS是通过网络来进行服务端和客户端之间的数据传输。两者之间要传输数据就要有想对应的网络端口来进行传输。NFS服务器到底使用什么网络端口来传输数据的,NFS服务器端其实是随机选择端口来进行数据传输。那NFS客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?其实NFS服务器时通过远程过程调用(remote procedure call 简称RPC)协议/服务来实现的。也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来先沟通NFS使用了哪些端口,之后再利用这些端口(小于1024)来进行数据的传输。

    (注:原来是RPC管理服务端的NFS端口分配,客户端要传数据,那客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后再建立连接,然后传输数据)

    这个rpc服务的应用在门户级的网站无处不在,(百度)

  • 《rpc与nfs》
        rpc(注在centos5.x系统里面是portmap服务、centos6.x系统里面是rpcbind服务)就是用来统一管理NFS端口的服务,并且统一对外的端口是111。NFS服务端需要先启动rpc,再启动NFS,这样NFS才能够到RPC去注册端口信息。客户端的RPC可以通过向服务端的RPC请求获取服务端的NFS端口信息。当获取到了NFS端口信息后,就会以实际端口进行数据的传输。(由于NFS端口为随机的。)
  • 《RPC和NFS如何通讯》
        因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样我们就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。

    那RPC和NFS之间又是如何之间相互通讯的?
    首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开机111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。

    提示:在启动NFS SERVER之前,首先要启动RPC服务(即portmap或rpcbind服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs reload或exportfs –rv即可使修改的/etc/exports生效。

    (注:这里有个启动顺序的点,先给大家讲清楚。因为NFS要向RPC注册端口信息。所以RPC一定要先于NFS早启动。我给大家比喻一个左手叠右手的游戏,此时就是一定要确保NFS的手掌(左)在RPC手掌(右)的上面。正常顺序是要RPC先叠上去,然后NFS再叠上去。如果RPC重启了,就相当于手掌抽出来了,然后重新叠上去。这样RPC就在NFS上面了,所以不行。此时我们的NFS就需要再重新启动一次。这样NFS抽出来然后再叠上去之后,NFS就在RPC上面了。如果NFS修改了配置,就直接reload就好了)

  • 《客户端NFS和服务端NFS通讯过程》
    1、首先服务器端启动RPC服务,并开启111端口
    2、启动NFS服务,并向RPC注册端口信息
    3、客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
    4、服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
    5、客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
  • 客户端NFS和服务端NFS通讯过程流程图
时间: 2024-08-07 20:59:46

NFS 网络文件系统介绍的相关文章

NFS网络文件系统服务配置、验证及错误解决

NFS网络文件系统服务配置.验证及错误解决 前期准备: 1.至少准备一台服务器(nfs-server)和一台客户机(nfs-client).老表测试用的服务器端用的系统是ubuntu,客户机用的是CentOS 6.5,所以有些地方操作不一样. 2.给两台测试机都安装NFS服务和rpc服务.(一般安装NFS服务会自动安装rpc) 安装: ubuntu:sudo apt-get install nfs-kernel-server CentOS:yum groupinstall "NFS file s

nfs网络文件系统服务介绍与实战第一部

1.NFS原理描述 什么是NFS?NFS是Network File System的缩写,它的主要功能是通过网络让不同的机器之间可以彼此共享文件或目录.NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂在到本地的NFS客户端中.在本地NFS客户端的机器看来,NFS服务器端共享的目录就好像是自己的磁盘分区或者目录一样. NFS一般用来存储共享视频.图片等静态数据,是当前互联网系统架构中最常用的服务之一. 2.NFS挂载结构图 图解:NFS对外共享了video这个目录,下面有两台NFS客

nfs网络文件系统服务介绍与实战第二部

本博文议程如下: 1.生产情况应用案例 2.NFS客户端可挂载的参数 3.人为模拟错误的学习方法 4.NFS在网站架构中的位置 5.NFS的优缺点 议程1.生产情况实际案例概述: 实现当多台客户端同时挂载一台NFS Server时,无论从哪个客户端写入数据,其他客户端同样可以读写,即让所有NFS客户端写入到NFS Server的文件或目录在NFS Server上的用户和组都是同一个名称nfsnobody .请给出操作步骤,并加以说明. 实现NFS服务端的/data目录共享,指定主机(自己设置),

NFS网络文件系统服务实战(六)

NFS网络文件系统服务实战: 一.按要求搭建配置NFS服务前准备 准备三个服务器或虚拟机A.B.C配置NFS服务器: 要求: 在NFS服务端A上共享/data/w_shared及/data/r_shared两个文件目录,允许从NFS客户端B,C上分别挂载共享目录后可实现从B,C上只读/data/r_shared,可写/data/w_shared NFS客户端B上的挂载点为/data/b_w(写),/data/b_r(读) NFS客户端C上的挂载点为/data/w_你的名字英文(写),/data/

通过nfs网络文件系统启动tiny6410开发板时uboot启动参数的设置  

通过nfs网络文件系统启动tiny6410开发时uboot启动参数应该设置为: console=ttySAC0 lcd=S70 root=/dev/nfs nfsroot=192.168.1.30:/opt/tiny6410/fs/rootfs_mini6410 ip=192.168.1.40:192.168.1.30:192.168.1.30:255.255.255.0:tiny6410:eth0:off 注意:这里一定要指明你的lcd的类型,不然通过nfs成功启动tiny6410时,你的lc

ARM开发板搭建NFS网络文件系统方法

前边 已经提到过吧vmare的IP改成了静态IP,对于上网来说,这个是个麻烦的事.现在重新配置Vmware的IP VMware-Edit-Virtual network editor 选择PC机的无线网卡(可以上网),name:VMnet0 2.VMware-VM-Setting-Network adapter 选择custom-VMnet0 3.在ubuntu系统中编辑网络: 选择编辑连接,添加网络命名无线连接: 如图配置,然后就可以重现上网了. 配置虚拟机与ARM(am335x开发板)的NF

Linux运维之NFS网络文件系统功能介绍及应用场景

NFS网络文件系统主要功能是通过网络使不同的主机系统间可以共享文件或目录.客户端可以将NFS服务器端共享的数据目录挂载到客户端本地系统中.从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或目录一样,而实际上却是远端的NFS服务器的目录. NFS网络文件系统很像windows系统的网络共享.安全功能.网络驱动器映射,这也和linux系统里的Samba服务器类似.只不过一般情况下,windows网络共享服务或Samba服务用于办公局域网共享,而互联网中小型网站集群架构后端常用NF

NFS网络文件服务详解

一:简介 用于unix/linux系统之间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本地文件目录中,可以象对本地文件系统一样操作NFS文件系统中的内容. 二.安装  rpm -qa | grep rpcbind  yum install rpcbind  rpm -qa | grep nfs  yum list | grep nfs  yum install nfs-utils 三.启动NFS service rpcbind start service nfs sta

NFS网络文件系统配置

NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. nfs配置文件:/etc/exports 语法:   文件系统  客户端(导出选项)  客户端(选项) 客户端处可填写:IP.FQDN或DOMAIN.NETWORK 文件系统导出选项 ro:读 rw:读写,默认是只读访问