tidb-ansible 误升级至4.0,如何回退

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:实际使用版本v3.0.6
  • 【问题描述】: 有同事将inventory.ini 里的参数改为 tidb_version = latest,我执行ansible-playbook rolling_update.yml 后,tidb升级为Release Version: v4.0.0-beta-31-gcea80ae21,现尝试降级,没有成功,请问我应如何才能降回v3.0.6版本?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。

你好,

目前 tidb 不支持降级处理,因为新的 future 已经写入,降级可能带来不可预知的后果

如果目前处于 beta 版,建议关注下 4.0-rc.1 版本,比 beta 修复了很多 bug ,看 官网的 release note 即可

另外请问一下,现在报这错,有没有办法救了,[2020/04/28 17:44:01.639 +08:00] [FATAL] [cluster.go:684] [“invalid downgrade; server version is lower than determined cluster version”] [current-server-version=3.3.0+git] [determined-cluster-version=3.4] [stack=“go.etcd.io/etcd/etcdserver/api/membership.mustDetectDowngrade\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/pkg/mod/go.etcd.io/etcd@v0.0.0-20190320044326-77d4b742cdbf/etcdserver/api/membership/cluster.go:684\ go.etcd.io/etcd/etcdserver/api/membership.(*RaftCluster).Recover\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/pkg/mod/go.etcd.io/etcd@v0.0.0-20190320044326-77d4b742cdbf/etcdserver/api/membership/cluster.go:225\ngo.etcd.io/etcd/etcdserver.NewServer\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/pkg/mod/go.etcd.io/etcd@v0.0.0-20190320044326-77d4b742cdbf/etcdserver/server.go:471\ go.etcd.io/etcd/embed.StartEtcd\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/pkg/mod/go.etcd.io/etcd@v0.0.0-20190320044326-77d4b742cdbf/embed/etcd.go:209\ github.com/pingcap/pd/server.(*Server).startEtcd\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/src/github.com/pingcap/pd/server/server.go:149\ngithub.com/pingcap/pd/server.(*Server).Run\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/src/github.com/pingcap/pd/server/server.go:302\ main.main\ \t/home/jenkins/agent/workspace/release_tidb_3.0/go/src/github.com/pingcap/pd/cmd/pd-server/main.go:116\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:200”],降级报的错

你好,

目前确实不支持降级操作,只能在目前版本寻求一个稳定的版本,

我的意思是使用目前的版本我能把DB拉起来吗?

你好,

你好,不知道集群目前的状态是什么。

  1. 请确认全部节点是否均已升级至latest 版本

  2. 由于直接在 3.0.6 版本的 ansible 修改了 version 版本,目前需要下载对应版本的 tidb-ansible。(记得配置 inventory 和 host ,不可 copy 文件,要 vi 去编辑文件)

然后执行升级操作,以后就用新版的 tidb-ansible 管理集群了。这里有简单的升级步骤,具体看官网:

https://pingcap.com/docs-cn/stable/how-to/upgrade/from-previous-version/

  1. git clone -b $tidbversion https://github.com/pingcap/tidb-ansible.git
  2. ansible-playbook local_prepare.yml
  3. ansible-playbook rolling_update.yml
  4. ansible-playbook rolling_update_monitor.yml

升级至v4.0.0-rc 已解决,非常感谢。

:ok_hand:,方便分享下具体的操作流程不?这边学习下,哈哈

4.0 你值得拥有,有问题 asktug 有专门支持,加油

基本按你说的步骤,多了一步deploy而已,再次感谢。

  1. git clone -b v4.0.0-rc https://github.com/pingcap/tidb-ansible.git
  2. ansible-playbook local_prepare.yml
  3. ansible-playbook deploy.yml
  4. ansible-playbook rolling_update.yml
  5. ansible-playbook rolling_update_monitor.yml

你好,

deploy.yml 不需要执行的哈

建议了解下使用 tiup 升级 未来 tidb-ansible 将不再维护,可能出现更多问题。

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