tidb 升级版本,扩容磁盘不丢数据方案

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

  • 【TiDB 版本】:v4.0.0-rc.2
  • 【问题描述】:tidb 升级版本,扩容磁盘不丢数据方案
    你好!
    我们有2个需求需要您帮忙看下怎么做会好些,我们的版本是v4.0.0-rc.2 现在最新版是4.0.6所以准备升级到最新版,但是我们怕tiup滚动升级导致tidb集群故障等,回滚失败或者无法访问等,第二个是因磁盘现在达到80%,需要扩充磁盘,不扩充服务器,有没有比较好的办法做到不丢数据,目前我们想的是在同一个tidb集群中搭建另外一个tidb集群,然后做主从同步 ,2个集群不在同一个磁盘下,最后来切换集群达到升级版本和扩充磁盘的需求,但是我们发现这个办法不太好,您那边有没有更好的建议

如果服务器内存和 cpu 可以满足,可以这样操作。但是注意主从同步也需要消耗服务器资源。
扩容 tikv 磁盘需要注意保证 tikv 服务器磁盘容量保持一致。

目前 tidb 不支持升级回滚,有问题随时联系我们。tiup cluster upgrade 升级比较简单,只要当前集群环境正常,一般都会成功,可以在测试环境试验和演练下。asktug 也有很多经验可以参考

你好,我们3台服务器都是12核心,内存24G,感觉内存不够去运行2个tidb集群,我们现在tikv数据大概190G,并且访问并发挺高的,我们想找个比较好的办法去做磁盘扩充,又不影响正常运行,我们的内存可用比较小了
1
有原先的想法是先,使用 tiup cluster upgrade 滚动升级,但是我担心滚动升级失败或者成功会造成tidb无法访问,
假如tiup cluster upgrade 滚动升级没有问题,因为是腾讯云主机,我们准备对磁盘进行扩容,只是需要重启服务器,我们可以对单个tidb节点,进行扩容之后在开启服务,不知道这样会不会丢失数据或者数据不一致

如果是磁盘扩容,建议完全停止 TiKV 实例之后,再扩容磁盘,然后启动 TiKV 实例,观察验证集群状态正常,依次操作 TiKV 节点。尽量避免腾讯云主机再扩容磁盘时数据迁移可能会造成的丢失数据或者数据不一致影响

我在测试环境上使用tiup cluster upgrade 滚动升级,测试环境执行了2次就升级成功了,第一次是重启tidb的时候2分钟超时了,然后我也测试了集群停止,启动,都没有问题,因为需要操作的是线上环境,请问tiup cluster upgrade 滚动升级会不会出现无法访问的情况,或者升级不成功,导致集群无法正常工作,

您上面的回答有点不明白,我们的步骤是
1.先在集群中关闭第三个节点的tikv ,pd,tidb
2.手动取消第三个节点tikv ,pd,tidb 的开机自动启动服务
3.重启服务器
4.磁盘扩容
5.在集群中启动第三个节点的tikv ,pd,tidb
6.第三个节点添加tikv ,pd,tidb 的开机自动启动服务
这样应该不会丢失数据把,因为我们是3个副本

你的这个操作是可以的,但是建议磁盘扩容时间不要超过 > 30min 或者将参数 max-store-down-time 通过 pd-ctl 调整超过 1h ,来提供磁盘扩容窗口。