分布式文件系统gluster的搭建,以及和docker 的结合使用

本文介绍如何使用 GlusterFS 在多台机器之间搭建分布式存储系统,并通过 Docker 容器实现数据抓取及分布式存储的功能。具体步骤包括 GlusterFS 的安装配置、复制卷的创建、服务启动与状态监控等。

     目标简述: 机器A 上面装有docker,docker里有跑了python爬虫程序去抓数据,机器A上有个目录mydata挂载到docker 抓取的目录上。有机器B,C 通过gluster 挂载到 机器A的mydata目录里。这样当docker里的数据下载完以后,会把数据分布式存储在机器B 和C 上。

     三台机器:

     192.168.0.107(机器B角色)

      192.168.0.109(机器c角色)

      192.168.0.111 (机器A角色)

 

      其中192.168.0.107 ,192.168.0.109创建replica volume复制卷(lxsvolume)(目录为/gluster/data)

192.168.0.111 为lxsvolume创建 /lxs/mydata的挂载点,然后把/lxs/mydata挂载到docker的mydata目录里。验证在docker的mydata目录里创建文件,则在192.168.0.107 ,192.168.0.109里能看到对应的文件

 

     

192.168.0.107 安装gluster

 yum install centos-release-gluster

 

yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

 

同样在192.168.0.109上安装上述命令

 

未开启服务时 
查看集群状态: gluster peer status  机器未开启

 

 

两台机器启动服务

启动服务 systemctl start glusterd.service 

重启时自动服务    systemctl enable glusterd.service

 

 

再次查看集群状态

 

关闭服务命令 systemctl stop glusterd.service 

 

把2台机器的IP 加入到集群中

操作在一台服务器上操作即可,状态将同步到其他服务器

gluster peer probe 192.168.0.107

gluster peer probe 192.168.0.109

 

 

此时在107上 把109那台机器加入进集群失败

能ping通 估计没关闭109防火墙

 

在109上关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service

 

再次把109加入集群 成功

 

同时关闭下107防火墙

再次查看集群状态: gluster peer status 

 

 

创建数据存储目录(在二个节点上都运行):

107 109 上 mkdir -p /gluster/data

 

 

查看volume 状态: gluster volume info

 

 

 

由于还没有创建volume所以显示的是暂无信息

创建volume (有7种volume)

在107上 创建replica volume (复制卷)

gluster volume create lxsvolume replica 2 192.168.0.107:/gluster/data   

192.168.0.109:/gluster/data

 

 

 

 

再加上 gluster volume create lxsvolume replica 2 192.168.0.107:/gluster/data    192.168.0.109:/gluster/data  force

 

 

再次查看volume信息  gluster volume info (107 和109)

 

 

 

启动 lxsvolume卷   gluster volume start lxsvolume

 

 

 

在111 上安装客户端

yum install -y glusterfs glusterfs-fuse

 

 

建立挂载点:mkdir -p /lxs/mydata

 

mount命令:mount -t glusterfs 192.168.0.107:lxsvolume /lxs/mydata/

 

 在107  109  /gluster/data 目录 无东西

 

此时在 111 的 /lxs/mydata/ 的目录下 随便创建个文件

 

此时 107  109下都有

 

查看挂载信息

 

说明此时gluster 复制已经搭建完成

 

   下一步:验证通过docker 挂载数据到机器A 上 从而分布式存储到机器b c 上

 

 

把111的 /lxs/mydata 目录挂载到 docker 的 /mydata 目录里

 

docker run -it -v  /lxs/mydata:/mydata --privileged=true  ff426288ea90

 

 

然后在docker的 mydata目录里创建 文件qq 和目录lxs

在 107  109的挂载点里都能看到

 

 

 

 搭建成功:

  通过Docker 里的/mydata ----à 111 的/lxs/mydata   然后 挂载lxsvolume卷(107和109创建的复制卷)

转载于:https://www.cnblogs.com/yuanjava/p/9570576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值