博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cnetos6上实现nfs共享
阅读量:7041 次
发布时间:2019-06-28

本文共 5190 字,大约阅读时间需要 17 分钟。

利用空余时间,做个nfs共享实验,岂不美滋滋!!!

系统测试环境:

主机ip              系统                 主机名(服务)192.168.241.130    centos6.5       hadoop1(nfs-srever)192.168.241.133    centos6.5       hadoop2(nfs-client1)192.168.241.134    centos6.5       hadoop2(nfs-client2)

为了测试,三台服务器全部关了软件防火墙,在生产环境中需要做防火墙规则,我会在在后面对这块做详细说明。

服务器端(hadoop1上):

[root@hadoop1 ~]# yum -y install nfs-utils rpcbind

nfs的相关说明:

NFS的常用目录如下

/etc/exports                           NFS服务的主要配置文件/usr/sbin/exportfs                   NFS服务的管理命令/usr/sbin/showmount              客户端的查看命令/var/lib/nfs/etab                      记录NFS分享出来的目录的完整权限设定值/var/lib/nfs/xtab                      记录曾经登录过的客户端信息

  编辑nfs配置文件

NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。

vim /etc/exports /test *(rw,sync,no_root_squash,insecure)

 注意:我开始写的是 /test 192.168.241.130(rw,sync,no_root_squash,insecure),但是这样客户端(hadoop2和hadoop3上)挂载事就会出现这种情况

[root@hadoop2 /]# mount -t nfs 192.168.241.130:/test /nfsclientmount.nfs: access denied by server while mounting 192.168.241.130:/test

 后来上网找了解决方式就是按照我上面的方式才行,真是无语。

解释说明

/nfs/server 192.168.0.0/255.255.255.0(rw,no_root_squash)1、每行分两部分,由空格分开。2、第一部份(空格之前的那段)是你要共享出去的目录。3、第二部份(空格之后的那段)又可以分三部分:(1)、“192.168.0.0”表示有权共享本目录的IP网段。(2)、“255.255.255.0”是那个有权共享的网段所用的掩码(3)、括号里面又有两部分,用逗号隔开:(i)、“rw”表示来访者对所共享出去的目录享有读和写的权力,如果只给读不给写就将之换成“ro” (意思是 Read Only)(ii)、"no_root_squash"表示如果来访者是该机的 root 则在本机也给予 root 待遇,如果没有"no_root_squash"(以及前面的逗号),那来访者在本机只相当于本机的 nobody 用户。(iii)、insecure:允许客户端从大于1024的tcp/ip端口连接服务器

启动服务端的服务 

[root@hadoop1 test]# /etc/init.d/rpcbind start[root@hadoop1 test]# /etc/init.d/nfslock start[root@hadoop1 test]# /etc/init.d/nfs start

注意启动顺序,一定是上面的顺序,否则会出错

设置开机自启动

[root@hadoop1 test]# chkconfig rpcbind on[root@hadoop1 test]# chkconfig nfslock on[root@hadoop1 test]# chkconfig nfs on

检查服务是否开启

[root@hadoop1 test]# ps -ef |grep nfsroot       4987      2  0 17:57 ?        00:00:00 [nfsd4]root       4988      2  0 17:57 ?        00:00:00 [nfsd4_callbacks]root       4989      2  0 17:57 ?        00:00:00 [nfsd]root       4990      2  0 17:57 ?        00:00:00 [nfsd]root       4991      2  0 17:57 ?        00:00:00 [nfsd]root       4992      2  0 17:57 ?        00:00:00 [nfsd]root       4993      2  0 17:57 ?        00:00:00 [nfsd]root       4994      2  0 17:57 ?        00:00:00 [nfsd]root       4995      2  0 17:57 ?        00:00:00 [nfsd]root       4996      2  0 17:57 ?        00:00:00 [nfsd]root       5126   4011  0 18:04 pts/0    00:00:00 grep nfs[root@hadoop1 test]# ps -ef |grep rpcbindrpc        3674      1  0 17:16 ?        00:00:00 rpcbindroot       5128   4011  0 18:04 pts/0    00:00:00 grep rpcbind[root@hadoop1 test]# netstat -tanpl |grep rpctcp        0      0 0.0.0.0:875                 0.0.0.0:*                   LISTEN      4977/rpc.rquotad    tcp        0      0 0.0.0.0:48590               0.0.0.0:*                   LISTEN      4981/rpc.mountd     tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3674/rpcbind        tcp        0      0 0.0.0.0:50960               0.0.0.0:*                   LISTEN      4981/rpc.mountd     tcp        0      0 0.0.0.0:59572               0.0.0.0:*                   LISTEN      3692/rpc.statd      tcp        0      0 0.0.0.0:50461               0.0.0.0:*                   LISTEN      4981/rpc.mountd     tcp        0      0 :::36045                    :::*                        LISTEN      4981/rpc.mountd     tcp        0      0 :::111                      :::*                        LISTEN      3674/rpcbind        tcp        0      0 :::49659                    :::*                        LISTEN      4981/rpc.mountd     tcp        0      0 :::60635                    :::*                        LISTEN      3692/rpc.statd      tcp        0      0 :::45215                    :::*                        LISTEN      4981/rpc.mountd

