NFS需要使用远程过程调用 (RPC),也就是说,我们并不是只要启动NFS, 还需要启动RPC这个服务

服务器端

CentOS 7.4

ip:172.16.0.1

共享/tmp目录

共享/data目录给172.16.0.2

安装nfs

# yum install rpcbind
# yum install nfs-utils
# service rpcbind start
# service nfs start

设置rpcbind和nfs服务开机启动

# chkconfig nfs on
# chkconfig rpcbind on
也可以设置rpcbind和nfs服务只在系统运行级别3和5自动启动。
# chkconfig --level 35 rpcbind on
# chkconfig --level 35 nfs on

配置共享文件夹

在/etc/exports添加:

/data 172.16.0.2(rw) #对指定ip共享共享/data目录

也可以用共享给所有IP

/data *(rw,sync,no_root_squash) #共享/data目录

参数 作用
ro 只读模式
rw 读写模式
root_squash 当NFS客户端使用root用户访问时,映射为NFS服务端的匿名用户
no_root_squash 当NFS客户端使用root用户访问时,映射为NFS服务端的root用户
sync 同时讲数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘,效率更高,但可能造成数据丢失

修改后不用重启nfs,执行以下命令生效:

# exportfs -a

添加读写权限

chmod -R 666 /data

防火墙中开放端口

RedHat在7中更改了系统软件,不再使用iptables作为系统的防火墙,而是使用了FirewallD,但是为了兼容过去的命令也可以使用iptables来设置防护规则。

需要开放rpc(111端口),nfs(2049端口),nfs挂载端口(892端口),其中111和892是tcp,udp都用。

# iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
# iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT

上述配置系统重启后失效,要永久有效,需要修改/etc/sysconfig/iptables-config配置文件,详细请baidu

使用firewall,使用permanent参数,系统重启后依然有效

# firewall-cmd --zone=public --add-port=111/tcp --permanent
# firewall-cmd --zone=public --add-port=111/udp --permanent
# firewall-cmd --zone=public --add-port=892/tcp --permanent
# firewall-cmd --zone=public --add-port=892/ucp --permanent
# firewall-cmd --zone=public --add-port=2049/tcp --permanent
# systemctl restart firewalld.service //重启防火墙
# firewall-cmd --zone=dmz --list-ports //查看开放的端口

重启nfs

# service rpcbind restart
# service nfs restart
# showmount -e    //查看自己共享的目录

客户端

CentOS 7.4

ip:172.16.0.2

挂载172.16.0.1:/data到本地/data目录

# mount -t nfs 172.16.0.1:/data /data

开机自动挂载

在/etc/fstab中添加

172.16.0.1:/data /data nfs defaults 0 0

添加读写权限

chmod -R 666 /data

如果还是出现其他权限问题,比如Permission denied等,可以修改文件夹的所有者为nfsnobody

chown nfsnobody.nfsnobody -R /data

