切换容器切换主机切换正常切换强制切换回切容器回切主机回切

容器切换

zcbus_docker卸载容器
修改bus_docker_list对应的bus_machine_id到目标主机(等待卸载成功,即可修改)
zcbus_docker挂载容器

主机切换

检查心跳是否在1分钟内有变化,如果有变化,则选择正常切换,如果没有变化,则选择强制切换,提示在切换

正常切换

按照主机为条件,批量卸载容器
修改bus_docker_list对应的bus_machine_id到目标(指定,或者reblance到其他主机)主机(等待卸载成功,即可修改)
在新主机上批量挂载容器

强制切换

修改bus_docker_list对应的bus_machine_id到目标(指定,或者reblance到其他主机)主机(等待卸载成功,即可修改)
在新主机上批量挂载容器

切换过程中,需要记录切换(源,目标节点),待回切时,提供回切路径(切换和回切只记录最后一次切换路径)。

CREATE TABLE `bus_docker_list` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增键',
  `name` varchar(128) NOT NULL,
  `bus_machine_id` int(11) NOT NULL COMMENT 'bus_machine_list对应的id',
  `status` int(11) NOT NULL DEFAULT '0' COMMENT '0 - 已停止 1 - 启动中 2 - 已启动 3 - 停止中 4 - 删除中 5 - 已删除 6 - 异常',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8 COMMENT='管理docker服务表';

bus_docker_path(
id,
containerid/container_name,  unique key 
old_machine_id,
new_machine_id,
create_time,
update_time);

update bus_docker_path set old_machind_id = ? ,new_machine_id = ? where containerid = ? ;
文档更新时间: 2023-01-25 01:44   作者:阿力