tiup工具如果丢失后有重塑的方案么?

【 TiDB 使用环境】 测试
【 TiDB 版本】v7.5.3
【复现路径】tiup工具所在物理机器故障了,没有这个工具的备份【包括meta.yaml文件也丢失了】,tiup工具可以重新安装下即可,但是这种情况如何重塑这个meta.yaml文件呢?
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

论坛里很多类似的案例,可以搜一下。

比如这个:[FAQ] .tiup 等元信息被删除恢复办法

1 个赞

我看下这个案例,谢谢了

通过这个案例,也提醒了生产环境一定做好备份: tiup cluster meta backup ${cluster_name}

可以把 ~/.tiup 目录拷贝到其他节点上实现高可用,还要把tidb软件包也放到相同目录下

在备节点安装tiup,然后配置原来集群的信息,topology.yaml (需要将原来集群节点的信息都录入, ip、port、配置、label都要和原来一样,
可以登陆每台机器查看一下,参数最好也都保持一致,否则后面可能还需要重新修改部分参数)

然后执行
tiup cluster deploy tidb-xxx ./topology.yaml

tiup cluster display tidb-xxx
可以看到原来的节点信息

要是tiup可以通过简单配置信息,自动收集集群信息,重建meta.yaml等文件,将集群重新纳管就好了。
平时还是要定时备份集群信息。

备份backup,mark了,之前生产好像没有备份

可以的,做好元数据备份

这里面的难点就是meta.yaml丢失后,集群节点信息就没了

你每个实际的节点进程(pd,tikv,tidb-server)都在啊,上去看看对应的 ip、port,配置文件等,数据库中看下配置、label等信息,然后手工补充一个yaml文件出来啊。。。
只是tiup丢失了之后meta文件丢失了,这个实际可以手工补充一份出来的。。。
嫌麻烦就定期 tiup cluster meta backup备份出一个tar包,放到其他主机或者S3上。。。

pd,tikv,tidb-server节点是存在,但是如果有几百套tidb集群,这个拓扑信息就比较乱了,我之前也想这个meta,yaml文件的拓扑起始应该在mysql里在保存一份,如果丢失后回溯起来更容易点,哈哈

按步骤迁移几个

熟悉迁移的方案,只是中空机跪了,所以tidb集群现在是个无托管状态的情况,所以得想办法构造meta,yaml文件

数据库里面肯定也有,但是比较分散,例如这些表也可以看下ip端口和配置信息的。。。
SELECT * FROM INFORMATION_SCHEMA.CLUSTER_INFO;
SELECT * FROM INFORMATION_SCHEMA.CLUSTER_CONFIG;
但是一般不会单独整个表就用来保存yaml配置文件。。。

所以说集群拓扑集中式管理这块tidb做的还是稍微有些欠缺,哈哈,本来以为有pd的地址,那整个集群的拓扑信息就都OK了,目前看拿到tidbserver的信息还不行,你提供的这个信息很有价值,非常感谢

但是实际上如果你yaml文件存数据库其实用处也不大,因为你tiup肯定用不到,因为你不能保证你执行tiup命令时,你的数据库是启动着的啊。。。tiup是可以执行关闭和启动数据库的命令的

说的有道理,但是最少还有有追溯的可能,哈哈,万一tiup工具环境都丢了,我这构造meta.yaml都不知道从哪里找元信息了【例如tidb: ip port , pd ip port 等等】

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。