由于机器故障,也是为了实验kubernetes master的可恢复性,把服务器10.1.1.201的操作系统重做了,(使用Ubuntu18.04LTS)安装了zfs和glusterfs,创建了/zpool本地存储卷。
1、故障现象
- 到10.1.1.202添加10.1.1.201到gluster集群,显示已经加入了。
- 在10.1.1.201添加10.1.1.201到gluster集群,显示失败,无法加入。
- 运行 sudo gluster peer status 检查状态,显示节点10.1.1.201始终是disconnected状态。
- 运行sudo gluster peer detach 10.1.1.201,显示该节点有bricks无法卸载。
看来,有点棘手。
2、恢复过程
解决思路:
- 根据有限的提示信息,需要先删除所有卷在10.1.1.201上的bricks,可以通过gluster volume status查看。
- 从集群中detach掉10.1.1.201节点。
- 重新添加10.1.1.201节点。
- 重新添加10.1.1.201节点上的bricks到卷中。
2.1 查看bricks
sudo gluster volume status
2.2 删除bricks
命令gluster remove-brick的格式为:
sudo gluster volume remove-brick <VOLNAME> [replica <COUNT>] <BRICK> ... <start|stop|status|commit|force> - remove brick from volume <VOLNAME>
操作如下:
sudo gluster volume remove-brick gvz00 10.1.1.201:/zpool/gvz00
按照上述方法,删除掉所有10.1.1.201节点的brick。
- 注意:如果该节点上的数据有用,请提前备份。
2.3 删除节点
使用peer detach命令,格式如下:
sudo gluster peer detach { <HOSTNAME> | <IP-address> } [force] - detach peer specified by <HOSTNAME>
操作如下:
sudo gluster peer detach 10.1.1.201
2.4 添加节点
使用peer probe命令,格式如下:
sudo gluster peer probe { <HOSTNAME> | <IP-address> } - probe peer specified by <HOSTNAME>
2.5 添加brick
sudo gluster volume add-brick gvz00 10.1.1.201:/zpool/gvz00
2.6 查看节点状态
sudo gluster peer status
2.7 查看卷的状态
sudo gluster volume status
完毕。
更多参考:
- GlusterFS的再次节点重置和恢复
- GlusterFS强制删除节点
- 分布式存储系统GlusterFS最新版本安装
- 安装 GlusterFS - 快速开始
- GlusterFS-动态卷快速应用
- 向分布式存储系统的迁移-使用ZFS/Gluster
- Kubernetes中挂载GlusterFS的volume