Proxmox VE安装时,默认启用NTP时间同步。如果无法连接NTP时间,系统会以硬件时间作为标准时间(GMT)。通常服务器时间设置成了本地时间(北京时间)。Linux系统默认会取系统BIOS时间为标准时间(GMT),这样北京时间(GMT+8)就偏差了8个小时。
解决办法
# 关闭 NTP 同步(临时)
timedatectl set-ntp no
# 手动设置时间(格式:YYYY-MM-DD HH:MM:SS)
timedatectl set-time "2023-10-10 15:30:00"
# 确保硬件时钟也更新为修改后的时间
hwclock --systohc
timedatectl

1.Local time
本地时间,初始值来自于RTC,由内核维护,系统启动之后和RTC就没有关系,通常等于RTC+时区值(如上图的本地时间=RTC+8)
2.Universal time
系统时间永远是UTC,在应用程序使用的时候转换为本地时间
3.RTC(real-time clock)time
指硬件时间,一般是主板上的特殊电路,专用于记录时间,有电池供电,不受服务器和操作系统的开启关闭影响。也称作BIOS时间。
需要注意的是:当/etc/sysconfig/clock 文件中 UTC=true时, BIOS 使用UTC时间; UTC=false时, BIOS 使用本地时间。
hwclock --localtime #显示 BIOS 中实际的时间
hwclock -w #将系统时间同步到硬件时间
4.Time zone
本地时区,即服务器所在的时区,在中国通常使用Asia/Shanghai
timedatectl set-timezone "Asia/Shanghai" #设置时区为上海
timedatectl set-ntp true #开启ntp同步
timedatectl set-ntp false #禁止ntp同步