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

[经验分享] NFS文件系统详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-30 09:39:01 | 显示全部楼层 |阅读模式
                      NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

nfs工作流程图:
wKioL1dHiaaR-CoOAACMHUlldWM952.jpg


server:
安装:
1
[iyunv@sherry ~]# yum install nfs-utils rpcbind    -y



启动:
1
2
3
4
5
6
7
[iyunv@sherry ~]# /etc/init.d/rpcbind start
[iyunv@sherry ~]# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]   #磁盘检查
Starting NFS mountd:                                       [  OK  ] #等待客户端挂载 挂载守护进程,负责客户端来源认证的进程
Starting NFS daemon:                                       [  OK  ]#守护进程   文件读写nfs
Starting RPC idmapd:                                       [  OK  ]#id号映射



进程说明:
1
2
3
4
5
6
7
8
[iyunv@sherry ~]# rpcinfo  -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper         #rpc
    100005    3   tcp  48973(随机)  mountd
    100003    2   tcp   2049  nfs                 #文件读写
    100227    3   tcp   2049  nfs_acl             #访问控制列表
    100021    1   udp  41315(随机)  nlockmgr      #锁管理器
    100011    2   tcp    875  rquotad               #磁盘资源配额



配置文件:
帮助:
1
[iyunv@sherry ~]# man exports



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/etc/exports:
    文件系统   客户端1(文件系统导出属性)     客户端2(文件系统导出属性)
        文件系统
        客户端:
            IP: 172.16.100.8
            Hostname: *.magedu.com
            Network:
               常用文件系统导出属性:
            rw
            async 默认异步  
            sync  同步性能差
            root_squash:默认 压缩root用户,基于imapd,将root通过网络访问时转换为nfsnobody用户
            no_root_squash: 不压缩root用户;
            all_squash: 压缩所有用户;
            anonuid, anongid: 指定匿名用户映射为的UID和GID;



1
2
3
4
[iyunv@sherry nfsshared]# vim /etc/exports
/nfsshared/node1  192.168.1.0/24(rw)
#/nfsshared/node1  192.168.1.0/24(rw,anonuid=304)  304 nginx
#/nfsshared/node1  192.168.1.0/24(rw,all_squash)  nfsnobody



重启服务:   
1
2
3
4
5
6
7
8
9
10
[iyunv@sherry nfsshared]# /etc/init.d/nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]



client:
1
2
3
4
5
6
7
8
9
[iyunv@marvin ~]# yum install nfs-utils rpcbind -y   
[iyunv@marvin ~]# rpcinfo -p sherry      #nfs客户端执行 需要安装rpcbind
program vers proto   port  service  (每项都多个)
    100000    2   udp    111  portmapper
    100011    2   tcp    875  rquotad
    100005    3   tcp  33671  mountd
    100003    2   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100021    4   tcp  36734  nlockmgr



1
2
3
[iyunv@marvin ~]# showmount -e sherry   #nfs客户端执行  需要安装nfs-utils
Export list for sherry:
/nfsshared 192.168.1.0/24



客户端挂载:
1
2
3
4
5
6
7
8
9
10
11
[iyunv@marvin ~]# mkdir /mnt/nfs/node1 -pv
mkdir: created directory `/mnt/nfs'
mkdir: created directory `/mnt/nfs/node1'
[iyunv@marvin ~]# mount -t nfs sherry:/nfsshared/node1 /mnt/nfs/node1/
[iyunv@marvin ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv1      5.7G  2.6G  2.9G  47% /
tmpfs                    491M     0  491M   0% /dev/shm
/dev/sda1                194M   29M  155M  16% /boot
/dev/mapper/vg0-lv3      3.0G   69M  2.8G   3% /mydata
sherry:/nfsshared/node1  2.5G   67M  2.3G   3% /mnt/nfs/node1





模拟nginx程序写文件:
服务器:
1
2
3
4
[iyunv@sherry nfsshared]# vim /etc/exports /nfsshared/node1  
192.168.1.0/24(rw,anonuid=304)   
[iyunv@sherry nfsshared]# /etc/init.d/nfs start
[iyunv@sherry nfsshared]# setfacl -m user:nginx:rwx node1/



测试:
1
2
3
4
5
6
7
#client
[iyunv@marvin node1]# touch a
#server
[iyunv@sherry nfsshared]# cd node1/
[iyunv@sherry node1]# ll
total 0
-rw-r--r-- 1 nginx nfsnobody 0 May 26 23:02 a



配置文件reload:
1
exportfs  -rav



1
2
3
4
5
exportfs:
        -a: 操作所有文件系统
        -ra: 重新导出所有文件系统
        -ua: 取消导入的所有文件系统
        -v: 显示详细信息



over
                   


运维网声明 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-223755-1-1.html 上篇帖子: rsync配置参考 下篇帖子: Linux centos通过安装lszrz用CRT实现与Windows互相传文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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