# 组建存储集群
组建存储集群,包含三类节点。
- observer,有数据但不参与选举
- slave,有数据且参与选举
- witness,无数据但参与选举
observer节点有数据但不参与选举,witness无数据但参与选举,slave有数据且参与选举。
集群基本运维操作如下。
- 启动/关闭节点
- 新增和移除节点至管理后台-Group
- 分片内新增和移除节点
- 接流/摘流
# 启动/关闭节点
# 启动节点
observer和slave部署参考服务部署-Bitalostored
初始raft配置很重要,配置错误会导致无法加入集群。
- raft_cluster.cluster_id,与分片cluster_id保持一致
- raft_nodehost.node_id,与分片已有节点不同(包括已移除节点)
- raft_nodehost.init_raft_addrlist,与初始节点值保持一致(即使初始节点已移除)
- raft_nodehost.init_raft_nodelist,与初始节点值保持一致
- raft_cluster.is_witness,witness为true,否则为false
- raft_cluster.is_observer,observer为true,否则为false
slave最初均是observer节点,待完成全量数据同步后,再提升为slave节点,配置同observer(is_observer=true)。
# 关闭节点
关闭方式如下。
- shutdown命令
- kill {pid}
该操作平滑关闭进程,完成关闭后,Bitalosdashboard探活该节点失败,管理后台-Group节点背景变为红色,再次启动后恢复。
# 新增和移除节点
# 新增节点至管理后台-Group
管理后台-Group,点击“AddServer”按钮,填入参数如下。
- 节点所在云或机房
- 节点类型(observer/witness)
- 节点地址
- 分片id
如新增slave,节点类型选择“observer”。
# 分片内新增节点
- observer,点击“Mount observer”加入到集群(此时会执行全量同步)
- witness,点击“Mount witness”加入到集群
- slave,observer节点全量同步完成后,点击“MountNode”,提升为slave节点
# 分片内移除节点
- observer,点击“UnmountNode”按钮
- witness,点击“UnmountNode”按钮
- slave,点击“UnmountNode”按钮
移除后,节点状态变成“false”。
# 管理后台-Group移除节点
如该节点已加入分片,在操作前,须执行上一步“分片内移除节点”操作
分片移除节点,操作如下。
- 关闭节点
- 点击“RemoveNode”按钮,参考管理后台-Group
操作完成后,管理后台-Group不再展示该节点,且删除该节点管理数据
以上两步操作没有先后顺序,推荐先关闭节点再点击“删除”。
# 节点摘流/接流
新增节点在接流之前不承载线上流量。
# 接流
- 勾选Replica复选框
- 出现“out of sync”,点击“Sync”按钮
# 摘流
- 取消勾选Replica复选框
- 出现“out of sync”,点击“Sync”按钮
# Sync功能
- 点击“Sync”按钮,会将最新的Bitalostored路由信息同步至Bitalosproxy,摘流后Bitalosproxy不再向该节点发送请求,反之则转发。
# 查询状态
info命令,基础配置及服务状态信息,包括资源消耗&raft状态等
debuginfo命令,存储结构信息