Linux下文件共享(NFS)的简单应用

    最近学习了共享文件系统,看NFS比较简单便拿来练练手,没想到同样遇到了不少波折,看来万事开头难,一点没错,不过没关系,有困难才有挑战,有挑战才有进步,在小编不懈的努力下终于可以正常使用NFS了,下面就是小编在学习过程中的一点心得体会,以供参考。

    测试环境:centos6.5,服务器A和B在一个局域网,服务器A内网ip:192.168.1.103,服务器B内网ip:192.168.1.104

    实现目标:服务器A和服务器B实现A磁盘下/data目录的共享。

    首先A服务器下安装nfs,如果你不知道安装包具体的名称,可以使用yum list nfs*命令,查找与nfs相关的所有包,然后找到我们需要的nfs-utils进行安装。

yum list nfs*
yum install nfs-utils

    安装完成后小编就迫不及待的准备启动nfs了

service nfs start
但是居然报错了,“Cannot register service: RPC”,原来NFS本身没有设计自己的传输协议,而是基于RPC协议,因此在启动NFS之前,需要先启动RPC。看了一个教程,说是需要安装portmap包,但是小编yum了半天,也没找到任何与该包匹配的包。仔细一想,教程使用的是rpm,而我使用的yum,会不会两者之间使用的是不同的包呢?于是乎小编又搜索了rpc相关的包,还真找到一个rpcbind包,而且是已经安装了,那么该包是不是我们需要的包呢,先试试吧。

service rpcbind start
service nfs start
没想到居然成功启动了,果然该包是我们需要的包,如果你的系统没有默认安装该包,可以使用命令安装

yum install rpcbind
接着我们就需要配置NFS的配置文件了,该配置文件为/etc/exports,如果没有该文件,我们可以创建它。接着我们打开该文件,做一些简单的设置

/data 192.168.1.104(rw,sync)
这句话什么意思呢?首先/data就是我们需要共享的目录了,192.168.1.104就是想要共享该文件夹数据的另一个服务器的内网ip,后面的rw,sync就是192.168.1.104这台服务器共享该文件夹的一些权限,rw是读写权限,sync是写同步,除了这两种参数之外,还有很多其他的参数,这里就不在一一介绍了,想更加详细的了解该配置文件,可以使用man exports命令查看更详细的使用说明。

    想要使配置文件生效,我们需要重启NFS,当然如果你不想重启的话,可以使用exportfs命令来重载配置文件,这样就不必重启NFS了。如果你在NFS运行中修改了该配置文件,同样可以使用该命令重载配置文件使之生效。

exportfs -rv
   服务器A的配置暂时就告一段落了,接着我们来配置服务器B。服务器B只需要以NFS的形式挂载A的data文件夹即可。最后的/data是服务器B下的文件夹,该文件夹如果不存在需要自行创建。

mount -t nfs 192.168.1.103:/data /data
本以为可以顺利进行,没想到居然报错“ mount:wrong fs type, bad option, bad superblock ”(报错片段),错误的文件类型?搜索了下,原来是服务器B没有安装nfs的缘故,既然没装那就装上吧。

yum install nfs-utils
安装完成后再次进行挂载操作,这次总算可以了。

    迫不及待的想要测试下结果,于是在服务器A的/data文件夹下新建了一个test.txt文本文件,然后打开服务器B的/data文件,奇怪的事情发生了,在/data文件夹下使用ls命令居然没有反应,难道是哪里配置出错了,还是其他什么原因?如果是原来的小编,对于没有任何提示的错误现象可能会茫然若失,不知道该怎么办,因为不知道具体错误,也没办法百度,但是小编好歹在linux圈也混了一段时间,还是有一点常识的,两个服务器之间通信,防火墙莫过于是最大的阻碍,会不会是防火墙的问题呢?带着这个疑惑,小编关闭了服务器A的防火墙。

service iptables stop
然后稍等一会,在看服务器B,ls命令居然执行了,而且还看到了在服务器A下创建的test.txt文件。果然是防火墙阻碍了两台服务器之间的通信。

    经过以上的配置,两台服务器之间已经能够进行NFS文件共享了。

     注意事项

    1.NFS依赖于PRC协议,因此在nfs启动前,首先要启动rpcbind。

    2.需要mount的服务器也必须安装NFS,否则会出现挂载失败,当然mount的服务器可以不必启动nfs。

    3.防火墙会阻碍两台服务器之间的通信,如果是测试环境,可以关闭防火墙,如果是生产环境,不推荐关闭防火墙,可以更改防火墙规则,让两台服务器可以正常通信。

    4.提供共享文件夹的服务器不能关闭NFS,否则其他挂载的服务器的共享文件夹将不能进行任何操作(与防火墙阻碍通信类似,命令得不到执行)。

    小知识

    文章中提到了NFS的配置文件/etc/exports,该文件并非命令,不能使command -h(--help)来查看它的具体用法,那么该如何配置该文件呢?有人说可以去网上查,这确实是一个不错的解决办法,其实还有一个更加简单的办法,那就是使用man命令,例如我们需要查看exports文件的用法,就使用man exports,这样会出来一个与exports相关的文件,该文件不但记录了有关该配置文件的详细介绍说明,各种参数使用,还有各种示例,不可谓不丰富。更重要的是,该说明文件介绍的就是你当前正在使用的配置文件的相关说明,不像是网上,如果版本迭代了,有可能教程就不在使用,使用man不存在该问题。当然,想要使用man命令,则需要使用该配置文件的软件是yum安装的,否则man命令可能会找不到相关的说明文件,当然如果你使用源码安装也不必担心,很多软件都会自带说明文件,例如安装目的下的man文件夹,或者share/man文件夹。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值