文档章节

CentOS下配置nfs服务器-实现目录共享

刺猬一号
 刺猬一号
发布于 2017/05/27 15:37
字数 1691
阅读 11
收藏 0

最近实验室新配置的两台戴尔的服务器,用于数据计算,两台都是安装CentOS 最近版本,想让两台服务器连起来,开始想用rsh的,配置半天没成功,就用的ssh连接。没配置nfs服务器时,两台服务器之间的数据传输都是用的scp,麻烦,而且有的数据都要弄两份来分开并行计算,很不方便。现在配置好了nfs服务器后,就好了,目录可以共享了,不用把数据倒来倒去了。讲讲怎么配置吧,听纠结的,半天才配置成功。

硬件:两台戴尔服务器+两根网线

环境:两台服务器都是CentOS最新系统

参数:第一台服务器计算机名为cpst01 ,第二台为cpst02。

 

1.cpst01 外网ip为*.*.*.*(这个最好能连上互联网,因为如果你没有安装盘里的一些rpm吧,那里可以用wget从网上下载,也可以yum search,这需要一根网线接到外面),内网IP为192.168.1.10(ip设置这里就不讲了,自己搜搜,注意是哪个网卡)

 

em2       Link encap:Ethernet  HWaddr D4:AE:52:91:F8:11  

          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::d6ae:52ff:fe91:f811/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:7281946 errors:0 dropped:0 overruns:0 frame:0

          TX packets:10709199 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:7212522964 (6.7 GiB)  TX bytes:14043999341 (13.0 GiB)

          Interrupt:17

我这个是在2号网卡(1号网卡连外网,服务器的网线插口上有编号1或者2)

cpst02 不用连外网了,设置个内网IP 192.168.1.20,如下:

 

em2       Link encap:Ethernet  HWaddr D4:AE:52:91:F6:DC  

          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::d6ae:52ff:fe91:f6dc/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:10709309 errors:0 dropped:0 overruns:0 frame:0

          TX packets:7282075 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:14044008517 (13.0 GiB)  TX bytes:7212663244 (6.7 GiB)

          Interrupt:17 

这里也是2号网卡。

这时用剩下的一根网线将cpst01,cpst02的2 号网卡连接起来,这时应该ping的通。

 

2.这里我将cpst01作为nfs服务器端,cpst02最为客户端。(nfs服务器端需要安装nfs,portmap,rpcbind)

首先检查服务器端是否已经安装上述三个rpm

[root@cpst01 test]# rpm -qa | grep nfs

nfs-utils-lib-1.1.5-4.el6.x86_64

nfs4-acl-tools-0.3.3-5.el6.x86_64

nfs-utils-1.2.3-15.el6.x86_64

[root@cpst01 test]# rpm -qa | grep portmap

portmap-4.0-65.2.2.1.x86_64

[root@cpst01 test]# rpm -qa | grep rpcbind

rpcbind-0.2.0-8.el6.x86_64

[root@cpst01 test]#

如果没有的话,可以在安装盘里找,再不行就去网上搜 yum search

这里有个rpm的官网,上面有好多东西可以去看看:

portmap 下载地址 http://rpm.pbone.net/index.php3/stat/4/idpl/17838805/dir/centos_5/com/portmap-4.0-65.2.2.1.x86_64.rpm.html

nfs和rpcbind一般是安装系统的时候可以一起安装的,没有的话就去搜搜 yum search nfs 也行,

这里在安装portmap时有点纠结(它需要libwrapper.so.0这个库文件,tcp_wrappers-7.6-57.el6.x86_64.rpm 这个包里面有,可以先安装它,再安装portmap)。

 

