大家好,又见面了,我是你们的朋友全栈君。
v4挂载服务端设置
vim /etc/exports
/tmp *(fsid=0,rw,sync,no_root_squash,acl)
/tmp/nfsdata *(rw,sync,no_root_squash,acl)
客户端挂载
mount.nfs4 ip:/nfsdata /mnt/nfs
导出IP设置
[root@rootbug ~]#vim /etc/exports
/share/iso *(ro) --把/share/iso 共享给*(代表所有IP) ro (代表只读)
/share/iso *(rw) --rw代表可读可写
/share/iso 10.10.10.0/24(ro) --只共享给10.10.10的网段的计算机访问
/share/iso 10.10.10.0/255.255.255.0(ro)
/share/iso 10.10.10.10/255.255.255.255(ro) --定义只10.10.10.10这台计算机可以访问
/share/iso 10.10.10.10(ro)
/share/iso 10.10.10.10/32(ro)10.10.10.254/32(rw) --定义只有10和254这两台可以访问
NFSv4和NFSv3的差别如下: (1) NFSv4设计成了一种有状态的协议,自身实现了文件锁功能和获取文件系统根节点功能,不需要NLM和MOUNT协议协助了。 (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修改了文件属性的表示方法。由于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服务器和客户端协同支持 后来的 NFSv4.1 补充: 背景知识: 解决: 然后mount -t nfs4 ip:/datapool/nfs /mnt/nfs/ nfs配置参数选项说明: 1、在上面的操作过程中,如果你不幸遇到下面这个问题的话,可以尝试更新 Linux kernel 或通过打开 IPv6 来解决这个问题,这是1个 bug: # mount -t nfs4 172.16.20.1:/ /home/vpsee/bak/ 2、如果遇到如下问题,可能是因为你的 mount -t nfs 使用的是 nfsv3 协议,需要明确指出使用 nfsv4 协议挂载 mount -t nfs4: # mount -t nfs 172.16.20.1:/ /home/vpsee/bak/ # mount -t nfs4 172.16.20.1:/ /home/vpsee/bak/ NFS默认是用UDP协议,换成TCP协议挂载即可: mount -t nfs 11.11.165.115:/tmp/test0920 /data -o proto=tcp -o nolock |
转载于:https://my.oschina.net/linjiezang/blog/1810589
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107520.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...