linux系统时钟和硬件时钟不一致

来源:岁月联盟 编辑:exp 时间:2012-03-09

在做DB2 集群复制的时候要求两台主机想时间一致。
但是在一台主机上系统时间和硬件时间相差12个小时左右;手动同步后,重启后又相差12个小时左右。
为什么会是这样的,先介绍下系统时钟和硬件时钟的区别:
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
查时间
swas702:~ # date

Fri Mar  9 13:33:15 CST 2011

swas702:~ # hwclock --show

Fri Mar  9 13:33:22 2011  -0.517526 seconds
设置系统时间
was7:/ccc # date

Fri Mar  9 14:02:35 CST 2011

was7:/ccc # date -s "2011-03-09 14:02:35"

Fri Mar  9 14:02:35 CST 2011

was7:/ccc # date

Fri Mar  9 14:02:36 CST 2011
设置硬件时间
swas702:~ #hwclock --set --date="2011-03-09 13:33:22"
swas702:~ # hwclock --show

Fri Mar  9 13:33:22 2011  -0.517526 seconds
如果让系统时间与硬件时钟同步,则用
swas702:~ # hwclock --hctosys (hc代表硬件时间,sys代表系统时间)
swas702:~ # clock --systohc 系统时钟和硬件时钟同步


摘自 Dream19881003的专栏