最近在搞实验室集群环境 , 需要把存储服务器用起来 , 两台存储服务器大概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:以上配置重启机器后会出问题 , 建议设置开机启动执行 。
《Linux就该这么学》https://www.linuxprobe.com/
【CentOS 7集群间实现NFS文件共享】
推荐阅读
- 关于邻居友好的初中作文 人与人之间的关爱作文
- 减辐射护眼睛 每天宜喝四杯茶
- 天台民间茶俗之路廊烧茶 茅篷放歌
- 这些汽车零配件的更换时间请记住
- 趣谈民间流传的郑板桥与茶的轶事
- 洗衣机放阳台会晒坏吗,洗衣机放阳台好还是卫生间好
- 儿童房适合养什么植物,婴儿房间可以养花吗
- 茶之意 人在草木间
- 红心莲多肉开花什么样的 多肉红心莲中间发青是什么原因
- 史上最全数据库中间件详解