AD时间同步原理分析
AD时间同步原理分析
对于加入域环境的客户端是与在父域中的权威服务器进行时间同步的。默认的同步时间的方法就是使用域层次,客户端会使用其所连接域中的域控来同步时间,而域控会反过来从整个林中的权威时间源来同步时间。如果在森林的根域中没有指定某个域控为权威时间源,那么拥有PDC角色域控会担当这个权威时间服务器。这台PDC会使用自己内部的时钟来为整个林的域控提供时间。
1. 如何保证所有域控制器和层次结构的PDC同步时间?如何保证所有成员服务器(客户端)与验证服务器同步时间。
由于PDC是林中默认的时间源,因此我们必须确保这个DC是永远在线的。如果我们发现PDC负载过高的话,那么就应该使用林中另外一台域控做为权威的时间源。
在森林根中的权威时间源获取时间的方式有两种。第一种就是从内网中所安装的硬件时钟设备上去获取时间。第二种就是从外部的时间服务器去获取时间。需要注意的是,如果我们没有配置权威时间服务器是从内部获取时间还是从外部获取时间,那么PDC就会使用其自己的内部时钟,也就是整个森林可靠的时间源了。
在与外部时间源进行同步时,我们是使用NTP协议来进行同步的,但NTP 协议使用的是UDP 123这个端口,因此我们一定要确保这个端口的入站和出站流量,以确保windows时间服务的正常工作。
也就是说,我们首先要保证默认情况下这个PDC这个时间源要是正确的,那么客户端与服务端就会自动进行同步了。否则就无法靠域的层级结构来同步整个域的时间了。
2. 所有与服务器、PDC服务器时间各不相同。该如何检查?
如果想使用默认的PDC来作为权威的时间源,建议是这样的
1) 首先确保PDC时间源才准确性,通常建议PDC使用外部的权威时间源(这样可以减少时间偏差和我们管理工作量)。
我们先通过下面的命令来检查,PDC现在的所使用时间源的状态:
w32tm /query /configuration
2) 如果我们想要指定外部权威时间服务器作为源,我们可以使用,下面这个命令:
w32tm /config [/computer:目标计算机] [/update] [/manualpeerlist:peers] [/syncfromflags:flag] [/reliable: (yes|No)]
例如:
w32tm /config /update /manualperrlist:time.windows.com,time.nist.gov,time-nw.nist.lov /syncfromflags:manual /reliable:Yes
使用这个命令我们就把PDC设置成了使用time.windows.com, time.nist.gov, time-nw.nist.lov这三个作为时间源,并且是森林中的权威时间服务器。我们可以通过上面的方法,来对我们觉得有必要的所有服务进行配置。
3) 如果客户端中的windows时间服务有问题的话,我们可以通过下面的方法来重置这个服务(恢复到默认状态)。
1、打开命令行
2、键入net stop w32time来停止这服务
3、键入w32tm /unregister 来删除现在的w32时间服务配置
4、键入w32tm /register 来导入默认的时间配置
5、键入 net start w32time 来开启这个服务。
4) 如果上面所述的方法还是不能解决我们的问题,我可以使用下面的方法来启用客户端上的windows时间服务日志文件来进行排错。
1.启动注册表编辑器。
2.找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
3.在 编辑 菜单上单击 新值,然后添加以下注册表值:
· 值名称: FileLogSize
数据类型: DWORD
值数据: 10000000
· 值名称: FileLogName
数据类型: 字符串
值数据: C:\Windows\Temp\w32time.log
· 值名称: FileLogEntries
数据类型: 字符串
值: 300
4. 在有问题的客户端上运行这个命令w32tm /config /update
5. 收集这个日志文件,与PDC 和 任意两台有问题DC的时间服务配置信息(w32tm /query /configuration)
还有一些相关的问题,请参考如下问答:
1、域控制器和PDC之间同步时间这个是理论上。但是它们之间同步是否有一个确定的标准或机制?如果没有他们之间时间同步我是否可以通过一些日志或文件证明他们的同步。
首先,Windows时间服务是设计用来同步网络上计算机的时钟的。网络时钟同步的过程,也叫做时间收敛,这个过程发生于当每个计算机通过网络访问来自一个更可靠时间服务器时。时间收敛这个过程,涉及一个权威服务器把当前的时间以NTP包的形式发送给每个客户端计算机。而在这个包中所提供的信息表示了是否需要调整客户端计算机当前的时钟时间,这样就可以与更准确的服务器进行同步了。
作为时间收敛过程的一部分,域成员会试图与其在相同域内的域控进行同步时间。如果该计算机就是域控,那么它会试图与更权威的域控进行同步。
关于我们是否可以验证他们之间是否同步的问题,其实也就是监测的问题:要监测某个特定域中或计算机上的时间服务时,我们可以使用 /monitor 参数。该命令的基本语法如下:
w32tm /monitor [/domain: 域名] [/computers: 计算机1,计算机2,计算机3,…] [/threads: N]
这里,域名是指要监测的域的DNS名,和由DNS名或IP地址指定的计算机名。如果我们没有指定某个域或计算机,那么就会使用目前我们所登录的这个域。我们要确保计算机名之间用逗号隔开,并且没有空格。 /thread参数指定了同时分析的计算机数量。默认的值是3;而允许的范围值在1至50之间。
2、成员服务器和客户端与它们验证服务器间同步。每台DC 的时间不一样,经过检查是它们是通过各自的硬件时钟同步的。针对这类型问题是如何引起的?怎样进一步去确认?
针对这个问题,就像我们之前说的那样,默认情况下DC是会去找PDC去同步时间的,至于为什么会变成通过各自的硬件时钟去同步,这有很多种多可能的原因,如第三方程序的干预等等。但如果Windows time service工作是正常的话,那么我们也就没必要去找其中的原因了,只有当与我们的预期不符时,我们需要知道它到底在干什么的时候,我们可以通过启用在我上一次回复中的Debug log来看时间服务到底在干什么。
3、关于无法运行命令w32tm /query,及其w32tm /register 的问题
如果无法运行这个命令是因为这个命令是windows vista 和 windows server 2008时引入的。那么我们可以换一种办法来查看这个状态,我们可以查看这个注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\
· Nosync表示客户端没有同步时间(就是所谓的硬件时钟)
· NTP表示客户端从外部时间源同步时间,并且NTPServer字段定义了这个时间源
· NT5DS表示客户端配置了使用域架构作为自己的时间同步
· AllSync表示客户端会从任何可靠的时间源处同步时间,包括域结构和外部时间源的。
就该注册表项而言,在DC上默认值是NT5DS,在独立的客户端或服务器上是NTP。
w32tm /register 这个命令不需要指定某个时间源,因为这个命令的用意是,把时间服务注册一下并向注册表添加默认的值。而这个默认值会牵涉到许多的注册表项,因此可以通过下面的这篇文档来进一步了解。
转载于:https://blog.51cto.com/lanou/651955
AD时间同步原理分析相关推荐
- ad域与linux同步时间同步,AD时间同步原理分析
首先我把我对AD环境时间同步理解描述:PDC服务器和Internet 外部时间源或本地硬件同步.所有域控制器按层次结构找PDC同步.所有成员服务器或客户端在登录时通过那台服务器验证,就与那台DC时间进 ...
- Android 时间同步原理分析
转自http://zhengken.me/2016/09/26/the-principle-of-date-time-sync/#more 前言 在 Android 手机中,我们打开设置可以看到自动确 ...
- Java 线程同步组件 CountDownLatch 与 CyclicBarrier 原理分析
1.简介 在分析完AbstractQueuedSynchronizer(以下简称 AQS)和ReentrantLock的原理后,本文将分析 java.util.concurrent 包下的两个线程同步 ...
- 鱼眼图像自监督深度估计原理分析和Omnidet核心代码解读
作者丨苹果姐@知乎 来源丨https://zhuanlan.zhihu.com/p/508090405 编辑丨3D视觉工坊 在自动驾驶实际应用中,对相机传感器的要求之一是拥有尽可能大的视野范围,鱼眼相 ...
- arthas 运维工具介绍与原理分析
目录 arthas是什么?他能帮我们做什么? arthas使用举例 arthas 实现这些功能的原理分析 arthas是什么?他能帮我们做什么? Arthas 是一款线上监控诊断产品,通过全局视角实时 ...
- java signature 性能_Java常见bean mapper的性能及原理分析
背景 在分层的代码架构中,层与层之间的对象避免不了要做很多转换.赋值等操作,这些操作重复且繁琐,于是乎催生出很多工具来优雅,高效地完成这个操作,有BeanUtils.BeanCopier.Dozer. ...
- Select函数实现原理分析
转载自 http://blog.chinaunix.net/uid-20643761-id-1594860.html select需要驱动程序的支持,驱动程序实现fops内的poll函数.select ...
- spring ioc原理分析
spring ioc原理分析 spring ioc 的概念 简单工厂方法 spirng ioc实现原理 spring ioc的概念 ioc: 控制反转 将对象的创建由spring管理.比如,我们以前用 ...
- 一次 SQL 查询优化原理分析(900W+ 数据,从 17s 到 300ms)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:Muscleape jianshu.com/p/0768eb ...
最新文章
- C++中的日期和时间
- java 接口的泛型方法_Java泛型/泛型方法/通配符/泛型接口/泛型泛型擦出
- python 匹配字符串多个_在Python中匹配多个数据集的字符串
- 【LightOJ - 1031】Easy Game (区间dp,博弈)
- 数据库事务隔离级别转
- 软考信息系统项目管理师_信息化与信息系统5_信息系统规划_补充问题---软考高级之信息系统项目管理师007
- 如何判断飞机的年限_身边没有懂车朋友如何购买二手车?
- 服务器设置站点网站为本地IP
- 筛选数据库_快速研读国外专利,轻松筛选核心技术…研发人必看6大数据库实用功能盘点!...
- 神经网络入门之CNN(二)
- Process Monitor工具找网吧广告
- MySQL批量插入测试数据
- 单片机音频谱曲软件_基于51单片机音乐播放仿真 乐谱制作软件 音乐资料
- 关于seo优化实用篇
- python图片处理,实现图片内容的中英文翻译 详细案例
- linux 服务器共享文件客户端查看,在Linux下查看共享文件夹
- 中国历史上十大无名英雄
- Jenkins-cents7.6 rpm安装
- java 汉字转拼音_java中将汉字转换成拼音的实现代码
- 微信发朋友圈/评论/点赞/搜索/购物车测试点