Kyle
1
【 TiDB 使用环境】生产
【 TiDB 版本】4.x
【遇到的问题】TiUP所在机器彻底宕机损坏,无法管理集群
【复现路径】无
【问题现象及影响】
这边有一套4.x的环境,pd,tidb,tikv,tiflash等若干组件都有,分布在10多台机器上,正常其部署维护是通过中控机TiUP管理的,然而现在的问题是中控机所在的机器已经故障,没了,也没有对tiup相关持久化资源进行备份;导致现在对这套集群的维护、迁移之类的操作无从下手,想问下这种情况还能降级到手动维护集群吗(没有看到官方有相关手动维护的文档),或者说通过某种方法重建TiUP之类
Kyle
3
tiup cluster deploy tidb-xxx ./topology.yaml 这个操作是严格幂等的吗,集群信息能有,不能确定完整,怕操作出错覆盖了原有的资源
得逐个节点看一下pd,tidb,tikv实例的参数,避免出现参数覆盖,和以前不一致的情况,这个操作是幂等的
啦啦啦啦啦
6
Kyle
7
嗯,tiup这个工具,要是能与git,更无缝的集成就好了,类似Ansible那样,需要持久化的数据,全部放到git上,所谓的 gitops 思路
数据库肯定是不允许外网的……,如果能自动往所有集群内的机器发一份就好了,很小概率集群所有机器都挂
HACK
(DBS)
10
在更改集群的什么配置的情况下,需要备份.tiup目录呢?拓扑结构?集群配置文件?
Kyle
11
任何修改命令都得备份,tiup 现在倒是有个备份命令,但是还得自己写备份脚本什么的,我这边准备把 tiup 底层放到云盘上
Kyle
12
你是说github外网吗? 我这边说的是企业内网私有化部署gitlab之类的git server
那可以的,我的想法是如果能不入侵,tidb自动做到类似于tikv的多副本一样分发备份到别的节点
Kyle
14
类似个k8s kubectl 、 ceph 这样的命令行工具,可以安装到集群所有节点,持久化数据就存在集群自身, 有个导入,导出这样的功能,就完美了
Aric
(Jansu Dev)
15
这块应该不是密等的,可以手动安装个 tiup;
然后,自己手动补充下 meta.yaml(按照记忆补全),之后 reload,这里的 ip、port、配置、label 都要对;
reload 后应该能找回来。对应的信息就要,通过现有的机器找了 pd-ctl get storeInfo,参数如果能连数据库的话,可以从 cluster_config 中查出来。