• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

Linux下NFS的简介和配置

服务器 奇跡の海 2年前 (2017-01-30) 407次浏览 已收录 0个评论 扫描二维码
一、简介
NFS(Network File System/网络文件系统):
1)、设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务);
2)、NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享;
3)、NFS为C/S架构;
RPC: Remote Procedure Call
Linux: 提供rpc服务的程序, Portmap: 111/tcp, 111/udp
RPC既可以基于二进制格式又可以文本格式(常见的XMLRPC)
下面介绍下NFS工作流程
当客户端请求一个应用程序交给内核后,内核发现用户所请求的内容是网络上其它主机应用程序所提供的时候,内核会自动将请求转发给RPC客户端。假设请求的是文件系统服务器端的文件系统工作在内核,文件系统也需要爱借助于某个应用程序监听在某个套接字上,端口号不需要直接指定。当客户端请求文件系统服务的时候,RPC客户端会向RPC服务器端发送请求,RPC服务器会理解客户端请求的是哪一个RPC服务,所以RPC服务会将应用程序所使用的端口号返回给RPC客户端,当应用程序所对应的服务器工作在网络上时,RPC客户端就可以直接联系应用程序了。(还有一种可能,如果不在网络上时可通过RPC服务器来实现)。
Linux下NFS的简介和配置
二、服务器端安装与配置
服务器端:nfs-utils
service rpcbind start(111端口)(在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)
service nfs start
chkconfig nfs on(注意开启的顺序)
rpcinfo -p localhost   本地主机上rpc程序所监听端口号
nfs启动三个进程: nfsd(nfs服务), mountd(挂载), quotad(配额)
nfsd: 2049/tcp, 2049/udp(注册时用,不改变端口号)
mountd: 端口
quotad: 端口(这两端口号是随机的,编辑配置文件/etc/sysconfig/nfs修改)
nfs实现文件输出的配置文件为/etc/exports
/etc/exports格式:共享的文件路径 客户端列表(多个客户之间使用空白字符分隔)
每个客户端后面必须跟一个小括号,里面定义了此客户访问特性,如访问权限等
文件系统导出属性:
ro:
rw:
sync:
async:
root_squash: 将root用户映射为来宾账号;
no_root_squash: 保留管理员权限
all_squash: 
anonuid, anongid: 指定映射的来宾账号的UID和GID;
例如:/share 192.168.0.0/16(ro)
重启服务
showmount -e NFS_SERVER: 查看NFS服务器“导出”的各文件系统
showmount -e /www 192.168.109.40
我们在两台虚拟机上测试(下面也是)
第一个ip:192.168.109.40
Linux下NFS的简介和配置
第一个ip:192.168.109.120
Linux下NFS的简介和配置
客户端使用mount命令挂载即可使用
mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT  /PATH/TO/SOMEWHRERE
mount -t nfs 192.168.109.40:/www   /mnt
主机上www目录下文件
Linux下NFS的简介和配置
挂载后进入/mnt
Linux下NFS的简介和配置
showmount -a NFS_SERVER: 查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应关系列表
showmount -d NFS_SERVER: 显示NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表
在这里重启服务可能会造成别的用户错误,所以这里用别的方法代替重启服务
exportfs命令:
-a:跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统;
-r: 重新导出
-u: 取消导出
-v: 显示详细信息
exportfs -arv 相当于重启
exports -auv 全部取消用showmount查不到。
在做下一个测试
192.168.109.40中有用户hxk

Linux下NFS的简介和配置

setfacl -m u:hxk:rwx /www
su – hxk
touch test
-rw-rw-r–. 1 hxk  hxk     0 5月  14 12:11 test
然后到客户端也就是192.168.109.120这台主机上
创建组 组号也是2527
groupadd -g 2527 abc
创建用户 id也为2527(与hxk用户一样)
useradd -g 2527 -u 2527 abc
[root@hxk ~]# id abc
uid=2527(abc) gid=2527(abc) 组=2527(abc)

Linux下NFS的简介和配置

不得不承认centos6较centos5发生了很大的变化,在新部署的centos 6.4上又遇到nfs挂载的问题。问题现象是,在配置完nfs后,无论配置里指定的是何用户,挂载成功后显示的只能是nobody用户,本想通过修改/etc/passwd和/etc/group对应的uid和gid号解决,发现重新挂载后,用户仍然是nobody 。
造成该问题的原因是,在centos 6版本中默认使用的nfs-v4版本,其提供了称为rpc.idmapd 的守护进程,并使用 /etc/idmapd.conf 的配置文件。当请求加载nfsv4 时,该守护进程将处理 UID 和 GID 映射。默认使用nis,没有nis它会自动映射成nobody用户。
参考:
http://www.361way.com/nfs-mount-nobody/2616.html(本人没有亲自实验)。
可以将mount写入/etc/fstab中
192.168.109.40:/www       /mnt       nfs         defaults,_rnetdev   0    0

版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->Linux下NFS的简介和配置!在下边可以分享本文哦!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址