Linux - 进阶 NFS服务器 详解网络共享服务器 ( 预备知识)

NFS 是什么 ?

  

        :  就是 网络 Network  

       F   :     就是  File  文件 

       S   :  system  

       简称为 网络文件系统   

背景介绍  : 

            官方  : 

             NFS 是一种古老的用于UNIX/LINUX主机之间进行文件共享的协议

             Network  File  System 网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络

             中的计算机( 不同的计算机,不同的操作系统 ) 之间通过 TCP/IP 网络共享资源,主要

             是在 UNIX 系列操作系统上使用。 

       

       在以前,以前的人就经常用这个共享,就是网络共享,比如在一个局域网里想把数据共享一下

那共享是什么呢??

就是可以把我一个文件夹或者磁盘分区啥的共享到局域网上,然后对方就可以通过 IP 地址来

访问这个共享文件夹,方便数据的上传和下载。

       所以,NFS 服务器 它的本质就是 架设一个网络文件共享服务器

        NFS 是基于 Linux 命令,是用一些命令可以把 Linux 操作系统上的某一些目录共享给对方,

        那只要对方拥有权限 那就可以操作这个目录,完成数据的上传与下载。  

         

           

      那 NFS 共享的形式是怎样的呢 ??   

      ===>>> 

                 这就得回忆到 以前的知识了 ——  挂载  ( mount  ) 

                 没错,就是 “ 挂载 ”    

                 挂载的本质 ,就可以理解成 是一种访问数据目录的方式 ~!!  

        

     官方  :  

      NFS 服务器 可以让 PC 将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中,而在

      本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。

       比如, A 有个目录,这个目录的权限啥都开放了,也共享了,那么 B 想访问 A 的这个目录怎

       么访问呢 ?

       ===>>> 

                那就需要 B 使用 mount 命令 把这个 A 的目录 挂载到 B 自己机子上就完了 。 

                NFS 最出名的就是 用远程挂载的方式将对方远程的数据挂载到本地,访问时就像访问本

                地的目录一样方便。  

RPC 

     

      官方 

      由于 NFS 支持的功能较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会

      启用一些端口来传输数据,因此 NFS 的功能所对应的端口并不固定,而是随机取用一些未被

      使用的小于 1024 的端口用于传输。 但如此一来就会产生客户端连接服务器的问题,因为客户

      端需要知道服务器端的相关端口才能连接。 此时就需要 RPC 

      ===>>>  

                       NFS 的端口不固定~!! 

                       为啥不固定呢 ?? 这就得 引入 下一个 点  ——  RPC   

                      

       那么 RPC 是什么呢 ?? 

       RPC ( 远程过程调用  ) :   由于服务器在启动 NFS 时 会随机选取数个 端口号,并主动向

                                                  RPC注册,所以 RPC 知道每个 NFS 功能所对应的端口号,RPC

                                                  将端口号通知给客户端,让客户端可以连接到正确的端口上去。 

                                                  RPC 采用固定端口号 Port 111 来监听 客户端的需求并向客户端响

                                                  应正确的端口号。 

      ===>>> 

                       简单通俗的理解, RPC 就相当于 一个中介; 

                       就比如 你现在想要 卖房,想把自己房子卖掉,那你是不是就得 把这个房子 挂到中

                        介上( 比如 链家,贝壳等),这样不就卖的快了;

                        这个 RPC 就相当于中介,  你要卖的房子就可以理解成 数据/目录, 让其他人都能

                        访问的共享目录,相当于 中介( RPC ) 会把  房子( 数据/目录 ) 扩散到局域网

                        上,喊一声 请来吧,请访问我的目录吧;而 你 又没有这个广播的能力; 

                        所以,你就得把 共享目录,以及访问共享目录的端口号 发送给 RPC ( 中介 ) 

                        而 RPC 的作用就是 收到 服务端的相关信息后( 目录,端口号) 给局域网里扩散

                        说好了,这样局域网里的其他人就知道了可以访问哪些目录了。  

                        ===>>> 

                                       所以,这个就涉及到了 三方 : 

                ********            服务端( 买房的)    客户端( 买房的 )    RPC ( 中介 ) 

                                       中介其实就是把 服务端所能用到的端口号 广播给 客户端 ~!!!! 

                                

                                       因此,我们了解了整个过程,所以,我们至少得需要两个服务,

                 *******            一个 RPC 服务,一个 NFS 服务

                                       而且重要的点是 必须要先启动 RPC 服务( 先启动 中介) 中介得先起

                                       来,这样就可以实时监听 网络相关数据。

                                       然后再启动 NFS ,这样就顺带注册了,你不能先启动 NFS ,后启动

                                       RPC,因为先启动了 NFS ,那就没法注册了,没法在 RPC 上注册了。 

                                       所以得先启动 RPC ~!!   

                                       另外,RPC 若重新启动,原来注册的数据会消失不见,因此 RPC 重启

                                       后,他管理的所有服务器都需要重新启动以重新向 RPC 注册 。 

       

 

        

生产应用场景

    ***   NFS 网络文件系统 很像 Windows 系统的网络共享、安全功能、网络驱动器映射,这也和

           Linux 系统里的 Samba 服务器类似, Samba 也是一种文件共享服务。

           ( 在 Linux 要实现 文件共享手段也很多,除了 NFS 还有一个 Samba ) 

           只不过一般情况下, Windows 网络共享服务或 Samba 服务用于办公局域网共享,而互联

           网中小型网站集群架构后端常用 NFS 进行数据共享,如果是大型网站,那可能会用到更复

           杂的分布式文件系统。    

           ( 但是,NFS的性能呢 随着现在业务的要求,可能慢慢跟不上了,所以,中小型网站我

                们在局域网里进行文件共享时,NFS 还是很适合的,最大特点就是 架设速度快,维护

                容易,想关也很快;  但是在大型网站里数据的相关共享,就不建议用 NFS 了,因为请

                 求过多就会宕机,所以就用的是 分布式文件系统 )

           

    ***   在企业集群架构的工作场景中, NFS 作为所有前端 web 服务的共享存储,存储的内容一般

           包括网站用户上传的 图片,附件,头像等,注意,网站的程序代码就不要放在 NFS 共享里

           了,因为网站程序是开发运维人员统一发布,不存在发布延迟问题,直接批量发布到 web

           节点提供访问比共享到 NFS 里访问效率会更高一些。 

     ***  NFS 是当前互联网系统架构中常用的数据存储服务之一,中小型网站 ( 2000万PV(页面

            浏览量)一下 ) 公示应用频率居高,大公司或门户除了使用 NFS 外,还可能使用更为复

            杂的分布式文件系统  

         (  中小型网站是怎么界定的呢, 就是通过 页面流量数,2000万PV 以下就是) 

你可能感兴趣的:(Linux,进阶,服务器,运维,linux)