大家好,欢迎来到IT知识分享网。
NFS简介
NFS服务及Network File System,用于在网络上共享存储,分为2,3,4三个版本,最新为4.1版本。NFS基于RPC协议,RPC为Remote Procedure Call的简写。
NFS架构及原理
- 首先服务器端启动RPC服务,并开启111端口
- 启动NFS服务,并向RPC注册端口信息
- 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
- 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
- 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输
NFS服务配置
安装 NFS 和 rpc
# 服务器端和客户端都要安装 yum install nfs-utils rpcbind -y # 检查是否安装成功 rpm -qa nfs-utils rpcbind
启动RPC
systemctl start rpcbind.service
systemctl enable rpcbind.service
# 看看有没有注册的端口
启动NFS
systemctl start nfs
systemctl enable nfs
# 看看有没有注册的端口
rpcinfo -p 127.0.0.1
# 检查服务是否都已启动
服务端配置nfs
vim /etc/exports
/data/public 10.10.0.0/16(rw,sync,insecure,all_squash,anonuid=1003,anongid=1003)
1)、授权网段或主机 a. 可以写网段:10.10.0.0/16 b. 可以写主机名:client.lab.com c. 可以写域:*.lab.com d. 可以所有,用【*】表示 2)、访问权限配置 ro ->表示只读 rw ->表示读写 3)、数据写入硬盘模式 async ->异步写入,将数据先保存在内存缓冲区中,必要时才写入磁盘 sync ->同步写入,将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; 4)、客户端使用的端口 insecure ->允许客户端从大于1024的tcp/ip端口连接服务器; secure ->限制客户端只能从小于1024的tcp/ip端口连接服务器; 5)、账户映射 首先安装完:nfs-utils 包后,会自动添加用户:nfsnobody,可以查看文件:/etc/passwd ; root_squash(默认) ->如客户端登陆操作的是root用户,nfs服务器会将来访的root用户映射为匿名用户或用户组:nfsnobody ,如果是rw权限,就要求nfsnobody 对共享的目录有rw权限; no_root_squash ->来访的root用户保持root帐号权限; all_squash ->无论访问共享目录的用户身份如何,其权限将被镇压为匿名用户,同时它的UID和GID通常会变成nfsnobody账号身份 no_all_squash(默认) ->访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组: nfsnobody; anonuid ->匿名用户UID设置值,可自行设置,但必须在/etc/passwd中存在;在多台客户端共享一个nfs目录时,可通过此参数使得不同的客户端写入的数据保持相同的用户权限 anongid ->匿名用户组 6)、其它参数 wdelay(默认) -> 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率; no_wdelay ->若有写操作则立即执行,应与sync配合使用; subtree_check(默认) ->若输出目录是一个子目录,则nfs服务器将检查其父目录的权限; no_subtree_check ->即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
客户端挂载
开启客户端自动挂载
把挂载的命令放入/etc/rc.local中,以实现开机自动挂载
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142061.html