• NFS即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
  • 安装NFS
yum install -y nfs-utils
    • 启动NFS服务

      • CentOS 6

        • service rpcbind start
        • service nfs start
      • CentOS 7 
        • systemctl start nfs.service
    • 网络文件系统的机制

      • 应用层对内核发起系统调用,内核的接口接受到系统调用的时候,并不在本地执行系统调用的代码,而是将这段代码通过网络发送给监听在另一台主机上的套接字程序,使得这段代码在另一台主机中的内核执行,并访问另一台主机上的块设备,之后再将结果原路返回给发起网络请求的主机。
      • PC:procedure call
      • RPC :remote procedure call 
        • rpc.mountd:主要用户完成认证机制和给远程的主机发放挂载令牌
        • rpc.lockd
        • prc.statd
      • (1)服务端安装nfs-utils,服务端的程序名就叫nfs
      • (2)编辑/etc/exports文件,指定允许挂载共享文件系统的主机 
        • 一般每一行的格式为:共享目录 给哪个网段共享(选项1 , 选项2)

          • 例如:/data 192.168.0.0/16(rw) 将本地的/data目录共享给192.168网段的主机挂载,并且有读写权限
      • (3)重新导出文件系统,让内核重读/etc/exports文件,不需要重启nfs服务 
        • exportfs -r (重新导出export list)
      • (4)在客户端查看导出的共享文件系统 
        • showmount -e 192.168.10.202
      • (5)客户端挂载远端共享的文件系统 
        • mount -t nfs 192.168.10.202:/data /web/html
      • (6)客户端通过文件系统挂载信息查看 
        • df -h 或 mount
      • (7)在服务端设置共享文件系统目录的访问权限 
        • 1:可以直接设置chmod
        • 2:可以通过setfacl 来设置 
          • setfacl -m u:archlinux:rwx /data (如果archlinux的uid为2000)
      • (8)在客户端有一个本地用户hadoop,其uid也为2000 
        • su - hadoop
        • 那么hadoop就能够在/web/html目录有读写权限(因为在/etc/exports文件中对于远端的主机只有读写权限)
    • 对于/etc/exports文件中,指定客户端访问的权限字段说明 
      • 主机名格式(大多使用的是IP)

        • 单个主机:ipv4 , ipv6 , FQDN
        • IP networks : 两种掩码格式均支持,例如:192.168.0.0/255.255.0.0 或者 192.168.0.0/16
        • wildcards:主机名通赔,例如:*uplooking.com
        • netgroups:NIS域内的主机组,@group_name
        • anonymous:使用* 表示所有的客户端主机
      • General Options 
        • rw:读写权限
        • root_squash:压缩root用户的权限
        • no_root_squash:不压缩root用户的权限
        • all_squash:压缩所有的用户
        • anonuid and anongid:映射至哪个用户
        • ro:只读

NFS 它的目的就是想让不同的机器、不同的作业系统可以彼此分享个别的档案啦的更多相关文章

  1. Go推出的主要目的之一就是G内部大东西太多了,系统级开发巨型项目非常痛苦,Go定位取代C++,Go以简单取胜(KISS)

    以前为了做compiler,研读+实现了几乎所有种类的语言.现在看语法手册几乎很快就可以理解整个语言的内容.后来我对比了一下go和rust,发现go的类型系统简直就是拼凑的.这会导致跟C语言一样,需要 ...

  2. NFS服务器原理

    NFS服务器   port:2049      NFS 为 Network FileSystem 的简称,它的目的就是想让不同的机器.不同的操作系统可以彼此分享个别的档案啦!目前在 Unix Like ...

  3. Ubuntu NFS搭建过程

    先简单介绍一下NFS服务器是什么? NFS server可以看作是一个FILE SERVER,它可以让你的PC通过网络将远端的NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT ...

  4. Hbase学习02

    第2章 Apache HBase配置 本章在“入门”一章中进行了扩展,以进一步解释Apache HBase的配置. 请仔细阅读本章,特别是基本先决条件,确保您的HBase测试和部署顺利进行,并防止数据 ...

  5. 分布式框架Celery(转)

    一.简介 Celery是一个异步任务的调度工具. Celery 是 Distributed Task Queue,分布式任务队列,分布式决定了可以有多个 worker 的存在,队列表示其是异步操作,即 ...

  6. linux:什么是linux

    1>.linux是一套作业系统(linux就是核心与呼叫这两层),每一种作业系统都是在他专门的硬体机器上面运行的:linux是一个Open Source的作业系统,具有可移植性 2>.li ...

  7. ARM 处理器:RISC与CISC 是什么?【转】

    转自:https://blog.csdn.net/willsun2017/article/details/83388990 完全看懂 ARM 处理器:RISC与CISC 是什么? 历史.架构一次看透 ...

  8. 网络文件系统(NFS)简介

    网络文件系统(Network File System, NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布.其功能旨在允许客户端主机可以像访问本地存储 ...

  9. Linux下NFS服务器的搭建与配置

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

随机推荐

  1. 实验三 敏捷开发与XP实践-1

    实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实 ...

  2. 20155307 2016-2017-2 《Java程序设计》第4周学习总结

    20155307 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 所谓继承,讲的就是出现很多很多相同的部分的话,就把这个部分变成"父类", ...

  3. 20155320 实验四 Android程序设计

    20155320 实验四 Android程序设计 实验内容 (一)Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for ...

  4. Caliburn.Micro - Getting Started - Introduction

    Caliburn.Micro Xaml made easy Introduction When my “Build Your Own MVVM Framework” talk was chosen f ...

  5. 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)

    前段时间,学习了一下mongodb,在客户端工具方面,个人认为 NoSQL Manager for MongoDB 是体验比较好的一个,功能也较齐全.可惜在找教程的时候,发现很难找到比较详细的教程,也 ...

  6. day2 Opencv + image

    [参考网站]http://backyardlife.duapp.com/duan/ 1.目标: 读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像 cv2.imread(),cv2.imshow() ...

  7. 【LG4169】[Violet]天使玩偶/SJY摆棋子

    [LG4169][Violet]天使玩偶/SJY摆棋子 题面 洛谷 题解 至于\(cdq\)分治的解法,以前写过 \(kdTree\)的解法好像还\(sb\)一些 就是记一下子树的横.纵坐标最值然后求 ...

  8. java阻塞队列之ArrayBlockingQueue

    在Java的java.util.concurrent包中定义了和多线程并发相关的操作,有许多好用的工具类,今天就来看下阻塞队列.阻塞队列很好的解决了多线程中数据的安全传输问题,其中最典型的例子就是客园 ...

  9. Spring学习(九)-----Spring bean配置继承

    在 Spring,继承是用为支持bean设置一个 bean 来分享共同的值,属性或配置. 一个子 bean 或继承的bean可以继承其父 bean 的配置,属性和一些属性.另外,子 Bean 允许覆盖 ...

  10. 【C#利用后台动态加载数据】Winform“防界面卡死”【BackgroundWorker】类

    using System.ComponentModel 直接使用EgProgressBar方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 ...