hadoop2和hadoop3客户端操作,以hadoop2为例说明

[root@hadoop2 ~]# yum -y install nfs-utils

 在本机使用命令可以看到共享目录,在客户端安装了nfs-utils软件后,使用同样的命令也可以看到。

[root@hadoop1 test]# showmount -e 192.168.241.130Export list for 192.168.241.130:/test *  

在hadoop2上创建挂载目录,并将本地目录(nfsclient)挂载到nfs共享目录(test)上去

mkdir /nfsclient[root@hadoop2 /]# mount -t nfs 192.168.241.130:/test /nfsclient

此时在各自的挂载目录上做一系列测试证明nfs共享是否成功

在nfs-server上,也就是hadoop1上做以下操作

[root@hadoop1 test]# mkdir data lala haha[root@hadoop1 test]# vim page.testthis is test page  !!!

 那么在nfsclient1的/nfsclient目录下看看有没有这些内容

[root@hadoop2 nfsclient]# cat page.test this is test page  !!! [root@hadoop2 nfsclient]# pwd/nfsclient

  显然,这是成功的,但是这样还不全面的,我们从客户端再做一些测试

我们将这下面的东西全部删掉

[root@hadoop2 nfsclient]# lsdata  haha  lala  page.test[root@hadoop2 nfsclient]# rm -rf ./*[root@hadoop2 nfsclient]# ls[root@hadoop2 nfsclient]# pwd/nfsclient

 看下nfsserver(hadoop1)的/test目录下还有没有,看下服务端hadoop1,显然没有了。

[root@hadoop1 test]# ls[root@hadoop1 test]# pwd/test

 那么再测试下客户端写入文件,在服务端能否看到和删除。

[root@hadoop2 nfsclient]# pwd/nfsclient[root@hadoop2 nfsclient]# mkdir zhangsan lisi wangwu [root@hadoop2 nfsclient]# vim nongyao.txtlaalalalalalalalala

 看下服务端 

[root@hadoop1 test]# pwd/test[root@hadoop1 test]# cat nongyao.txt laalalalalalalalala

显然服务端是有的,这就形成了数据共享,不用测试,hadoop3也是一样的,这样一个简单的nfs共享服务器就做成了。

转载于:https://blog.51cto.com/12889016/2108820

你可能感兴趣的文章
用Sublime Text2和MinGW 搭建c编程环境 cc1plus.exe报错
查看>>
八皇后问题--递归与非递归的实现
查看>>
JAVA系列之JVM加载
查看>>
[LeetCode] replace into a Cyclic Sorted List
查看>>
$.each 和$(selector).each()的区别
查看>>
在Xcode中使用Git进行源码版本控制
查看>>
Lync 2013无法登录到lync,提示服务器暂时不可用
查看>>
Linux下PHP网站安全加固配置
查看>>
做自动化测试之前需要了解的
查看>>
Linux终端中文字错位解决
查看>>
再谈swap
查看>>
文本处理三剑客之-sed基础用法
查看>>
宏正ATEN发行全球首款Cat 5双滑轨19寸LCD KVM切换器
查看>>
consui(二)集群配置
查看>>
Windows Cluster 常用命令
查看>>
AndroidStudio生成jar、so、aar以及上传远程库jcenter
查看>>
Redis 过期键的设置、获取和删除过期时间
查看>>
我的友情链接
查看>>
word,excel,网页上如何打x的n次方
查看>>
Cacti(系统监控)
查看>>