NFS网络文件系统的配置

NFS网络文件系统

NFS(network file system)网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。

NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。

网络文件系统的作用:

可以用于多台服务器之间的文件共享;

可以给无法扩容的服务器,增加存储空间。

实验环境:

nfs01    10.0.0.31                    nfs服务端

Web01/ Web02    10.0.0.7/10.0.0.8    nfs客户端

1、安装

每台机器均需要安装相关软件

yum install rpcbind nfs-utils -y或yum install nfs-utils –y    

yum会自动解决安装rpcbind依赖包

 

2、配置nfs服务端

man exports查看配置参数介绍

NFS权限参数配置(红色标记为常用参数)

ro 只读访问

rw 读写访问

sync 所有数据在请求时写入共享(同步)1->2->3->2->1

async NFS在写入数据前可以相应请求(异步)1->2->1    2->3->2相对安全性较低,时间较短

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

wdelay 写延迟,如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 不写延迟,如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录(为了确保安全常用)

no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认), root_squash 登入NFS主机,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root)

的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份

no_root_squash root用户具有根目录的完全管理访问权限 ,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权限,这个参数『极不安全』,不建议使用

anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

#若指定匿名uid和gid权限映射,则需要修改配置文件对应的相应用户权限

nfs上的相应用户和其他机器的另外一个用户id号相同,则映射成本机的相应用户,实现不同机器只有自己的权限

vim /etc/exports

/backup 192.168.1.0/24(rw,async,no_root_squash,no_all_squash)

/backup 192.168.1.7/32(rw,async,no_root_squash,no_all_squash)

/backup 192.168.1.8/32(rw,async,no_root_squash,no_all_squash)

同一个配置文件对多个客户端以不同权限

/backup 192.168.1.8/32(rw,async,no_root_squash,no_all_squash) 192.168.1.7/32(ro)

关于权限的分析

1. 客户端连接时候,对普通用户的检查

  a. 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户;

  b. 如果NFS server上面有同名用户,那么此时客户端登录账户的身份转换为NFS server上面的同名用户;

  c. 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody;

2. 客户端连接的时候,对root的检查

  a. 如果设置no_root_squash,那么此时root用户的身份被压缩为NFS server上面的root;

  b. 如果设置了all_squash、anonuid、anongid,此时root 身份被压缩为指定用户;

  c. 如果没有明确指定,此时root用户被压缩为nfsnobody;

d. 如果同时指定no_root_squash与all_squash 用户将被压缩为 nfsnobody,如果设置了anonuid、anongid将被压缩到所指定的用户与组;

 

3、服务端启动

/etc/init.d/rpcbind start

/etc/init.d/nfs start

rpcinfo -p localhost    查看此时rpc服务上面是否有端口注册

 

4、客户端启动

/etc/init.d/rpcbind start

 

5、客户端挂载使用

showmount    命令用于查询NFS服务器的相关信息

-e或--exports显示NFS服务器的输出清单

showmount -e 192.168.1.31        查看服务端下那些目录可以挂载

mount -t nfs 192.168.1.31:/backup /mnt    挂载        -t指定文件系统的类型

df -h        检查挂载情况

 

6、rpcbind与nfs的关系

netstat -lntup|grep -v sshd|grep -v rpcbind|awk -F "[: ]+" '{print $4,$5}'|sed 's#0.0.0.0##'|grep -Eo '[0-9]+'|sort -n|uniq    #查看nfs相关端口

NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:

 

 

博主原创文章,转载请务必注明出处