3.安装完上述包后,可以进行下测试,就是启动和停止上述几个服务,网上说的是启动时是安装rpcbind,portmap,nfs的顺序启动,停止时反着来,启动(service rpcbind start ,service portmap start,service nfs start ,/etc/init.d/nfs start也行),启动后查看服务运行状态,service nfs status, 结果就portmap有问题,查了下网上说,新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源(http://www.centos.bz/2012/02/centos-install-deploy-nfs-file-system/) ,这里修改下/etc/hosts.deny 添加一行portmap:all,同时修改下/etc/hosts.allow 添加一行portmap:192.168.1.20 ,这里有人会问不是已经deny all 了吗,后面的allow不是不行吗, allow的优先级高些,先看它。弄好了后,可以把上面的三个服务停下,再启动,查看,应该没问题。

 

4.这里开始设置cpst01下面的共享目录,我设置的是/test目录 在起下面创建了用户rg,用户组soft,nfs服务器共享目录的关键就是/etc/exports文件。

vi下,添加/test 192.168.1.20(rw)

这里我只设置了read 和write权限,意思就是192.168.1.20也就是cpst02 在/test目录下有读和写的权限,当然还有其他很多权限

----------------------------------------------------------

w:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。

---------------------------------------------------------------------

有的搞不懂,就没弄了(http://www.centos.bz/2012/02/centos-install-deploy-nfs-file-system/

如果上一步的三个服务你还没有stop,那这里就要用exportfs -rv来将设置的共享信息重新输出下,如果是vi 了/etc/exports后再来启动服务的话就不用了,和source export差不多。

 

5.这时在客户端,可以查看服务器端挂载情况,

使用showmount -e 192.168.1.10

Export list for 192.168.1.10:

/test 192.168.1.20

即为/etc/exports下设置的,这就证明与nfs服务器连通了,

但是现在还不能共享cpst01下面的/test目录,因为你没有将/test目录挂载在客户端的目录上。

这里我在cpst02创建了用户rg(网上说要与服务器端/test目录拥有同样的用户与用户组),不一定要挂载在cpst02的/test目录下,其他目录也行,这里可以在cpst02使用chown -R  rg:soft /test 修改权限。

现在就是挂载了:

mount -t nfs 192.168.1.10:/test /test

很快就挂载上了就是成功了,如果错误了,就好像是防火墙的问题,在服务器端service iptables stop,再在客户端执行mount就行,

这时cpst01 下的/test就挂载在cpst02 的/test下了,可以共享目录了。

 

6.如果想在cpst02 开机时就自动挂载cpst01 下的/test的话,就要在cpst02 下的/etc/fstab添加东西了

192.168.1.10:/test      /test                   nfs     defaults        0 0

这样就行了,也不用每次都自己mount。

 

7.当然你要可以添加其他共享目录了

未完待续。。。。

© 著作权归作者所有

共有 人打赏支持
刺猬一号
粉丝 12
博文 363
码字总数 600844
作品 0
深圳
NFS服务器搭建

1.简介: NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享...

小铁匠819
2017/08/29
0
0
CentOS 配置部署 NFS

CentOS 配置部署 NFS Rainy's Blog2017-12-210 阅读 技术运维linux 对于服务器的文件共享,可以部署一台文件共享服务器,通过 NFS 去挂载使用。 安装 CentOS 6.x 下载安装 配置开机启动 Cent...

Rainy's Blog
2017/12/21
0
0
Linux服务及安全管理第十周作业【Linux微职位】

1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组...

akatsuki1023
06/29
0
0
NFS服务的配置过程。

NFS(Network File System)即网络文件系统,是由Sun公司开发的一种通过网络方式共享系统的通用共享解决方案。目前NFS有3个版本,分别为NFSv2、NFSv3、NFSv4。NFSv2是一个古老的版本,但却被...

hu小贱
2014/11/06
0
0
linux 之间共享文件的方法:NFS 软件的应用 本地安装

首先说说nfs,ftp,samba的区别: 对于一个真实的运行环境而言,配置和启用文件服务器都是很有必要的。把重要的数据集中存储和管理,其安全性显然比分布存储要可靠得多。为此,建议系统管理员...

vasks
2015/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
10分钟前
0
0
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h...#define LRU_BITS 24...typedef struct redisObject { unsigned type:4; ...

Jian_Ming
23分钟前
0
0
laravel框架常用目录路径

laravel框架常用目录路径 app_path()app_path函数返回app目录的绝对路径:$path = app_path();你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径:$path = app_p...

高处胜寒
25分钟前
0
0
记一次winserver2003系统,https无法访问,内存占用持续增加,解决办法

先交代一下环境: win server2003系统,系统装在hyper-v虚拟机里 大概2016年底的镜像,距离今天两年左右 病症:大概9月10号左右用这个镜像还可以访问https,但是今天用这个镜像新装的系统,就...

阳阳露
40分钟前
3
0
Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部