glusterfs分布式存储运维文档
glusterfs分布式存储简介
glusterfs分布式存储作用
我们的容器应用常常需要将重要的数据持久化,方便在不同容器间共享。单机环境的数据卷难以满足 Docker 集群化的要求,因此需要引入分布式文件系统。GlusterFS 因其部署简单、扩展性强、高可用、可mount挂载成path的方式访问等特点,我们选择GlusterFS来作为我们的分布式存储。
glusterfs分布式存储集群机器列表
- 服务端
ip | 软件 | 磁盘 | 卷模式 | brick名称 | volume名称 | 分布式存储大小 |
---|---|---|---|---|---|---|
192.168.0.60 | centos-release-gluster、glusterfs 、glusterfs-server | /dev/vdc : 50G | replica | /glusterfs/brick | dockerdata | 50G |
192.168.0.63 | centos-release-gluster、glusterfs 、glusterfs-server | /dev/vdc : 50G | replica | /glusterfs/brick | dockerdata |
- 客户端
客户端ip | 安装软件 | 挂载路径 |
---|---|---|
192.168.53.7 | glusterfs、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.8 | glusterfs 、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.9 | glusterfs 、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.4 | glusterfs 、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.10 | glusterfs、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.11 | glusterfs 、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.12 | glusterfs 、glusterfs-fuse、glusterfs-rdma | /dockerdata |
192.168.53.13 | glusterfs 、glusterfs-fuse、glusterfs-rdma | /dockerdata |
其他新增客户端 | 其他 | 其他 |
glusterFS服务端搭建
1.准备brick
#fdisk /dev/vdc 进行分区
#lsblk 查看
#mkfs.xfs -i size=512 /dev/vdc1 格式化
创建glusterfs挂载路径:
#mkdir -p /glusterfs/brick
- 开机启动就挂载:
#echo '/dev/vdc1 /glusterfs/brick xfs defaults 1 2' >> /etc/fstab
挂载:
#mount -a && mount
2.搭建glusterFS分布式存储集群
- 为每台机器分别配置阿里的yum源(Centos-7.repo CentOS-Gluster-3.12.repo),备份并替换系统的repo文件 ,每台机器都执行yum源更新命令
#yum clean all
#yum makecache
生成缓存可能需要一段时间。
- 机器上安装gluster:
#yum install -y centos-release-gluster
#yum install -y glusterfs glusterfs-server
- 两机器上都启动 glusterFS
#systemctl start glusterd.service
- 两机器增加开机自启动
#systemctl enable glusterd.service
- 将节点加入集群中:
# gluster peer probe 192.168.0.63
- 创建Volume:
#gluster volume creat dockerdata replica 2 192.168.0.63:/glusterfs/brick/dockerdata 192.168.0.60:/glusterfs/brick/dockerdata
- 启动Volume:
#gluster volume start dockerdata
- 查看信息:
# gluster volume info dockerdata
glusterFS分布式存储集群搭建好了。
glusterFS客户端
1.安装相关软件
192.168.53.4;192.168.53.7;192.168.53.8;192.168.53.9都安装客户端。
#yum install -y glusterfs glusterfs-fuse
2.挂载存储(选择 Native mount client方式挂载)
#mkdir /dockerdata
#echo “192.168.0.60:dockerdata /dockerdata glusterfs defaults,_netdev 0 0”>> /etc/fstab
#mount & mount -a
3.检查 ls 或者df 查看
#df -h
glusterFS常见问题和维护方法
glusterFS整个集群换ip导致不能使用
- 1.原因:灰度环境gfs服务器ip更换,导致集群不能使用。
- 2.解决办法:
服务端删集群记录:
#rm -rf /glusterfs/brick/dockerdata/.glusterfs
服务端停gfs:
#service glusterd stop
服务端删gfs记录
#cd /var/lib/glusterd/
#rm ./*
服务端启动gfs:
#service glusterd start
服务端重新将节点加入集群:
#gluster peer probe 192.168.52.37
服务端检查:
#gluster peer status
服务端创建复制卷
#gluster volume creat dockerdata replica 2 192.168.52.36:/glusterfs/brick/dockerdata 192.168.52.37:/glusterfs/brick/dockerdata
服务端启动卷
#gluster volume start dockerdata
客户端重新挂载:
#mount -t glusterfs 192.168.52.36:dockerdata /dockerdata
检查数据:
数据依然存在,没有丢失。