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. Testing - 软件测试知识梳理 - 测试流程

    测试存在于各个阶段: 需求测试--->单元测试--->集成测试--->系统测试--->性能测试--->用户测试--->回归测试 需求测试 完整性&正确性 一 ...

  2. LeetCode:21_Merge Two Sorted Lists | 合并两个排序列表 | Easy

    题目:Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list sh ...

  3. [EXP]Apache Tika-server < 1.18 - Command Injection

    #################################################################################################### ...

  4. 我从来不理解 JavaScript 闭包,直到有人这样向我解释它...

    正如标题所述,JavaScript 闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识. 最近看国外的一些文章,终于,有人用于一种 ...

  5. li内有span需要右浮的问题

    图一和图二换了一下span的位置,但是其页面展示是一样的,兼容性比较好的是第二种

  6. NetMQ 发布订阅模式 Publisher-Subscriber

    第一部分引用于:点击打开 1:简单介绍 PUB-SUB模式一般处理的都不是系统的关键数据.发布者不关注订阅者是否收到发布的消息,订阅者也不知道自己是否收到了发布者发出的所有消息.你也不知道订阅者何时开 ...

  7. php实现猴子选大王

    function getKing($n,$m) { $arr = range(1,$n); $i = 0; while(count($arr) > 1) { if(($i+1) % $m == ...

  8. svgalib_1.4.3 移植

    运行环境 RedHat 6.3 Linux localhost 2.6.32-279.el6.i686 需准备好的文件: libx86_1.1+ds1.orig.tar.gz libx86_1.1+d ...

  9. Python爬虫之多线程下载程序类电子书

      近段时间,笔者发现一个神奇的网站:http://www.allitebooks.com/ ,该网站提供了大量免费的编程方面的电子书,是技术爱好者们的福音.其页面如下:   那么我们是否可以通过Py ...

  10. 菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options

      命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来 ...