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

[经验分享] Linux之NFS基础总结及应用实践

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-9 08:55:11 | 显示全部楼层 |阅读模式
一、简介
    NFS(Network File System)即网络文件系统,允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
    特性:节省本地存储空间、共享存储空间、 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用
    NFS工作原理
QQ截图20151109085359.png
    简要说明:NFS并不是单独存在的,它和另外2个模块共同存在(即:NFS,RPC,PORTMAP),试想两台网络当中的主机如何进行通讯,当然只有通过ip+port来发送数据。远程客户端进行nfs请求,RPC获得请求,通知PORTMAP来获取端口号,然后PORTMAP将可用的端口号传给NFS、RPC,然后NFS模块再进行权限检验,如果有足够的权限,RPC就通过PORTMAP给出的端口进行数据传输,并通过该端口到达客户端。

二、简要说明NFS配置文件
    1、NFS服务主配置文件在/etc/exprots,“exports”文件用于配置NFS服务器中输出的共享目录,如
    #im /etc/exports
    /nfs/share *(sync,ro)
   注:/nfs/share为nfs共享目录名、*为客户端主机地址、(sync,ro)是设置选项
   客户端主机地址指能够访问共享目录的主机地址,可以有以下几种方式:
   指定IP地址的主机:192.168.1.x
   指定网段中的所有主机:192.168.1.0/24
   指定域名的主机:www.test.com
   指定域下的所有主机:*.test.com
   所有主机:*
   设置选项指设置共享目录的属性,要用()括起来,多个选项间用逗号分隔
   sync :设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项
   ro :设置输出的共享目录只读,与rw 不能共同使用
   rw :设置输出的共享目录可读写,与ro 不能共同使用
   其他常用用户选项:
   root_squash:不允许 root 用户访问挂载上来的 NFS 卷
   no_root_squash:允许 root 用户访问挂载上来的 NFS 卷
   all_squash:限制所有的 UID 和 GID,只使用匿名用户。缺省设置是 no_all_squash。
   anonuid、anongid:将匿名 UID 和 GID 修改成特定用户和组帐号。
三、NFS应用实践
    实践要求:建立nfs共享,将主机192.168.1.100上的目录/magedu通过nfs共享给192.168.1.0/24网络的主机以异步读写方式使用;当nfs服务器不允许root用户访问共享文件,即映射为服务器端的nfsuser用户
    环境:centos 6.7(最小化安装)
    检查已安装NFS(如能看到nfs-utils rpcbind两个相关的包即为已安装,如未安装直接yum -y install nfs*即可)
    [iyunv@hc01 ~]# rpm -qa|grep nfs
    nfs4-acl-tools-0.3.3-7.el6.x86_64
    nfs-utils-1.2.3-64.el6.x86_64
    nfs-utils-lib-1.1.5-11.el6.x86_64
    [iyunv@hc01 ~]# rpm -qa|grep rpcbind
    rpcbind-0.2.0-11.el6.x86_64
    1、创建nsfuser用户,mageedu目录并在目录创建test.txt测试文件,设置NFS主配置文件
    #useradd nfsuser
    #mkdir /mageedu   
    #touch test.txt
    #vi /etc/exports
    /mageedu 192.168.1.100/24(rw,async,root_squash,anonuid=501,anongid=501)
QQ截图20151109085409.png
    2、启动nfs服务,必须可以正常看到以下5个进程启动
QQ截图20151109085417.png
    3、客户端查看挂载nfs并验证是否访问正常,这里以192.168.1.101为客户端
    [iyunv@hc02 ~]# showmount -e 192.168.1.100
    Export list for 192.168.1.100:
    /mageedu 192.168.1.100/24
    [iyunv@hc02 ~]# mount -t nfs 192.168.1.100:/mageedu /mnt
    [iyunv@hc02 ~]# ls /mnt/
    test.txt
QQ截图20151109085424.png
    4、客户端在挂载/mnt目录下创建hc02.txt,验证客户端root权限是否有权限
    [iyunv@hc02 ~]# cd /mnt/
    [iyunv@hc02 mnt]# ls
    test.txt
    [iyunv@hc02 mnt]# touch hc02.txt
    提示:权限拒绝 QQ截图20151109085431.png
    注:由于在挂载参数指定了root匿名用户的权限,映射为普通用户nfsuser的权限501来访问。该用户在服务器端/mageedu上是没有权限写入的。这是我们可以验证在NFS Server(192.168.1.100)上的/mageedu目录下创建一个让nfsuser用户可读可写的目录rw_user
    [iyunv@hc01 /]# ll -d /mageedu/
    drwxr-xr-x 2 root root 4096 Nov  7 01:50 /mageedu/
    #mkdir /mageedu/rw_user
    #setfacl -m u:nfsuser:rwx /mageedu/read_write  (注意该命令是设置权限)
    这是在客户端挂载的/mnt/rw_user目录下,新建hc02.txt,可以正常创建,并且在nfs服务器端查看
QQ截图20151109085439.png



运维网声明 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-136808-1-1.html 上篇帖子: Linux之Samba基础知识及应用 下篇帖子: Linux远程图形界面 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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