目标简述: 机器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创建的复制卷)

收藏 打印