linux中使用nfs共享文件的更多相关文章

  1. 关于linux中关在共享文件的NFS 提示错误解决办法

    0. 查看挂载情况命令 : findmnt 1. 如果在客户机上遇到如下这样的提示错误,有可能的原因是因为没有安装nfs-utils   只需要yum install nfs-utils   就解决了 ...

  2. Linux下通过NFS共享文件夹

    测试环境:CentOS 6.7 服务端 # yum -y install nfs-utils rpcbind # 开启服务 service nfs start service rpcbind star ...

  3. 在linux中访问virtualbox的共享文件夹

    1.在客户机里需要安装Virtualbox的增强功能. 2.使用virtualbox的图形界面设置好共享文件夹. 3.假设你设置的共享文件夹的名称是 share,使用如下命令在客户机的linux系统中 ...

  4. Linux 中NFS服务器的搭建

    serve端IP:192.168.2.128 客户端IP:192.168.2.131 server端配置: 1.安装nfs,rpcbind,可以参考Linux 中yum的配置来安装: yum inst ...

  5. 在WINDOWS2008 Server 中创建NFS服务器,使用LINUX的MOUNT命令去加载网络盘

    1.在WINDOWS服务器中创建NFS SERVER 首先,打开服务管理器,选择添加角色:     选中文件服务,下一步:     出现一个提示,不管它,继续下一步:     在接下来的页面中选中“网 ...

  6. VirtualBox中Linux虚拟机与主机共享文件夹

    VirtualBox中Linux虚拟机与主机共享文件夹 一.Linux虚拟机安装增强功能 二.点击虚拟机 设置-->选择 共享文件夹-->点击右侧的带加号的文件夹图标,执行下面的操作1. ...

  7. linux上挂载windows共享文件夹

    linux上挂载windows共享文件夹 1.共享windows目录 挂载之前得创建一个有password的用户(当前用户也能够),并将你要挂载的目录进行共享,并赋予读写权限 如图. watermar ...

  8. linux下使用NFS挂载文件系统

    转自linux如何使用NFS挂载文件系统 设备:一台服务器和一台客户端,这里我们把装在PC机上的RedHat作为服务器,而客户端则是嵌入式linux开发板. 环境:开发板已启动,连接好串口和网线,串口 ...

  9. 在Linux下访问Windows共享文件夹

    说明 以下操作以Ubuntu为例,大家可以参考. 我在Ubuntu 14.04和16.04都试过了. Windows共享文件夹 如果局域网内有一台Windows主机,将指定文件夹设为共享,就可以在局域 ...

随机推荐

  1. 678 "流浪地球"为什么是个好地方?(系统越复杂拥有好运气的机会也就越大)

    运气,其实就是一个复杂系统孕育出的,超出已知经验的解决方案.它不是没有产生机制.只不过,这个机制太复杂,涉及的因素太多.我们没法复制.所以,我们只能笼统的,把这套机制称为运气,或者命数. 举个例子,假 ...

  2. Xamarin.Android 调用原生的Jar包

    我们有时候会从Android原生开发(Java)转移到Xamarin.Android开发时,需要将过去写好的Android Class Library直接嵌入到Xamarin.Android底下使用, ...

  3. call、apply、bind的用法

    数组追加 //用apply拼接 var arr1=[12,'name:foo',2048]; var arr2=['Joe','Hello']; Array.prototype.push.apply( ...

  4. chrome如何添加扩展程序及登录

    https://jingyan.baidu.com/album/7e440953191a2b2fc0e2ef0c.html?picindex=3

  5. 从零开始学 Web 之 JavaScript(四)数组

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

  6. GC频繁抖动的主要原因

    内存抖动 内存抖动是因为大量的对象被创建又在短时间内马上被释放,如循环中分配对象,很容易引起GC,特别是在较大的循环次数或者一个循环中分配较多的临时对象时. 瞬间产生大量的对象 瞬间产生大量的对象,即 ...

  7. python的Web框架,Django模型系统二,模型属性,及数据库进阶查询

    原始数据接上篇文章来操作.可能需要查看后才能懂.点击这里查看 1.常用的模型字段类型 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fie ...

  8. C#部分类与部分方法

    部分类也可以定义部分方法.部分方法在部分类中定义,但没有方法体,在另一个部分类中执行.在这两个部分类中,都要使用partial关键字. public partial class MyClass { p ...

  9. [android] 调用系统照相机和摄像机

    查看系统照相机源码,找到清单文件查看 查看意图过滤器,action是android.media.action.IMAGE_CAPTURE category是android.intent.categor ...

  10. Redis实现分布式锁的正确使用方式(java版本)

    Redis实现分布式锁的正确使用方式(java版本) 本文使用第三方开源组件Jedis实现Redis客户端,且只考虑Redis服务端单机部署的场景. 分布式锁一般有三种实现方式: 1. 数据库乐观锁: ...