zoukankan      html  css  js  c++  java
  • NFS网络文件共享服务

    一、NFS工作原理

    NFS原理:相当于一块网络硬盘被多个PC挂载,如何获得网络磁盘的端口号? 
    首先NFS是一个共享目录,例,他共享了data目录,这时候客户端通过IP远程挂载这个目录,也需要知道NFS的端口号。

     

    二、NFS工作流程

    举例对应关系:RPC--->中介、客户端---->租客、NFS服务--->房源 
    1、启动RPC服务 
    2,启动NFS服务,同时向RPC服务注册,告诉他哪些端口对外开放。 
    3、客户端直接找本地RPC服务获取NFS的端口号。客户端得RPC先找服务端得RPC先要一个端口号。服务端得端口号监听111端口。 
    4、客户端tcp三次握手连接到NFS服务

     

    三、NFS服务端的设置

    1、安装软件包 
    【1.1】nfs-utils  NFS服务的主程序
    【1.2】rpcbind    rpc的主程序
    2、启动rpcbind   service rpcbind start
    3、启动NFS服务   service nfs start
    4、创建配置文件,路径为:/etc/exports 这个文件是真实存在的,但是里面没有内同
    【4.1】vim /etc/exports
    【4.2】写:/data 192.168.200.0/24(rw,sync) 网段和小括号之间不要空格
    【4.3】说明:(1)、/data 模拟NFS共享目录的路径
    (2)、192.168.200.0/24 模拟允许200网段这个ip可以挂载到共享目录下
    (3)、rw  可读可写权限
    (4)、sync 实时同步
    5、重启nfs服务 service nfs reload
    6、查看NFS的配置规则--能否挂载
    【6.1】showmount -e 如果没有马上出信息则需要加ip showmount -e localhost
    7、给共享目录更改属主与属组  chown nfsnobody.nfsnobody /data
    8、本地挂载测试  mount 192.168.200.150:/data /tmp
    如果不报错说明配置成功
    
     

    以上服务端可实现本地文件实时共享

     

    四、客户端设置

     1、安装软件包 
    【1.1】nfs-utils  NFS服务的主程序
    【1.2】rpcbind    rpc的主程序
    2、客户端挂载,把服务端的data目录挂载到本机的/tmp目录下 mount 192.168.200.150:/data /tmp
    3、设置开机自启动挂载 echo "mount 192.168.200.150:/data /tmp" >> /etc/rc.local
    
     

    五、命令说明

    1、rw 可读可写权限
    2、ro 只读权限
    3、async 数据太大时可等会在同步(一般不用)
    4、anonuid 指定共享文件的uid号(匿名)
    5、anongid 指定共享文件的gid号(匿名)
    6、all-squash 修改权限,一律降级为程序用户
    注:只要修改过配置文件就要重启nfs服务
    
     

    六、NFS高可用架构

    读写分离,主NFS挂载Web服务器后,由Web服务器远程写数据给主NFS,然后NFS在将数据目录挂载到备份1,在由bei'fen和备份2的两个服务器上,在由备份服务器1和2负责给Web服务器读取,叫做远程写本地读,可分摊NFS的压力,读不可以远程,因为带宽受不了。

    七、小提示:

    NFS在/etc/fstab里配置开机自动挂载失败了。为什么?

    因为/etc/fstab会优先于网络被Linux系统加载。网络没启动时,执行fstab会导致无法连接NFS服务器端,从而无法实现开机挂载。
    解决方法:
    1.开启开机自启动netfs服务,将挂载命令放入/etc/fstab里可以实现开机挂载
    2.将nfs客户端挂载命令放在/etc/rc.local中

  • 相关阅读:
    POJ:2431-Expedition
    poj:3253-Fence Repair
    POJ:3617-Best Cow Line(贪心)
    IOS各种传值方式
    imageDownloader
    Android放大镜的实现
    Delphi 串口通信(1)
    UVA 10131
    Skew Join与Left Semi Join相关
    Android动画 fillAfter和fillBefore
  • 原文地址:https://www.cnblogs.com/mendermi/p/9904694.html
Copyright © 2011-2022 走看看