您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > suselinux10系统时间跑偏问题解析
呼叫中心专家集群时,经常会碰到因系统时间不准而导致WAS不正常和RAC节点宕机问题,解决系统时间跑偏的问题,大家会很自然的想到NTP和CRONTAB。下面针对这个问题来具体说说suselinux10系统时间跑偏问题。一、现象经过观察,你会发现在安装系统后第一次设置正确系统时间后,没设置定时校准的情况下,它的系统时间一小时会偏差有4-6分钟左右,一天下来通常会偏差50分钟左右。这在生产环境下肯定会出问题。二、NTP设置如果你能直接连接到外部时间源或一个内部的时间源服务器,你可以在其中的一台suselinux10上设置NTP服务器,让其他suselinux10定时同步这台NTP服务器就行。#vi/etc/ntp.conf##Radioandmodemclocksbyconventionhaveaddressesinthe##form127.127.t.u,wheretistheclocktypeanduisaunit##numberintherange0-3.####Mostoftheseclocksrequiresupportintheformofa##serialportorspecialbusperipheral.Theparticular##deviceisnormallyspecifiedbyaddingasoftlink##/dev/device-utotheparticularhardwaredeviceinvolved,##whereucorrespondtotheunitnumberabove.呼叫中心专家(ConradDCF77)##Address:127.127.8.u##SerialPort:/dev/refclock-u####(createsoftlink/dev/refclock-0totheparticularttyS?)###server127.127.8.0mode5prefer####UndisciplinedLocalClock.Thisisafakedriverintendedforbackup##andwhennooutsidesourceofsynchronizedtimeisavailable.##server127.127.1.0#localclock(LCL)fudge127.127.1.0stratum10#LCLisunsynchronized####Outsidesourceofsynchronizedtime####serverxx.xx.xx.xx#IPaddressofserverserver10.7.0.81#手工设置时间源服务器####Miscellaneousstuff呼叫中心专家=syncstatus+sysevents#logconfig=all#statsdir/tmp/#directoryforstatisticsfiles#filegenpeerstatsfilepeerstatstypedayenable#filegenloopstatsfileloopstatstypedayenable#filegenclockstatsfileclockstatstypedayenable##Authenticationstuff##keys/etc/ntp.keys#pathforkeysfile#trustedkey1234561415#definetrustedkeys#requestkey15#key(7)foraccessingservervariables#controlkey15#key(6)foraccessingservervariables然后你可以使用:#hwclock-r#查看硬件时间#hwclock--systohc#把硬件时间赋给系统时间呼叫中心专家定时校准#crontab-e加上下面一句*/15****/usr/sbin/ntpdate10.7.0.81;/sbin/hwclock-w意思是每15分钟同步一次并将时间写入硬件时钟三、直接设置CRONTAB如果有时间源服务器且suselinux10服务器都能正常PING通时间源服务器,你可以在所有的suselinux10服务器上直接设置CRONTAB来定时同步时间源服务器。具体方法同上#crontab-e加上下面一句*/15****/usr/sbin/ntpdate10.7.0.81;/sbin/hwclock-w意思是每15分钟同步一次并将时间写入硬件时钟如果你想看到每天具体的输出结果,可以加一个输出日志ntprizhi.txt来分析*/15****/usr/sbin/ntpdate10.7.0.81/tmp/ntprizhi.txt;/sbin/hwclock-w当然也可以查看系统下的日志,如果你是root用户,直接查看/var/mail/root就可以了,形式如下Subject:Cronroot@tyzssq/usr/sbin/ntpdate10.7.0.81;/sbin/hwclock-wX-Cron-Env:SHELL=/bin/shX-Cron-Env:HOME=/rootX-Cron-Env:PATH=/usr/bin:/binX-Cron-Env:LOGNAME=rootX-Cron-Env:USER=rootMessage-Id:20121126103001.076FF2090E@tyzssq.site呼叫中心专家:30:01+0800(CST)26Nov18:29:59ntpdate[6917]:steptimeserver10.7.0.81offset-1.361968sec四、系统内核参数修改即便设置了每15分钟同步,有时你发现仍然会出现时间跑偏的问题。这时你可以缩短同步的时间,比如设置成每5分钟甚至每1分钟同步一次,但如果需要同步的suselinux10服务器比较多的情况下对时间源就会造成压力。这时你需要考虑让suselinux10服务器自己把时间跑准,那么方法是修改系统内核参数。我们先看一下修改前的系统内核参数#cat/boot/grub/menu.lst#ModifiedbyYaST2.LastmodificationonThuNov308:00:47UTC2011default0timeout8##YaST-generic_mbrgfxmenu(hd0,1)/boot/message##YaST-activate###Don'tchangethiscomment-YaST2identifier:Originalname:linux###titleSUSELinuxEnterpriseServer10SP2root(hd0,1)kernel/boot/vmlinuz-2.6.16.60-0.21-smproot=/dev/hda2resume=/dev/hda1splash=silentshowoptshda=noprobehdb=noprobeinitrd/boot/initrd-2.6.16.60-0.21-smp呼叫中心专家:Originalname:floppy###titleFloppyrootnoverify(hd0)chainloader(fd0)+1###Don'tchangethiscomment-YaST2identifier:Originalname:failsafe###titleFailsafe--SUSELinuxEnterpriseServer10SP2root(hd0,1)kernel/boot/vmlinuz-2.6.16.60-0.21-smproot=/dev/hda2showoptside=nodmaapm=offacpi=offnoresumeedd=off3hda=noprobehdb=noprobeinitrd/boot/initrd-2.6.16.60-0.21-smpYouhavenewmailin/var/mail/root修改后的文件,注意红色语句部分#cat/boot/grub/menu.lst#ModifiedbyYaST2.LastmodificationonThuNov308:00:47UTC2011default0timeout8##YaST-generic_mbrgfxmenu(hd0,1)/boot/message##YaST-activate###Don'tchangethiscomment-YaST2identifier:Originalname:linux###titleSUSELinuxEnterpriseServer10SP2呼叫中心专家(hd0,1)kernel/boot/vmlinuz-2.6.16.60-0.21-smproot=/dev/hda2resume=/dev/hda1splash=silentshowoptshda=noprobehdb=noprobeclock=pmtmrinitrd/boot/initrd-2.6.16.60-0.21-smp###Don'tchangethiscomment-YaST2identifier:Originalname:floppy###titleFloppyrootnoverify(hd0)chainloader(fd0)+1###Don'tchangethiscomment-YaST2identifier:Originalname:failsafe###titleFailsafe--SUSELinuxEnterpriseServer10SP2root(hd0,1)kernel/boot/vmlinuz-2.6.16.60-0.21-smproot=/dev/hda2showoptside=nodmaapm=offacpi=offnoresumeedd=off3hda=noprobehdb=noprobeclock=pmtmrinitrd/boot/initrd-2.6.16.60-0.21-smpYouhavenewmailin/var/mail/root注意红色的语句其后面加上了蓝色部分clock=pmtmr当该参数设置后,可以在合适时间重启服务器让参数生效,经过测试和观察,系统时间不再跑偏.时间加快的原理探究:呼叫中心专家内核,SLES10中的2.6内核改变了时钟嘀嗒的中断数量,从100个/每秒到1000个/每秒。在双处理器的2.6内核,甚至可以达到每秒3000个。由于LINUX内核产生中断的能力差别,一些时间嘀嗒可能会被忽略。这会导致许多额外的嘀嗒来校正被忽略的嘀嗒,从而带来时间加快的副作用。当然LINUX本身会有算法来校正和解决系统中的这个问题。本文由整理分享
本文标题:suselinux10系统时间跑偏问题解析
链接地址:https://www.777doc.com/doc-2861199 .html