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. Ubuntu16.04使用apt安装完nginx常见问题

    1.安装完并remove掉后重新install后没nginx.conf文件 解决办法: apt-get -y --purge remove nginx* apt-get -y autoremove a ...

  2. mssql表分区

    1:表分区 什么是表分区一般情况下,我们建立数据库表时,表数据都存放在一个文件里.但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小 ...

  3. Angularjs E2E test Report/CoverageReport

    前端Angularjs是一个很热门的框架,这篇是学习基于Angularjs的nodejs平台的E2E测试报告和E2E JS覆盖率报告.用到的都是现有的工具,只是一些配置的地方需要注意. 环境前提: 1 ...

  4. 使用robotframework做接口测试三——保持登录状态

    调用登录接口登录了,其他的接口怎么保持登录状态呢?  首先来看一看,web端或者说客户端是怎么样用cookie/token等保持登录状态的.一般来说,cookie都会在登录接口由服务端返回,而且会是在 ...

  5. Datafactory 学习笔记

    1)插入汉字出现乱码的情况 select userenv('language') from dual: select * from V$NLS_PARAMETERS: 把下面变量名和变量值配置到系统环 ...

  6. mariadb(第二章)增删改 MariaDB 数据类型

    MariaDB 数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型 整数:int, bit 小数:de ...

  7. 华为HCNA乱学Round 9:VRRP

  8. 【Python开发】Python中的class继承

    继承是面向对象的重要特征之一,继承是两个类或者多个类之间的父子关系,子进程继承了父进程的所有公有实例变量和方法.继承实现了代码的重用.重用已经存在的数据和行为,减少代码的重新编写,python在类名后 ...

  9. 【VS开发】CTime和CTimeSpan使用

    此文就用一个程序表示,相信只要是学过C语言的都能看得懂的. [html] view plain copy print? // CTimeTest.cpp : Defines the entry poi ...

  10. logstash 处理信息规律研究

    1.input file path => "/opt/50910627.log" path => "/path/to/%{+yyyy/MM/dd/hh}.lo ...