nfs服务

nfs简介

Network file system 网络文件系统。NFS server可以看作是一个 file server。它可以让你的pc通过网络将远端的nfs server共享出来的文件到自己的系统中,在客户端看来使用NFS的远端文件就像在使用本地文件

版本: NFS(rfc 1094), NFS V3(rfc 1813) NFS V4(rfc 3010 )这是最新版本

二各版本之间的差别
V3相对于V2主要差别
1,文件尺寸
V2最大支持32BIT的文件(4G),V3新增加了支持64BIT文件大小的技术
2,文件传输尺寸
V3没有限定传数尺寸,V2最多只能设定为8K,可以用-rsize and -wsize来进行设定

3,完整的信息返回
V3增加和完善了许多错误和成功信息的返回,对于服务器的设置和管理能带来很大好处

4,异步写入特性(V3新增加的)
NFS V3能否使用异步写入,这是可选择的一种特性。客户端发送一各异步写入请求到服务器,在给客户端答复之前并不是要将数据写入大存储器中(稳定的)。服务器能确定何时写入数据或将多个写入请求聚合到一起并加以处理,然后去写入。客户端能保持一个数据的copy以防服务器不能完整的将数据写入。当客户端希望释放这个copy的时候,它会向服务器通过这个操作过程,以确保每个操作步骤的完整。异步写入能够使服务器去确定最好的同步 数据的策略。使数据能尽可能的同步的提交和到达。这样的机制能够更好的实现数据缓冲和更多的平衡。V2在将数据写入存储器之前不能再相应任何的写入请求。

V4相对于V3:
1,在协议中增强了安全方面的特性
2,增强恶毒跨平台特性
3,改进了INTERNET上的存取和执行效能

工作原理

NFS本身是没有提供信息传输的协议和功能,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了其他的传输协议,这些传输协议用到这个RPC功能可以说NFS本身就是使用RPC的一个程序所以只要用到NFS服务的地方都要启动RPC服务/不管是客户端还是服务端/可以这么理解:NFS是一个文件系统,而RPC是负责信息的传输

配置

服务端设定:
vim /etc/exports
分享的目录 主机名(参数)
参数:
 rw: 可擦写的权限
 ro: 只读的权限
no_root_squash: 登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于
这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!
 root_squash: 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者
的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
 all_squash: 不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,
通常也就是 nobody 啦!
 anonuid: 前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody,但是
你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中!
 anongid: 同 anonuid ,但是变成 group ID 就是了
 sync: 资料同步写入到内存与硬盘当中
 async: 资料会先暂存于内存当中,而非直接写入硬盘
设置的实例:
 a). /tmp (rw,no_root_squash)  //号表示所有的IP都可以访问
 b). /tmp (rw)
  /home/public 192.168.0.
(rw) (ro)  //下面两行作用一样
  /home/public 192.168.0.0/24(rw)
(ro)
 c). /home/test 192.168.0.100(rw) //只对某部机器设置权限
 d). /home/linux .linux.org(rw,all_squash,anonuid=40,anongid=40) //当.linux.org登陆
此NFS主机,并且在/home/linux下面写入档案时,该档案的所有人与所有组,就会变
成/etc/passwd里面对应的UID为40的那个身份的使用者了.
2)exportfs的用法
如果我们修改了/etc/exports后,并不需要重启nfs服务,只要用exportfs重新扫
描一次/etc/exports,并且重新加载即可
 语法: exportfs [-aruv]
 -a: 全部挂载(或卸载) /etc/exports档案内的设定
 -r: 重新挂载/etc/exports里面的设定,也同步的更新/etc/exports和/var/lib/nfs/xtab
里面的内容
 -u:卸载某一目录
 -v:在export的时候,将分享的目录显示到荧屏上.
 例子
exportfs -rv//重新export一次
exportfs -au//全部卸载

3)showmount用法
 语法: showmount [-ae] hostname
 -a: 显示目前主机与client所连上来的使用目录的状态
 -e: 显示hostname的/etc/exports里面共享的目录

客户端设定:
mount -t nfs hostname(orIP):/directory /mountpoint  搞定,就这么简单
 为了担心会不小心将 NFS 端挂进来的具有 SUID 权限档案的程序执行,root可
以将NFS 所分享的目录以较为安全的情况挂载进来,可以
mount -t nfs -o nosuid,ro hostname:/directory /mountponit

可能会遇见的问题:
1.权限的设定不符合
2.忘记了激活portmap,此时会报错:
 mount: RPC: Port mapper failure - RPC: Unable to receive 或者
 mount: RPC: Program not registered
 那么,启动portmap,并且重新启动nfs
 #service portmap start
 #service nfs restart
