如何避免Windows Server服务器时间同步问题
-网络认证失败 -和系统中心数据保护管理器(SCDPM)代理的沟通问题 -Exchange Server、Active Sync和Outlook Web Access(OWA)不可用 在很多情况中,服务器时间同步问题来源于Kerberos协议,它有一个安全功能专门查看Kerberos票据上的时间戳,这主要是为了保护它们不会被重复使用。如果一张票据上的时间距离现在超过了五分钟,这张票据会遭到拒绝。因此,如果时钟五分钟内没有同步,Kerberos会开始出现故障。 通常来讲,时间同步不会带来问题。例如,当Windows在活动目录(AD)环境中运行时,域内的所有计算机时钟都自动地与域控制器同步。但是,在域成员和工作组成员混合或是多个活动目录林存在的环境中,时钟同步就可能变成一个问题。 举个更具体的例子,我自己网络中的所有生产服务器都进行了虚拟化。因为这个原因,我的虚拟化主机服务器中没有域成员,且所有的域控制器都是虚拟机。由于虚拟机根本没有启动,所以主机服务器不能和域控制器沟通的情况就不可能出现。如此一来,我选择让主机操作系统作为工作组成员。 另外,我所有的虚拟化主机都运行WindowsServer2008 R2上的Hyper-V这些服务器中的一些集群运行Windows 2008R2的虚拟机,其它的集群那些仍然运行Windows Server2003的虚拟机。但是虽然运行Windows 2008 R2的来宾机好像和主机服务器的时钟保持了同步,运行Windows 2003的机器有可能无法和其余网络保持同步。 在工作组环境中,你可以通过打开Command Prompt窗口然后键入如下命令来将机器链到时间来源: W32tm/config/syncfromflags:manual/manualpeerlist:W32tm/config/update 在这个例子中,你可以将替换成完全限定域名(FQDN)或是你想与之保持同步的服务器IP地址。你可以通过隔离每个有一个空间的地址来指定多个时间来源。 在域环境中,使用组策略设置来指定时间来源情况会更好些。时钟相关的组策略设置可以在Group Policy Editor里看见,位置是:Computer Settings Administrative Templates System Windows Time Service 有三个不同的组策略设置可供你使用,包括: -Configure Windows NTP Client-让你可以将计算机时钟和外部时间来源进行同步。 -Enable Windows NTP Client-允许计算机将时钟与其它Windows服务器进行同步。 -Enable Windows NTP Server-允许服务器向Windows NTP客户端提供时间同步。 注意,如果你打算和外部的时间来源进行同步,比如NIST,你就不能启用Windows NTP Client或是Windows NTP Server使用外部时间来源时,你可能还要打开一些防火墙端口。Windows服务器为时间协议运用UDP端口123,它在默认情况下就该打开。但如果你想要使用NIST,你还要打开TCP端口13,TCP端口37和UDP端口37 正如你所见,保持Windows Server时钟间的同步十分重要。尽管时钟一般会自动同步,准备好面对需要手动同步时钟的情况还是必要的。
其实这种邮件如果不是在服务器端设置的话是不可能杜绝的,而你出现这样的问题肯定是和服务器作同步的时候由于某种原因导致它无法正常同步,所以服务器会发出这样的同步日志。客户端能做的就是重新配置一下profile,刷新与服务器的连接,应该可以有效地减少这种同步日志的出现,而这种同步日志,则需要手动删除。
同步I/O操作
执行步骤
1 程序通过FileStream对象来打开磁盘文件,然后调用Read方法(内部调用Win32 ReadFile函数),从文件中读取数据。这时,线程从托管代码转变为本机/用户模式代码。
2 Win32 ReadFile函数生成一个I/O请求包(IRP),并传递给Windows内核。
3 Windows内核将IRP传送给I/O硬件设备驱动程序的IRP队列。
4 硬件设备执行I/O操作。在此期间,发出I/O请求的线程将变成睡眠状态。这样可以避免浪费CPU时间,但依然会浪费内存空间。因为线程的用户模式栈、内核模式栈、线程环境块和其他数据结构仍在内存中,而且无人访问。
5 在硬件设备完成I/O操作后,线程被唤醒,从内核模式返回用户模式,再返回托管代码。
性能分析
1 当客户端发起一个I/O请求时,线程池会创建一个线程,发起I/O请求后,线程会阻塞并等待响应。当客户端有多个I/O请求时,线程池不得不创建多个线程,这些线程都会阻塞。
2 当I/O响应请求时,多个线程被解锁,开始执行。这时,由于CPU内核数量限制,CPU被迫执行频繁的上下文切换,这进一步损害了性能。
异步I/O操作
概述
异步执行的I/O限制的操作,允许将任务交由硬件设备处理,期间不占用线程和CPU资源。
各种I/O操作的结果由线程池来处理,因此线程池仍然扮演重要的角色。
执行步骤
1 程序通过FileStream对象来打开磁盘文件,然后调用ReadAsync方法(内部调用Win32 ReadFile函数),从文件中读取数据。这时,线程从托管代码转变为本机/用户模式代码。
2 Win32 ReadFile函数生成一个I/O请求包(IRP),并传递给Windows内核。
3 Windows内核将IRP传送给I/O硬件设备驱动程序的IRP队列。
4 线程立即从内核模式返回用户模式,再返回托管代码。这时FileStream的ReadAsync方法返回一个Task<Int32>对象。
5 硬件设备执行I/O操作。
6 在硬件设备完成I/O操作后,将完成的IRP放到线程池队列中。
7 将来某个时间,一个线程池线程会提取完成的IRP,并访问读取到的数据。
性能分析
1 在硬件设备执行I/O操作期间,线程不阻塞,可以避免线程池创建更多的线程。
2 硬件设备执行I/O操作后,它的响应也会进入线程池队列,由线程池分配线程进行处理,可以更合理地利用线程,避免CPU的频繁上下文切换。
3 异步I/O将线程控制在少数几个,可以节省内存空间
你需要的是直接控制win2003
的console控制台吧,呵呵。
在开始
运行
输入
mstsc
/console
然后连接2003的机器就是了
呵呵
直接使用WINDOWS自己来做时间服务器而不采用第三方软件需要修改注册表,存在一定风险。
建议你采用第三方软件来实现NTP服务器
下载网址 http://wwwmeinbergglobalcom/english/sw/ntphtm#ntp_stable
NTP软件的安装文件(ntp-426p5@london-o-lpv-win32-setupexe)
0条评论