NFS网络文件系统的配置的更多相关文章

  1. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  2. NFS网络文件系统安装配置

    简介 NFS(Network File System)FS是由Sun开发并发展起来的一项用于在不同机器,不同操作系统之间通过网络共享数据.客户端用mount命令把远程的NFS文件系统挂载到本地即可,操 ...

  3. [学习嵌入式开发板]iTOP-4412实现NFS网络文件系统

    本文转自迅为:http://www.topeetboard.com 学习平台:iTOP-4412开发板 本文讲解如何在 iTOP-4412 开发板上实现 NFS 网络文件系统. 我们使用的软硬件环境是 ...

  4. NFS(网络文件系统的搭建)

    关于NFS的原理,我在这就不概诉了,其实非常简答的理解就是一个网络磁盘,你需要把它挂载到你的磁盘上使用而已.那接下来谈谈如和搭建NFS网络文件系统. 需要使用2台机器作此实验,我分别配置IP为192. ...

  5. 三者互ping,PC,虚拟机,uboot,nfs网络文件系统搭建

    要想实现三者互ping,韦老师虽然专门出了视频说明,但是在自己配置过程还是出现了问题,这里记录一下解决办法,虽然我也不知道原因,但是解决了出现的问题也实现了三者互ping. 首先,我的硬件设备是PC通 ...

  6. Linux系统——NFS网络文件系统

    在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资 ...

  7. Linux基础学习-NFS网络文件系统实时文件共享

    NFS网络文件系统 如果大家觉得Samba服务程序的配置太麻烦了,那么你共享文件的主机都是Linux系统,那么推荐大家在客户端部署nfs服务来共享文件.nfs(网络文件系统)服务可以将远程Linux系 ...

  8. Centos6.6 安装nfs网络文件系统

    一.介绍 nfs网络文件系统的,大部分用在内网文件共享,比如,对集群上传文件做共享,经常用在图片部分,当然数据量大了还是要做分离,做为专门的接口比较好,介绍一下基本安装环境: 1)Cnetos6.6 ...

  9. linux初学者-NFS网络文件系统篇

    linux初学者-NFS网络文件系统篇 在上一篇的SAMBA篇中介绍了linux系统和windows系统之间共用的网络文件系统CIFS,主要用于客户端是windows的情况.在linux系统之间,所用 ...

随机推荐

  1. 洛谷 P1136 迎接仪式 解题报告

    P1136 迎接仪式 题目描述 LHX教主要来X市指导OI学习工作了.为了迎接教主,在一条道路旁,一群Orz教主er穿着文化衫站在道路两旁迎接教主,每件文化衫上都印着大字.一旁的Orzer依次摆出&q ...

  2. Codeforces:Good Bye 2018(题解)

    Good Bye 2018! 题目链接:https://codeforces.com/contest/1091 A. New Year and the Christmas Ornament 题意: 给 ...

  3. git的回退和撤销操作

    回退是git的使用中很常用的一个操作,如果清楚各个回退命令的作用,不仅大大加快代码回退的效率,还能避免代码回退造成的事故 1.git reset --hard [commit] 清空暂存和未暂存的更改 ...

  4. 常用sql语句 DML语句

    1.select  *|字段名 from 表名 [where 条件] [order by 排序 asc|desc] [limit 限制输出 startrow,pagesize] 查询 2.insert ...

  5. UVA 10652 Board Wrapping(二维凸包)

    传送门 刘汝佳<算法竞赛入门经典>P272例题6包装木板 题意:有n块矩形木板,你的任务是用一个面积尽量小的凸多边形把它们抱起来,并计算出木板占整个包装面积的百分比. 输入:t组数据,每组 ...

  6. 行为型设计模式之中介者模式(Mediator)

    结构 意图 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 适用性 一组对象以定义良好但是复杂的方式进行通信.产生的相互 ...

  7. Hidden (NOIP模拟赛)(字符串模拟QAQ)

    原题传送门 神奇的题目诶 原来以为字符串比较一定要O(NlogN) 结果发现可以均摊O(N) 首先我们来讲一讲原理 我们有3个指针i,j,k i=0,j=1,k=0 一开始我们不断对k+1直到找到ch ...

  8. 安装ubuntu配置ssh

    vmware安装ubuntu后,必须配置网卡,重新设置MAC,否则无法连接网络(具体方法百度)NAT直连模式xshell连接时host为ifconfig显示的IP地址,不需要设置端口转发,端口还是22 ...

  9. ios 改变图片大小缩放方法

    http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/39089858 ...

  10. django怎么自己创建一个中间件

    中间件是什么? 中间件是类似flask函数中钩子函数的东西.可以在请求视图函数前,或者视图函数响应后处理某些事情.中间件对全部视图都有效! 中间件一般会有两个方法,process_request和pr ...