集群内的服务器时间不同步,调整时间,会不会影响数据啊,每个节点时钟都不同步,调整会不会影响,
看了下这个帖子ntp时钟同步异常(提前、落后)对集群运行有何影响?直接修复到当前时刻有何风险? - #20,来自 ShawnYan
感觉不会影响数据,毕竟tso 不会重复生成了
虽然依靠tso同步各个region的信息,但是时间还是同步起来好,毕竟也不复杂,用ntp或者chrony都可以
- 平稳校准、不回拨 / 大幅跳变时间 → 不损坏底层 KV 数据、不丢数、不脏数;
- 暴力改时间(大幅回拨、跳变几小时 / 几天)→ 严重影响 TiDB 集群可用性、事务、备份、监控,甚至读写阻塞;
- TiDB 的 TSO 由 PD 全局授时,和机器本地物理时钟解耦,本地机器时间不同步 / 微调,不会导致 TSO 重复、数据错乱,这点你理解是对的。
1 个赞
有全局时钟的,但是还是保持同步比较好
有明显影响
一般没啥影响,你一个一个配时间同步,同步好就行
如果担心有问题就停了tidb集群配好再启动
不是大幅度调整时间肯定没问题了
调整服务器时间本身不会损坏、丢失数据,但会严重影响集群逻辑与事务,风险很大。
数据不会坏,但事务和集群可用性会炸,必须平滑同步,禁止暴力跳时间。
稳妥一点还是申请停服调整比较好
以及调了,目前为止没有出现异常情况
只是短时间微小偏差(秒级以内),一般不会直接破坏数据。但严重不同步(分钟级以上)会导致 TiDB 无法正常工作,甚至引发数据丢失或事务冲突。
在分布式集群(如 TiDB, HBase, Kafka, Kubernetes 等)中,时间不仅仅是显示在屏幕上的数字,它是数据排序、事务一致性、日志复制和权限验证的基石 。
建议:
不要手动去“调整”时间。请在所有节点上配置好 chrony 或 ntp 服务,指向同一个可靠的时间源,并让它们自动平滑同步。如果时间偏差已经非常大(例如超过几分钟),建议先停止集群服务,同步时间后,再重新启动集群,以确保数据安全。
像TSO等时钟类数据离不开时间的同步,最好做一个原子时钟服务器,chrony或者ntp都行,自动同步各个时间
最好还是谨慎操作,多节点的情况下,可以先停节点上的应用,待调整后再重新启动,应该是最保险的
应该不影响。时间都从PD上发过来的
PD的TSO产生也有是戳的组成计算吧
有的,TSO就是时间戳
正常情况下会有影响的