为什么Domain controller上的time synchronization非常重要?
2014-06-19 17:04
260 查看
虚拟机默认情况下所拥有的资源都是不同的, 比如说CPU clock. 在一个忙碌的系统中, 虚拟机甚至可能在很短的一段时间内被拒绝分配资源给它, 这种情况还可能发生在高系统负荷, VMotion, Backup的时候. 或者说虚拟机收到了超过它可以感知的CPU资源的量, 比如说操作系统认为它有1个2.4Ghz的CPU, 但事实上它运行在一个8 core的2.4Ghz的VMware的系统上.
这会导致称为"time drifting"的问题, 即虚拟机用来计算时间的'滴答'的时钟会运行的比标准的更快或更慢. 有人见过没配好time synchronization的虚拟机的时间差多达几个小时.
Windows Servers和Domain Controller上的w32time服务在物理机上是完全足够保持正确的时间的. 这个服务在domain controller上不光作为一个sync时间的client, 也作为domain中其他机器用于sync的time的源. 所以, 如果你不想使用该服务client端的功能, 那也不能简单的就把这个服务停掉.
解决方案
===========================
第一种
1. 配置所有的VMware host都跟自己的NTP去sync, 这很重要, 因为我们要用他们作为时间源来跟运行在他们上的虚拟机来同步时间. 别忘了在VMware host上配置自动启动NTP client.
2. 配置虚拟化的domain controller不要用time service去同步时间, 可以说哦用NoSync参数, 并且让它知道他自己有权威时间.
3. 安装VMware tools, 然后配置他跟ESXi host来同步时间.
这种解决方案在极端的负荷下也是比较稳定的. 最大的问题是需要严格的控制VMware主机, 并且确保任何的DC运行的host都是用同样的NTP源. 另一个最可能的问题是某人添加了一台新的ESXi, 并且忘了配置NTP服务器.
第二种
1. 找两台物理机作为本地的time servers. 它们依次跟一个信任的时间源来同步.
2. 让其他的有PDC FSMO role的domain controller或者其他的NTP servers来跟这两台物理机同步时间.
3. 让其他的domain controller跟这两台物理机同步或者跟PDC来同步. 如果你有物理机运行PDC FSMO的话, 那就更好了.
4. 确保你增加虚拟的domain controller与时间源sync的频率. 建议是每15分钟或每小时sync一次.
Useful Commands
===========================
w32tm /resync
资料来源
===========================
How to configure your virtual Domain Controllers and avoid simple mistakes with resulting big problems
http://www.sole.dk/how-to-configure-your-virtual-domain-controllers-and-avoid-simple-mistakes-with-resulting-big-problems/
参考资料
===========================
Timekeeping best practices for Windows, including NTP (1318)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318
How to configure an authoritative time server in Windows Server
http://support.microsoft.com/kb/816042/en-us
Synchronizing ESXi/ESX time with a Microsoft Domain Controller (1035833)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1035833
Virtualizing Your Domain Controllers without getting fired!
http://www.sole.dk/virtualizing-your-domain-controllers-without-getting-fired/
这会导致称为"time drifting"的问题, 即虚拟机用来计算时间的'滴答'的时钟会运行的比标准的更快或更慢. 有人见过没配好time synchronization的虚拟机的时间差多达几个小时.
Windows Servers和Domain Controller上的w32time服务在物理机上是完全足够保持正确的时间的. 这个服务在domain controller上不光作为一个sync时间的client, 也作为domain中其他机器用于sync的time的源. 所以, 如果你不想使用该服务client端的功能, 那也不能简单的就把这个服务停掉.
解决方案
===========================
第一种
1. 配置所有的VMware host都跟自己的NTP去sync, 这很重要, 因为我们要用他们作为时间源来跟运行在他们上的虚拟机来同步时间. 别忘了在VMware host上配置自动启动NTP client.
2. 配置虚拟化的domain controller不要用time service去同步时间, 可以说哦用NoSync参数, 并且让它知道他自己有权威时间.
3. 安装VMware tools, 然后配置他跟ESXi host来同步时间.
这种解决方案在极端的负荷下也是比较稳定的. 最大的问题是需要严格的控制VMware主机, 并且确保任何的DC运行的host都是用同样的NTP源. 另一个最可能的问题是某人添加了一台新的ESXi, 并且忘了配置NTP服务器.
第二种
1. 找两台物理机作为本地的time servers. 它们依次跟一个信任的时间源来同步.
2. 让其他的有PDC FSMO role的domain controller或者其他的NTP servers来跟这两台物理机同步时间.
3. 让其他的domain controller跟这两台物理机同步或者跟PDC来同步. 如果你有物理机运行PDC FSMO的话, 那就更好了.
4. 确保你增加虚拟的domain controller与时间源sync的频率. 建议是每15分钟或每小时sync一次.
Useful Commands
===========================
w32tm /resync
资料来源
===========================
How to configure your virtual Domain Controllers and avoid simple mistakes with resulting big problems
http://www.sole.dk/how-to-configure-your-virtual-domain-controllers-and-avoid-simple-mistakes-with-resulting-big-problems/
参考资料
===========================
Timekeeping best practices for Windows, including NTP (1318)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1318
How to configure an authoritative time server in Windows Server
http://support.microsoft.com/kb/816042/en-us
Synchronizing ESXi/ESX time with a Microsoft Domain Controller (1035833)
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1035833
Virtualizing Your Domain Controllers without getting fired!
http://www.sole.dk/virtualizing-your-domain-controllers-without-getting-fired/
相关文章推荐
- 数据可视化性能 – 为什么非常重要?
- 架构师速成7.3-devops为什么非常重要
- 为什么不可变性在React当中非常重要
- 编程规范是非常重要的,为什么说可读性比什么都重要?你有没有确定一个编程规范呢?
- RC 4000 Multiprogramming System:一个你没听说过但是却非常重要的操作系统(下)
- ESP8266 OTA升级MAKEFILE常见问题之一(非常重要)
- 为什么基于内容的读取缓存 (CBRC) 对于 Horizon View 和 VSAN 如此重要?
- socket的recv非常慢,为什么?
- C# 解决窗体假死的状态 非常有用!且非常重要!
- core audio apis库的函数排列顺序非常重要
- java例程练习(关于内部类的一个非常重要的作用)
- 【绪论】算法为什么重要?
- 转发:为什么函数式编程至关重要
- 非常重要的面子方面的事情 第二部分
- 用户体验——以用户为中心的Web设计_Chapter1. 用户体验为什么如此重要
- 为什么设计模式重要
- 为什么版本控制如此重要?
- 加快工作效率的各种工具集--非常重要
- 为什么用卷积滤波,而不是非常easy的在频率领域内进行数据的频率处理
- 为什么XML文档的格式是否规范如此重要呢?为何W3C规定XML处理器不应尝试修复不规范的文档