3.被防火墙搞掉
 重新设置防火墙,包括iptables与TCP_Wrappers,因为激活了portmap,所
以port 111必须提供出去.因此在iptables rules中,要增加:
 iptables -A INPUT -p TCP --dport 111 -j ACCEPT
 iptables -A INPUT -p UDP --dport 111 -j ACCEPT
如果还不行,那就是TCP_Wrappers的问题,检查/etc/hosts.deny,如果有一行是:
  ALL: ALL: deny
 那就必须在/etc/hosts.allow中增加:
  portmap: ALL: allow

nfs服务的配置的更多相关文章

  1. NFS服务的配置与应用

    一.NFS服务概述 NFS(Network File System),即网络文件系统,是使不同计算机之间能够通过网络进行文件共享的一种网络协议,多用于Linux/Unix网络系统中. 一台NFS服务器 ...

  2. nfs服务权限配置

    nfs服务权限配置 1. 查看系统是否已经安装了服务Rpm -qa | grep nfs 2. 启动服务,并且开机自动运行Systemctl start nfsSystemctl enabled nf ...

  3. window nfs 服务端配置安装

    windows7下面安装nfs客户端命令(首先开启windows客户端mount挂载命令): 打开或关闭windows功能>nfs服务(勾选上)重启   windows nfs共享有两种方式分别 ...

  4. NFS服务基本配置及使用

    操作系统:redhat 7.2 参考链接:https://www.cnblogs.com/dscode/p/6146409.html NFS:Network File System 一.服务器端配置 ...

  5. Linux CentOS6.6 NFS服务的配置与安装

    一.简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客 ...

  6. nfs服务安装配置

    一.准备阶段 配置解析主机 检查版本及内核 二.服务端安装 1) 配置yum把下载好的软件留着,下次备用,不用再下载 cachedir=/var/cache/yum/$basearch/$releas ...

  7. shell脚本实现nfs服务安装配置,共享文件分发

    ##############################Deploy nfs######################## echo "start deploy nfs-server& ...

  8. 配置NFS服务

    1. NFS配置,需要安装哪些包?nfs-utils  和 rpcbind2. 如果不开启rpcbind服务,就启动NFS,会怎么样?如果不开启rpcbind服务,会报错:rpc.nfsd: writ ...

  9. CentOS7系列--3.1CentOS7中配置NFS服务

    CentOS7配置NFS服务 1. 配置NFS服务器端 1.1. 安装nfs-utils软件 [root@server1 ~]# yum install -y nfs-utils Loaded plu ...

随机推荐

  1. django在进行模板render(渲染)时,对传过来的是字典中包含字典应用方法

    网上自强学堂参考的 views.py def home(request): info_dict = {'site': u'自强学堂', 'content': u'各种IT技术教程'} return r ...

  2. Leetcode之广度优先搜索(BFS)专题-773. 滑动谜题(Sliding Puzzle)

    Leetcode之广度优先搜索(BFS)专题-773. 滑动谜题(Sliding Puzzle) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary ...

  3. Linux 操作命令简

    一.Linux命令及获取帮助 1.Linux命令的格式1)了解Linux命令的语法格式:命令 [选项] [参数]2)掌握命令格式中命令.选项.参数的具体含义a)命令:告诉Linux(UNIX)操作系统 ...

  4. Installation failed with message Failed to commit install session 634765663 with command cmd package

    用小米真机测试时,安装app总会提示这个错误两遍,然后再重新安装. 解决办法:去掉这个√.

  5. Redhat更换Centos源

    redhat默认自带的yum源需要注册,才能更新,报错: This system is not registered to Red Hat Subscription Management. You c ...

  6. 【转帖】SQL Server 各版本发布时间和开发代号

    SQL Server 各版本发布时间和开发代号 2019年01月23日 11:07:44 努力挣钱娶媳妇的苗同学 阅读数 278 https://blog.csdn.net/weixin_446098 ...

  7. 掌握Mybatis的核心配置文件

    一.配置文件结构 MyBatis的核心配置文件配置了MyBatis的一些全局信息,包含数据库连接信息和MyBatis运行时所需的各种特性,以及设置和影响MyBatis行为的一些属性. 该配置文件的元素 ...

  8. Jmeter的操作流程

    1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具.用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域 ...

  9. JAVA二维码编码&解码

    QRCodeUtil.java package web; import java.awt.AlphaComposite; import java.awt.Color; import java.awt. ...

  10. Docker 容器简介与部署

    关于Docker容器技术 参考文献:<docker 从入门到精通> Docker容器简介 Docker的构想是要实现 "Build,Ship and Run Any App,An ...