windows自带的nfs服务_NFS网络文件系统基础配置与使用

  • 0x00 前言简述

  • 0x01 NFS安装配置

    • (1) CentOS 系统

    • (2) Ubuntu 系统

  • 0x02 NFS配置介绍

    • /etc/exports

    • /var/lib/nfs/etab

  • 0x03 NFS安全配置

  • 0x04 入坑出坑

  • 0x05 参考连接

0x00 前言简述

描述: 先来学习三大步,任何事物皆可用;

Q: 什么是NFS?为什么要NFS?

描述:NFS(Network File System)即网络文件系统, 利用网络使得在不同的机器之间共享文件。
通过NFS可以将另一台机器的某个目录挂载到本机的某个目录下, 在使用的时候挂载过来的目录就像在本地一样, 极大的方便了多台服务器之间的文件共享。

补充:在提到NFS服务的时候都会提到RPC服务,那么什么是RPC服务,为什么需要RPC服务呢?
答:RPC是Remote Procedure Call的缩写即远程过程调用,其次关于为什么要RPC服务是因为NFS服务在启动的时候对于端口的选择是随机的,NFS在启动的时候回随机选择小于1024的端口进行数据的传输。而RPC的主要功能就是记录每个NFS服务所对应的端口号,当客户端尝试连接NFS服务时它会将其对应的端口号发送给客户端,客户端根据获得的端口号进行连接。

rpc.nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器
rpc.mount:主要功能是管理NFS的文件系统,当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的磁盘前,还必须通过目录使用权限的验证,它会读取NFS的配置文件/etc/exports(初始文件为空)来对比客户端权限
portmap:主要功能是进行端口映射工作
idmap:进程实现用户映射和压缩

Q: NFS 特点有哪里?

  • (1) 方便多台服务器之间的文件共享

  • (2) 搭建使用简单

  • (3) 可进行密码认证以及Kerberos认证

Q:NFS 应用场景

  • (1) 比如Kubernetes中多台主机共享存储资源;

NFS 版本说明

  • (1) NFSv2 and NFSv3

# NFSv3同时支持TCP和UDP传输层协议# NFSv3使用大量辅助协议通过portmap/rpcbind获取rpc.mounted监听端口,再进行身份验证其次验证通过后nfs客户端才能与rpc.nfsd建立联系并访问共享
Example for NFSv2 and NFSv3:# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)mount -t nfs 11.11.165.115:/data /tmp/data -o proto=tcp -o nolock
  • (2) NFSv4:

Example for NFSv4:# /srv/nfs4        gss/krb5(rw,sync,fsid=0,crossmnt,no_subtree_check)# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)# 客户端挂载过程需要通过mount –t nfs4指定NFS版本为4,默认采用nfsv3。mount -t nfs4 192.168.78.1:/data  /tmp/data

