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