时区为什么要统一
时区决定系统日志、定时任务与业务时间戳的口径。集群内各节点时区不一致时,日志对齐、证书校验与跨节点对账都会出问题。系统时区由系统管理工具设置,硬件时钟一般保持协调世界时,再由系统换算成本地时间显示。
基本信息
| 查看现状 | timedatectl |
|---|---|
| 设置时区 | timedatectl set-timezone Asia/Shanghai |
| 硬件时钟 | timedatectl set-local-rtc 0 |
| 列出可用时区 | timedatectl list-timezones |
| 适用平台 | 所有使用 systemd 的发行版 |
典型使用场景
- 新装机统一设置国内时区
- 集群节点巡检时核对时区是否一致
- 排查日志时间与业务时间对不上的问题
- 迁移后确认新主机时间口径正确
- 为定时任务设定准确的触发时刻
配置与验证
配置与验证
timedatectl # 查看当前时间、时区与同步状态
timedatectl list-timezones | grep -i shanghai # 确认时区名称
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-local-rtc 0 # 硬件时钟使用协调世界时
timedatectl # 复核设置是否生效
date +'%F %T %Z %z' # 确认偏移与缩写输出字段怎么读
| 字段 | 含义 | 关注点 |
|---|---|---|
| Local time | 本地时间 | 与实际时间比对 |
| Time zone | 当前时区 | 集群内应保持一致 |
| NTP synchronized | 是否已同步授时 | 显示否说明未对接时间源 |
| RTC in local TZ | 硬件时钟是否用本地时间 | 一般保持为否 |
| System clock synchronized | 系统时钟同步状态 | 异常时排查授时服务 |
落地建议
- 新装机第一步就设置时区
- 同时确认授时服务已启用并同步
- 把时区纳入节点基线核查项
- 容器与数据库单独确认时间设置
- 变更后核对日志时间是否随之变化
集群所有节点时区一致是基本要求;改时区不会自动纠正已经跑偏的时钟,校时还需要授时服务配合。
时间相关的联动项
- 定时任务的触发时刻
- 日志时间戳与检索
- 证书有效期校验
- 数据库与中间件的时间设置