概述:
本文主要讲解如何通过Windows Server 2008搭建自己的时钟同步服务器,保证系统中各个服务器的时钟同步。
背景:
在上周五“博客无双”活动的奖品拍卖过程中,由于Web服务器与数据库服务器的时钟不同步,造成竞拍结果引起争议。最后5秒内出价的一位朋友,数据库记录的出价时间超出了拍卖结束时间。这个程序造成的问题,完全是我们的责任,我们将给那位最后出价者补偿一部WP7手机。给我们的教训是,技术上不能有丝毫疏忽。现在我们已经解决了服务器时钟同步问题,在这里将解决方法分享给大家。
时钟同步功能简介:
在Windows系统中,时钟同步是通过Windows Time服务(W32Time)完成的。W32Time通过NTP(Network Time Protocol)协议访问目标时钟同步服务器的123端口进行时间同步。服务器的地址可以在“时间与日期”设置窗口的“Internet Time” 选项中进行设置。Windows默认提供了几个互联网上的时钟同步服务器地址,比如:time.windows.com,你电脑上的时钟同步就是W32Time通过访问这里预设的服务器地址进行的。默认的时间间隔是7天。
你也许会问,既然Windows默认提供了时钟同步,那博客园服务器怎么会出现时间不同步的情况。这是因为我们的数据库服务器与互联网没有直接连接,无法访问预设的时钟同步服务器。所以,我们的解决方法就是搭配自己的时钟同步服务器,其他服务器都与这台服务器进行时钟同步。
配置步骤:
——服务器端配置——
1. 选择一台服务器作为时间同步服务器。
2. 运行Regedit,打开注册表编辑器。
3. 找到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\,在右侧窗口中将AnnounceFlags的值修改为5。
4. 继续找到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\,在右侧窗口中将Enabled的值修改为1。
5. 在命令行中输入”net stop w32time && net start w32time“重启W32Time服务。
6. 修改Windows防火墙设置,允许123端口的UDP连接。
——客户端配置——
1. 设置目标服务器地址:
打开修改日期与时间的窗口,进入“Internet Time” 选项,输入时钟同步服务器的网址或IP地址,如下图:
然后点击同步按钮,配置没问题的话,就会显示同步成功,如下图:
2. 设置同步时间间隔:
默认的同步时间间隔是7天,实在是太久了,可以修改为你想要的同步时间间隔。
在客户端电脑上打开注册表编辑器,找到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient,在右侧窗口中找到SpecialPollInterval,打开修改窗口,选择十进制,输入同步时间间隔即可(单位为秒)。如下图: