NFS网络文件系统

思维导图:

1. NFS概述

1.1 两个核心组件

  • NFS(Network File System),通过网络让不同主机系统之间可以彼此共享文件或目录
  • RPC(Remote Procedure Call),远程过程调用 ,RPC服务会记录每个NFS功能所对应的端口
    • 端口: 111/tcp, 111/udp
    • 在NFS客户端请求时将该端口和功能对应的信息,传递给请求数据的NFS客户端,从而可以确保客户端可以连接到正确的NFS端口上去,达到实现数据传输交互数据的目的

1.2 工作图示

  • 在启动NFS服务之前要启动RPC服务,它们之间共同配合才能完成NFS服务

2. NFS的安装

  • 安装NFS和RPC服务
    • yum install  nfs-utils  rpcbind  -y
    • 或者yum groupinstall  "NFS file server"  -y
  • 启动顺序
    • 先启动rpc,(systemctl start rpcbind.socket)
    • 后启动nfs,(systemctl start nfs)
  • 查看rpc服务的状态
    • rpcinfo  -p  localhost

3. NFS的配置

3.1 配置文件

  • 主配置文件
    • /etc/exports
    • /etc/exports.d/*
  • NFS完整参数设定的配置文件
    • /var/lib/nfs/etab

3.2 配置格式

  • NFS共享的目录 客户端地址1(参数1,参数2 …) 客户端地址2(参数1,参数2 …)

3.3 配置参数

  • 常规参数
    • rw
    • ro
    • sync
    • async
    • secure
  • 用户ID映射参数
    • all_squash
    • root_squash
    • no_root_squash
    • anonuid
    • anongid

4. NFS的使用

4.1 基本命令

  • rpcinfo
    • -p
  • showmount
    • -e  显示NFS服务器输出的目录结构
  • exportfs 
    • -r  重新导入
    • -v  显示详细信息
    • -o  临时的配置NFS参数(exportfs  -o   rw,sync,all_squash,anonuid=555,anongid=555   10.0.0.0/24:/hgzero_data)

4.2 在客户端挂载NFS

  • mount -t nfs 10.0.0.201:/hg /mnt
  • 直接挂载文件系统可能是写入不了文件的,需要考虑权限的问题
    • 在Server端将该目录给777的权限
    • 直接将属主和属组改成nfsnobody
    • 在facl中定义nfsnobody对于该文件的权限

4.3 NFS挂载时的额外参数

  • fg/bg
  • hard/soft
  • intr
  • rsize/wsize

5. NFS的应用概述

  • 2千万PV/天以下的都可以用NFS来搞定
  • NFS数据是明文的,NFS对数据的完整性不做验证
  • 客户端认证是基于IP和主机名的,权限是根据ID识别的,安全性一般,内网使用问题不大
  • NFS服务端出现问题,所有NFS客户端都挂掉,耦合度太高

6. 思维导图

 

 

 

 

 

posted @ 2020-05-06 20:13  Praywu  阅读(243)  评论(0编辑  收藏  举报