基础服务:NFS

本文详细介绍了NFS(网络文件系统)的工作原理、部署步骤、配置方法,以及其优点如易用性和可靠性,同时也讨论了其缺点如单点故障和性能限制。
摘要由CSDN通过智能技术生成

基础服务:NFS

  • NFS服务介绍

    • NFS(Network File System)网络文件系统,通过TCP/IP网络共享资源。主要功能时通过网络让不同的主机系统之间可以共享文件夹和目录。NFS客户端(一般为应用服务器,例如WEB服务器)可以通过挂载(mount)的方式,将NFS服务端共享的数据目录挂载到NFS。

    • 从NFS客户端的机器本地看,NFS服务端共享的目录好像是客户自己的磁盘分区或者目录一样,而实际上确是远端的NFS服务端的目录。在NFS的应用中,本地NFS的客户端应用可以透明的读写位于远程NFS服务器上的文件,就像访问本地文件一样。NFS网络文件系统类似windons系统的网络共享,应用与互联网中小型集群架构后端作为数据共享,如果是大型网站,那么有可能还会用到更复杂的分布式文件系统,例如Moosefs,GluterFS,FastDFS等。

  • NFS工作原理

    • 因为NFS支持的功能相当的多,二不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此,NFS的功能所对应的端口并不是固定的(小于1024的随机数),但是客户端链接服务器必须要知道对应端口。

    • 那么我们就得需要远程过程调用RPC的服务协助,RPC最主要的功能就是获取每个NFS功能所对应的port number,并且传给客户端,让客户端可以连接到正确的端口上。所以在启动NFS之前,RPC需要先启动,否则NFS会无法向RPC注册。另外RPC若冲洗你启动,原本注册的数据就会不见了,因此RPC重新启动后,他管理的所有服务都需要重新启动向RPC注册。

    • 当客户端又NFS存取需求时,会重新向服务器的PC(prot 111)发出NFS档案存取功能寻味要求,服务器端找到对应的已注册的NFS daemon端口之后,发送给客户端,客户端收到正确端口后,可与NFS进程联机。

      在这里插入图片描述

  • 部署NFS服务

    • nfs-untils:NFS服务主程序包括rpc,nfsd,rpc,mountd两个daemons和相关文档说明及执行命令程序等。

    • rpcbind:RPC服务的主程序

    • NFS可以被视为一个RPC程序,在启动任何一个程序之前,需要做好端口映射工作,这个映射工作就是由rpcbind服务来完成的。因此必须先启动rpcbind服务。

      yum -y install nfs-utils rpcbind
      rpm -qa nfs-utils rpcbind
      
      #启动NFS相关服务
      systemctl restart rpcbind
      systemctl restart nfs
      
      #查看111端口进程占用
      lsof -i:111
      rpcinfo -p localhost
      
  • 配置NFS服务

    • NFS配置文件(默认为空)

      ls -l /etc/exprots
      
    • NFS配置文件格式

      ls -l /etc/exports
      

      在这里插入图片描述

    • 创建共享的数据目录

      mkdir /data
      vim /etc/exports
      /data 192.168.75.*(rw,sync)
      
  • 文件系统导出属性

    • rw 读写权限
    • ro 只读权限
    • sync 请求或写入数据时,数据同步到NFS的硬盘中才返回,有点数据不会丢失,缺点性能下降
    • async 请求写入数据时,先返回请求,再将数据写入刀内存缓存和硬盘,一部写入,降低数据安全性,不建议用
    • root_squash 访问NFS共享目录的用户是root,则它的权限将被压缩成匿名用户,UID和GID变成nfsboboody账号身份
    • all_squash 无论NFS共享目录是什么用户,全新啊都被压缩成匿名用户
    • no_all_squash 不映射普通用户的属主属组为匿名用户(默认)
  • 列出NFS服务器共享目录

    showmount -e 127.0.0.1
    
    showmount 命令说明
    -e 显示NFS服务输出的共享目录列表
    -d 显示NFS服务中提供的共享目录
    -a 以IP:/die格式显示NFS服务器IP和可挂载的目录
    
  • 客户端

    yum -y install rpcbind
    rpm -qa rpcbind
    systemctl restart rpcbind
    showmount -e 192.168.75.10
    mount -t mfs 192.168.75.10:/data /mnt
    df -Th
    touch /mnt/abc
    "touch:无法创建‘abc’:权限不足"
    
    #服务端(无法写入是因为权限不足)
    ls -ld /data
    id nfsnobody
    chown -R nfsnobody /data/
    ls -ld /data
    
    #设置开机自动挂载
    systemctl start rpcbind
    vim /etc/fstab
    192.168.80.40:/data /mnt nfs defaults 0 0
    
  • NFS优缺点

    • NFS优点

      1,简单,容易上手,容易掌握

      2,NFS文件系统内数据是在文件系统之上的,即数据可以看见

      3,方便,部署快速,维护简单,可控且满足需求

      4,可靠,从软件层面上看,数据可靠性高,经久耐用。数据是在文件系统之上的

      5,稳定性

    • NFS缺点

      1,存在单点故障,如果nfs server宕机了所有客户端都不能访问共享目录,可以通过负载均衡及高可用方案弥补。

      2,在大数据高并发的场合,NFS效率性能有限。

      3,客户端认证是基于ip和主机名的,权限是根据ID识别,安全性一般(用于内部测试问题不大)。

      4,NFS数据是明文的,NFS本身对数据完整性不做验证。

      5,多台客户机挂在一个NFS服务器时,连接管理维护麻烦(耦合度高)。尤其NFS服务出现问题后,所有NFS客户端不可用(测试环境可使用autofs自动挂载解决)。

于内部测试问题不大)。

4,NFS数据是明文的,NFS本身对数据完整性不做验证。

5,多台客户机挂在一个NFS服务器时,连接管理维护麻烦(耦合度高)。尤其NFS服务出现问题后,所有NFS客户端不可用(测试环境可使用autofs自动挂载解决)。

6,适用于2千万PV以下线上应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值