在做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 系统时钟和硬件时钟同步