导读 最近在搞实验室集群环境,需要把存储服务器用起来,两台存储服务器大概12T的大小,想实现使其他的8个计算节点都能像访问本地目录一样访问存储服务器,类似Windows下的文件共享,因此使用了NFS服务。
NFS介绍和原理

NFS 是Network File System的缩写,即网络文件系统。是一种使用于分散式文件系统的协定,功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在类Unix系统上实现文件共享的一种方法。

NFS使用RPC,即远程过程调用 (Remote ProcedureCall) ,它能使客户端执行其他系统中的程序。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些依赖RPC的传输协议。可以简单理解RPC和NFS的关系:NFS是一个文件系统,而RPC负责信息的传输。

详细配置
1. 前期配置

关闭服务端和客户端的防火墙和selinux,这里的服务端指需要共享出去的存储服务器,客户端指其他的8个计算节点。以下所有是在CentOS7环境下

1.1 关闭防火墙

systemctl stop firewalld

1.2 把selinux设置为许可模式(或者关闭)

etenforce 0

(如果想要禁用,需要更改配置文件,把SELINUX设置成disabled,重启生效)

2.服务端配置

2.1 安装需要的软件包(使用yum)

yum install -y rpc-bind nfs-utils

2.2 创建想要共享的文件夹,例如 /datas

mkdir /datas

2.3 把共享目录的权限设定为所有用户都可读可写权限

chmod -R 777 /datas

2.4 修改NFS服务的主配置文件 /etc/exports

vim /etc/exports

#添加如下规则

/datas *(rw,sync)

规则说明:/datas代表共享的文件,*代表所有主机都可以访问,rw指读和写的权限,sync表明使用同步方式。
其他更为精确的可选配置如下:

2.5 开启NFS服务

systemctl start nfs

至此服务端的nfs配置完毕,回想一下,我们主要做了:

关闭防火墙和selinux
将我们创建的目录/datas通过nfs主配置文件/etc/exports共享出去
开启nfs服务

Ps:如果想共享服务器的某个硬盘,只需要将/datas目录使用mount挂载到该硬盘即可。
查看硬盘和挂载情况的命令为:

df -h

例如将硬盘设备/dev/sdd 挂载到/datas

mount /dev/sdd /datas

接下来配置客户端

3.客户端配置

3.1 关闭防火墙和selinux

同上

3.2 安装NFS

同上

3.3 将服务端的共享目录挂载到本机的 /data-nfs目录上,我这里的ip是IB卡的的ip,没有IB驱动的可以直接使用内网ip,/data-nfs是我自定义的目录。

mount -t nfs 12.12.12.29:/datas /data-nfs

至此,客户端配置完毕,访问/data-nfs目录就相当于访问服务端的/datas目录

ps:以上配置重启机器后会出问题,建议设置开机启动执行。

原文来自:

本文地址://lrxjmw.cn/centos-nfs-share.html编辑:黑曜羽,审核员:逄增宝

Linux命令大全:

Linux系统大全:

红帽认证RHCE考试心得: