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. Numpy 库

    可以直接通过pip安装. pip install numpy 1 NumPy的数值类型 每一种数据类型都有相应的转换函数.使用dtype属性可以查看数组的数据类型.如下. 2 数组操作 使用arang ...

  2. C# Await

    每次提到异步我都选择绕开,感觉深不可测,最近打算看看异步,但又不愿意看书,网上找了几个视频看,发现传智播客的老师讲异步都不是很深入,关键的问题一笔带过,倒是把我弄糊涂了,印象最深刻的是那个老师说的一句 ...

  3. .NET 实现复制粘贴功能

    老是把自己当作珍珠,就时时有怕被埋没的痛苦.把自己当作泥土吧,让众人把你踩成一条道路. -----<泥土>鲁藜 .NET如何实现复制粘贴功能,具体代码如下: aspx文件: <div ...

  4. Android开发 互相调用模式之导出Jar包、扩展MainActivity、Java主导

    首先讲导出Jar包,在以前都是用这种方法,但是现在官方不推荐使用此方法,官方推荐导出Aar包 (1)首先创建一个Android空工程 注意:这里选择API 16,因为Unity支持的最低是API 16 ...

  5. nginx reload的原理

    nginx启动时,会启动两个进程: 一个是Master进程和worker进程.改变配置后nginx做的事1)改变了nginx配置之后,HUP signal的信号需要发送给主进程.2)主进程首先会检测新 ...

  6. webgoat8百度云下载链接

    网络不好的很难下载,网上也没什么好用的下载链接,我就上传了百度网盘,有需要的兄弟自己下. 链接:https://pan.baidu.com/s/1plTxkZUhSZm9vA5GGzYmMQ 提取码: ...

  7. 【机器学习】Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting

    Jackknife,Bootstraping, bagging, boosting, AdaBoosting, Rand forest 和 gradient boosting 这些术语,我经常搞混淆, ...

  8. (转)批量 kill mysql 中运行时间长的sql

    mysql> show full processlist; +--------+------+---------------------+------+---------+------+---- ...

  9. Elasticsearch-日期类型

    Elasticsearch-日期类型 date类型用于存储日期和时间.它是这样运作的:通常提供一个表示日期的字符串,例如2019-06-25T22:47.然后,ES解析这个字符串,然后将其作为long ...

  10. Git 发生Another git process seems to be running in this repository, e.g. an editor opened by 'git commit'.错误

    Git 发生 Unable to create 'D:/Model/test/.git/index.lock': File exists. Another git process seems to b ...