【 TiDB 使用环境】生产环境
【 TiDB 版本】 v6.5.0
【遇到的问题:问题现象及影响】 .tiup 目录被整理删除,重新安装了新版本的tiup ,tiup cluster list 无法再显示之前部署的集群。
【资源配置】
【附件:截图/日志/监控】
元数据都保存在这里,删掉肯定就不能用了,参考这里恢复下吧
谢谢,我操作一下。
确下本次恢复的目的,是恢复 .tiup 中的元数据,此为管理集群的基础。有个这些元数据,新的 tiup 将会继续运维以前的集群,
恢复步骤
- 手写一下最终的集群 topo 文件,
- 需要批量将 instance 级别的 bin/{instance}-server 文件 mv ,解释可看 [2]
- 根据 tiup 部署集群步骤,进行 deploy 操作,解释可看 [3]
[2] 因为使用已发布的 tiup 进行部署,需要覆盖 instance 级别的 binary 文件,但是对正在运行的服务没有影响,替换过程中可能出现 Text file busy
问题,所以需要手动将所有的 binary 文件都 mv 成 old,或者其他名字(mv tidb-server tidb-server_old),此步骤务必保证操作完全,避免 deploy 出现问题。否则需要重复 2 / 3 步骤。
[3] 由于当前 tiup 并没有集群的元信息,所以 deploy 不会出现目录端口冲突。deploy 会下载指定版本的 binary 文件并覆盖到原集群。(因为目前是非常规 deploy 所以覆盖是可以理解的正常操作,upgrade 会将 bin 目录进行备份)
注意事项
- deploy 时 version 要指定正确,需要相同版本
- 所有节点的 binary 文件需要 mv
- 保证 topology 文件的完整性,与最终集群节点一致。请注意 deploy-dir/data_dir/port/status_port 等参数的编写。
手写一下最终的集群 topo 文件,
需要批量将 instance 级别的 bin/{instance}-server 文件 mv
根据 tiup 部署集群步骤,进行 deploy 操作
可以定期备份下 tiup 元数据
tiup cluster meta
Usage:
meta [command]
Available Commands:
backup backup topology and other information of cluster
restore restore topology and other information of cluster
Flags:
-h, --help help for meta
Global Flags:
-c, --concurrency int max number of parallel tasks allowed (default 5)
--format string (EXPERIMENTAL) The format of output, available values are [default, json] (default "default")
--ssh string (EXPERIMENTAL) The executor type: 'builtin', 'system', 'none'.
--ssh-timeout uint Timeout in seconds to connect host via SSH, ignored for operations that don't need an SSH connection. (default 5)
--wait-timeout uint Timeout in seconds to wait for an operation to complete, ignored for operations that don't fit. (default 120)
-y, --yes Skip all confirmations and assumes 'yes'
Use "meta help [command]" for more information about a command.
最终问题解决方法,根据自己的集群创建该 路径 /root/.tiup/storage/cluster/clusters/es_tidb,此处 es_tidb 为集群的名字。下面存放 meta.yaml 和ssh 目录。meta.yaml 为集群拓扑,ssh目录下需要存放私钥,确保通过该私钥可以在中控机上使用tidb用户的身份ssh到 其它节点。meta.yaml 文件结构如下。
学习一下
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。