Apr 25

[原]解决服务器重启后,时间自动变更的问题 雷阵雨

linuxing , 11:51 , 基础知识 » 硬件处理 , 评论(1) , 引用(0) , 阅读(28847) , Via 本站原创 | |
 在项目中,有时候会发现服务器在每次重启后,时间会自动的变更,以至带来很多的麻烦。(例如日志记录混乱,OA系统登记信息错误等)导致这样的问题基本上有两个:
1)服务器硬件造成的,如电池电量不够;
2)系统问题,通常是因为时区错误。
 要解决该问题,首先要知道的就是Linux系统中时间的概念:
1)Linux系统中,系统时间和硬件时间是独立的
系统时间是表示系统内运行的时间,硬件时间是指硬件设备中,如BIOS的时间。
2)系统时间和硬件时间的关系
系统时间由硬件时间和系统时区进行设置。系统在启动的时候,会从硬件设备中读取硬件时间,并根据系统时区进行修改,然后写入到系统时间内。同样,系统关闭时,也会读取系统时间,然后写入硬件时间。
 由于硬件造成的问题,请联系硬件供应商。下面我们来谈谈系统上的解决方法:
1、涉及到的文件有:
引用
/etc/localtime--本地时间的文件(二进制文件)
/etc/sysconfig/clock--系统时间的配置文件
/etc/timezone--系统时区文件
以及一个目录:
/usr/share/zoneinfo--系统可使用的本地时间文件

2、使用到的命令
/bin/date--查看系统时间
/sbin/hwclock--查看硬件或系统时间,并可修改硬件时间
3、范例
让我们以一个实际例子为例:
系统:红旗 DC Server 5.0 for x86
通常,由于我们所在的时区是GMT +8(中国),所以,出现问题会发现这样的情况:
引用

# date 042519302006
Tue Apr 25 19:31:00 CST 2006
# hwclock -r
Tue Apr 25 11:31:36 2006  -0.432139 seconds

也就是,系统时间比硬件时间增加了8小时。
首先,查看并修改时区配置:
# cat /etc/timezone
Asia/Beijing

接下来,查看系统时间的配置文件
# cat /etc/sysconfig/clock
ZONE="Asia/Beijing"
UTC=false
ARC=false

要保证上述的Zone环境配置是对应的。然后修改本地时间文件:
# cd /usr/share/zoneinfo/Asia/
# cp Beijing /etc/localtime

拷贝正确的本地时间文件(或链接)
最后,把硬件时间重新设置为系统时间,然后重新启动,以生效:
# hwclock --hctosys

4、例外
在部分系统上,如AsinaUX 1.0。会由于系统本身采用的是UTC时间,若我们采用上述的方式修改系统时间,会发现这样的现象:
◎系统启动过程显示的localtime时间是正确的,但进入系统后,用date命令看到的时间恰好又多了8个小时
这样,我们就只能修改系统时间的配置文件,把UTC时间激活
引用
# cat /etc/sysconfig/clock
ZONE="Asia/Beijing"
UTC=true
ARC=false
# hwclock --hctosys

重启即可。
5、其他
常用的配置时间命令还有:
# date 042511482006

格式:date 月日时分年
(该设置和BSD上有所不同)
# hwclock -r 或 hwclock --show

查看硬件时间
# hwclock --systohc 或 hwclock -w

把系统时间写入硬件时间
# hwclock --hctosys 或 hwclock -s

就是把硬件时间写成系统时间
6、服务
最近发现,系统中的某些服务会对CPU频率进行调整,由此也会导致系统时间出现问题。典型的就是红旗DC 5.0上的cpuspeed服务,建议在某些情况下,可以把其关闭:

service cpuspeed stop
chkconfig cpuspeed off


※系统时间对于系统的稳定很重要,甚至会影响到HA等应用服务,一旦遇到问题,需要多分析问题的原因,直到解决为止!

※附:
UTC时间和GMT时间,这是一个很多天文爱好者争论不休的问题。我们不作深究。只要知道这样:
UTC 也就是 Coordinated Universal Time (协和标准时间),是利用这种 Atomic Clock 为基准所定义出来的正确时间。UTC标准时间是以 GMT 这个时区为主的。所以本地时间与 UTC 时间的时差就是本地时间与 GMT 时间的时差。
Tags: , ,
jinuljt
2008/01/17 15:18
zan
装系统的时候选了utc时间。
吃到亏了。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]