NFSv4和NFSv3的差别如下:

  • (1) NFSv4设计成了一种有状态的协议,自身实现了文件锁功能和获取文件系统根节点功能,不需要NLM和MOUNT协议协助了。

  • (2) NFSv4增加了安全性,支持RPCSEC-GSS身份认证。

  • (3) NFSv4只提供了两个请求NULL和COMPOUND,所有的操作都整合进了COMPOUND中,客户端可以根据实际请求将多个操作封装到一个COMPOUND请求中,增加了灵活性。

  • (4) NFSv4文件系统的命令空间发生了变化,服务器端必须设置一个根文件系统(fsid=0),其他文件系统挂载在根文件系统上导出。客户端需要使用“nfs server ip:/”挂载伪文件系统,伪文件系统一般使用RO方式共享,其他共享可以通过mount –bind选项在伪文件系统目录下挂载;

  • (5)NFSv4支持delegation。由于多个客户端可以挂载同一个文件系统,为了保持文件同步,NFSv3中客户端需要经常向服务器发起请求,请求文件属性信息,判断其他客户端是否修改了文件。如果文件系统是只读的,或者客户端对文件的修改不频繁,频繁向服务器请求文件属性信息会降低系统性能。NFSv4可以依靠delegation实现文件同步。当客户端A打开一个文件时,服务器会分配给客户端A一个delegation。只要客户端A具有delegation,就可以认为与服务器保持了一致。如果另外一个客户端B访问同一个文件,则服务器会暂缓客户端B的访问请求,向客户端A发送RECALL请求。当客户端A接收到RECALL请求时将本地缓存刷新到服务器中,然后将delegation返回服务器,这时服务器开始处理客户端B的请求。

  • (6) NFSv4修改了文件属性的表示方法。由于NFS是Sun开发的一套文件系统,设计之出NFS文件属性参考了UNIX中的文件属性,可能Windows中不具备某些属性,因此NFS对操作系统的兼容性不太好。NFSv4将文件属性划分成了三类:
    * Mandatory Attributes: 这是文件的基本属性,所有的操作系统必须支持这些属性。
    * Recommended Attributes: 这是NFS建议的属性,如果可能操作系统尽量实现这些属性。
    * Named Attributes: 这是操作系统可以自己实现的一些文件属性。

  • (7)服务器端拷贝:如果客户需要从一个NFS服务器拷贝数据到另外一个NFS服务器,nfsv4可以让两台NFS服务器之间直接拷贝数据,不需要经过客户端。

  • (8)资源预留和回收:NFSv4为虚拟分配提供的新特性。随着存储虚拟分配功能的普及使用,nfsv4可以为预留固定大小的存储空间;同样在文件系统上删除文件后,也能够在存储上面释放相应空间。

  • (9)国际化支持:NFSv4文件名、目录、链接、用户与组可以使用 UTF-8字符集,UTF-8兼容ASCII码,使得NFSv4支持更多语言。

  • (10)RPC合并调用:NFSv4允许将多个请求合并为一个rpc引用,在NFSv3每个请求对应一个rpc调用。WAN环境中,NFSv4合并rpc调用可以显著降低延迟。

  • (11)安全性:NFSv4用户验证采用“用户名+域名”的模式,与Windows AD验证方式类似,NFSv4强制使用Kerberos验证方式。(Kerberos与Windows AD都遵循相同RFC1510标准),这样方便windows和*nix环境混合部署。

  • (12)pNFS并行NFS文件系统,元数据服务器负责用户请求调度、数据服务器负责客户请求处理。pNFS需要NFS服务器和客户端协同支持,pNFS架构示意图如下:8c9f55c188930633640b70fc6bf019ec.png

NFS 服务协议
描述:#对于不同的网络情况,有针对地选择 UDP 或 TCP 传输协议。传输协议可以自动选择,也可以手动设置。

# 一般情况下,使用 TCP 的 NFS 比较稳定,使用 UDP 的 NFS 速度较快。
# 在机器较少,网络状况较好的情况下,使用 UDP 协议能带来较好的性能。
# 当机器较多,网络情况复杂时,推荐使用 TCP 协议(V2 只支持 UDP 协议)。
# 在局域网中使用 UDP 协议较好,因为局域网有比较稳定的网络保证,使用 UDP 可以带来更好的性能。
# 在广域网中推荐使用 TCP 协议,TCP 协议能让 NFS 在复杂的网络环境中保持最好的传输稳定性。

客户端连接NFS服务的过程:

  • 1.客户端首先向NFS服务所在的服务器的RPC服务发起请求RPC服务的端口固定为 111

$rpcinfo -p 192.168.1.216#    program vers proto   port  service#     100000    4   tcp    111  portmapper#     100003    3   tcp   2049  nfs#     100003    4   tcp   2049  nfs#     100227    3   tcp   2049  nfs_acl#     100003    3   udp   2049  nfs#     100227    3   udp   2049  nfs_acl
  • 2.RPC服务在接收到客户端的请求之后,找到注册的NFS服务所对应的端口号,并将端口号发送给客户端例如:

tcp 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值