一、nfs概念:
透过网络,让不同的主机能“共享”文件。通过nfs,用户和程序可以像访问本地文件一样访问远端系统上的文件。
二、版本:
共三个版本,nfsv2,nfsv3,nfsv4(包含4.0和4.1)。其中nfsv2和nfsv3由sun公司起草。nfs4.0主要由netapp。
三、版本特点
v2:实现基本的网络共享及存取功能
v3:修正了v2的一些bug。
——————v3与v2区别——————
1.v2对每次读写操作中传输数据的最大长度限制:8192字节,v3无限制
2.v2对文件名长度限制:255字节,v3无限制
3.v2对文件长度限制:0xfffffff,v3无限制
4.v2对文件句柄长度固定为32b,v3中句柄长度上限为64字节
5.v2只支持同步写,v3支持异步写操作。v3增加了commit请求,commit可以将服务器缓存中的数据刷新到磁盘中。
*注:同步写指当客户端向服务器端写入数据时,服务器必须将数据写入磁盘中才能发送应答消息。异步写指服务器只需要将数据写入缓存中就可以发送应答消息。
6.v3增加了access请求
*注:access用来检查用户的访问权限。因为服务器端可能进行uid映射,一次客户端的uid和gid不能正确反映用户的访问权限。nfs2的处理方法是不管访问权限,直接返送请求,如果没有访问权限就出错。nfs3中增加了access请求,客户端可以检查是否有访问权限。
7.v3中一些请求调整了参数和返回信息。
——————v4与v3区别——————
1.v2和v3都是无状态协议,即服务器端不需要维护客户端的状态信息。无状态协议的优点是当服务器出现问题后,客户端只需要重复发送失败请求就可以了,直到收到服务器的响应信息。但某些操作必须需要状态,如文件锁。如果客户端申请了文件锁,但是服务器重启了,但nfsv3是无状态的,客户端再执行锁操作可能会出错。nfsv3需要nlm(network lock manager)协助才能实现文件锁功能,但有时两者的配合不够协调。nfsv4设计成了一种有状态的协议,自身实现了文件锁功能,从而不再需要nlm协议。
2.nfsv4 增加了安全性,支持rpcsec-gss身份认证。
3.nfsv4 只提供了两个请求null和compound ,所有的操作都整合进了compound中,客户端可以根据实际请求将多个操作封装到一个compound 请求中,增加了灵活性。
4.nfsv4 文件系统的命令空间发生了变化,服务器端必须设置一个根文件系统(fsid=0) ,其他文件系统挂载在根文件系统上导出。
5.nfsv4 支持delegation( 代表) 。由于多个客户端可以挂载同一个文件系统,为了保持文件同步, nfsv3 中客户端需要经常向服务器发起请求,请求文件属性信息,判断其他客户端是否修改了文件。如果文件系统是只读的,或者客户端对文件的修改不频繁,频繁向服务器请求文件属性信息会降低系统性能。nfsv4 可以依靠delegation 实现文件同步。
*如:当客户端a 打开一个文件时,服务器会分配给客户端a 一个delegation 。只要客户端a 具有delegation ,就可以认为与服务器保持了一致。如果另外一个客户端b 访问同一个文件,则服务器会暂缓客户端b 的访问请求,向客户端a 发送recall 请求。当客户端a 接收到recall 请求时将本地缓存刷新到服务器中,然后将delegation 返回服务器,这时服务器开始处理客户端b 的请求。
6.nfsv4 修改了文件属性的表示方法。
——————v4.1与v4.0区别——————
nfsv4.1 支持并行存储,服务器由一台元数据服务器(mds) 和多台数据服务器(ds) 构成,元数据服务器只管理文件在磁盘中的布局,数据传输在客户端和数据服务器之间直接进行。由于系统中包含多台数据服务器,因此数据可以以并行方式访问,系统吞吐量迅速提升。
四、linux nfs相关文件
/etc/exports:
nfs 的主配置文件有的linux 版本中默认不存在,需要手动建立.
/usr/sbin/exportfs:
在server端 维护nfs 共享资源的命令。
/usr/sbin/showmount:
在client端 来查看nfs 共享的资源
/var/lib/nfs/xtab:
nfs 的记录文件,可以客户端查看链接服务器的信息
五、搭建nfs服务 【默认服务端口:2049】
serve端:
①:安装软件
yum install nfs-utils.x86_64 -y
②:启动服务
systemctl start nfs-server.service
如果报错请先开启“rpcbind.service”后再开启“nfs-server.service”
③:检查服务状态
systemctl status nfs-server.service
netstat -lantu |grep 2049
④:编辑配置文件
/etc/exports: /nfsserver *(rw,sync)
格式: 共享目录path 允许的ip/hostname (权限)
⑤:重启服务
systemctl restart nfs-server.service
clinet端:
挂载方式分:手动、自动
手动挂载:
①:执行命令: mount.nfs nfs_server_ip:/共享目录path /local/path
自动挂载:
①:利用 fstab
nfs_server_ip:/共享目录path/local/path nfs defaults 0 0
②:使用automount
安装软件:yum install-yautofs
启动服务:systemctl start autofssystemctl enable autofs
检查服务:systemctl status autofs
新建配置文件:/etc/auto.master.d/xxxxxx.autofs(新建文件)
内容:/- /etc/xxxxx.nfs(/- 指定配置文件)
编辑配置文件:/etc/xxxxx.nfs(新建、制作配置文件)
内容:/local/path-type=nfs,rw,syncnfs_server_ip:/共享目录path
重启服务:systemctl restart autofs.servic
机器人真的要来抢饭碗了,外卖小哥无辜躺枪
深圳南山科技园区块链系统开发公司有哪些,交易所开发
如何使用QuartusⅡ软件来编写FPGA?
横河AQ6370D光谱分析仪
光纤网络环境的光衰减种类和工作原理
你需要了解NFS网络文件系统
骁龙835+5.5寸4K屏+防尘防水,碾压S8
AVR128智能风扇设计-proteus-程序
鸿蒙与产业数字化就像天然匹配的钥匙和锁 矿山中的鸿蒙花开
虹科方案 | 物联网HMI的关键驱动力—SCADA级功能库和控件库
广东移动携手华为率先完成5G SA大区资源池部署
泄露首尔半导体LED技术机密,员工是被判8个月监禁
澳柯玛推出最新款五门冰箱 鲜肉两周不冻保鲜
MAX11040K/MAX11060 4通道数模转换器(ADC)
新能源汽车连接器相关标准梳理
简单光控电子鸟电路
示波器无源探头内部结构分析
海尔,推出风幕8°油烟机,让厨房洁净,无烟更健康
河套IT WALK(总第61期):探索未来:AI进化,自动驾驶突破,元宇宙创新
封测龙头获台积先进封装大单!