设为首页 收藏本站
查看: 1058|回复: 0

[经验分享] nfs协议详解与配置实现

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-26 09:34:03 | 显示全部楼层 |阅读模式
理论部分
    NFS(网络文件系统):让网络上的不同linux/unix系统机器实现文件共享

    nfs本身只是一种文件系统,没有提供文件传递的功能,但却能让我们进行文件的共享,原因在于 NFS 使用RPC服务,用到NFS的地方都需要启动RPC服务,无论是NFS客户端还是服务端
    nfs和rpc的关系:nfs是一个文件系统,负责管理分享的目录;rpc负责文件的传递

    nfs启动时至少有rpc.nfsd和rpc.mountd2个daemon
         rpc.nfsd主要是管理客户机登陆nfs服务器时,判断改客户机是否能登陆,和客户机ID信息。
         Rpc.mountd主要是管理nfs的文件系统。当客户机顺利登陆nfs服务器时,会去读/etc/exports文件中的配置,然后去对比客户机的权限。
    协议使用端口:

            RPC:111 tcp/udp

            nfsd:  2049 tcp/udp
            mountd:RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯 ,可以在/etc/nfsmount.conf文件中指定mountd的端口         


      wKioL1e-llSAJLfvAADbUwL1YWI317.jpg
(图片来自网络)
    nfs服务器启动nfs服务时,先向rpc服务注册,然后通过rpc服务来监听客户端的请求;

    客户端连接过程:

            1、客户端的rpc服务向服务端的rpc服务询问nfsd和mountd的端口并测试连通性
            2、客户端发送挂载请求

            3、服务端根据/etc/exports配置文件确定是否允许挂载

            4、挂载成功/失败


NFS服务器安装与配置
1、安装nfs-utils和nfs-utils-lib
1
2
yum install nfs-utils -y    #nfs服务的主程序包
yum install nfs-utils-lib -y    #nfs支持库



2、nfs的主配置文件为/etc/nfsmount.conf 一般默认即可,在此不做介绍
3、修改/etc/exports添加共享目录
        内容格式:

                共享目录        客户端(导出选项)

客户端指定方式example
单个IP地址192.168.10.5
网段192.168.10.0/24、192.168.10.0/255.255.255.0 、192.168.10.*
域名linux.lzs.org
指定所在域内的所有客户端*.lzs.org
使用通配符*指定所有*

导出选项说明
rw读写权限
ro只读
root_squash当使用root登录时,被映射成nfsnobody(建议使用)
no_root_squash关闭root_squash
all_squash无论以什么身份登录,都映射成nfsnobody
hide在共享目录中不共享子目录
nohide共享NFS目录的子目录
    例如:
1
2
vim /etc/exports
    /tmp/share      *(rw)



4、开启nfs服务
1
service nfs start




管理共享目录
    使用exportfs命令可以共享、显示或不共享/etc/exports中定义的目录

    语法格式:exportfs 选项 [目录]
选项说明
-a共享或不共享/etc/exports中定义的共享目录,常与r或u一起使用
-r重新共享指定目录
-u不共享指定目录
-o可以指定导出选项(后面所跟的目录可以不是/etc/exports中的目录)
-v
查看共享的目录及其导出选项

    使用showmount命令可以查看指定服务器的共享目录

    语法格式:showmount -e NFS_IP


    查看/var/lib/nfs/etab文件可以查看nfs服务器共享目录和导出选项的详细信息


客户端挂载nfs文件系统
    mount -t nfs NFS_IP:共享目录 本地挂载点


注意要点:
    1、开启nfs前要确保rpcbind服务已启动

    2、服务端和客户端都要开启rpc服务

    3、最好关闭iptables和selinux

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-263173-1-1.html 上篇帖子: linux程序安装-yum库or源码包编译 下篇帖子: dhcp协议详解与在linux上的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表