【编者按】

技术的发展,离不开千万人的研究、分享。


本文摘要:

你知道吗?有不少虚拟服务器集群里的问题是由于各个组件之间的时间不同步引起的。例如,VSAN6.2未显示实时的性能。那么,如何设置NTP_Server使得时间同步呢?



---Begin---


在《​​VSAN实践经验-04: Storage Provider方面的问题,怎么解决?》​​ (可直接打开),我们曾汇总出如下办法:

1、VSAN5.5升级到5.5U3版本以上

   注意:Enabling SSLv3 protocol onvSphere 5.5 U3b KB 2139396

2、使用FQDN注册主机到vCenter中。

3、检查时间是否同步。

4、检查网络连通性,如防火墙,8080端口。

5、删除VSANCluster,重新创建(没有数据条件下)。


不知道实际部署或使用过VSAN的朋友们,是否发现,其实时间不同步可能导致出现不同的问题。还原一下最近我们遇到的一个问题的过程:


大家知道从VSAN6.2(对应的是ESXi 6.0u2)开始,计算和存储的性能监控合二为一,也即在vCenter的vSphere Web Client的单一图形界面里,就能实现对计算资源池和存储资源池的管理和监控。而且能监控性能的组件很全面,颗粒度很细。


奇怪的是,在业务应用运行且负载较高时,打开VSAN6.2 的vCenter vSphere Web Client,等候了二、三十分钟,一直没有性能数据的显示,如下图一所示。

VSAN实践经验-05: 为何VSAN 6.2没有显示性能数据 & 如何设置NTP_Server_数据


经过同事的提示,让我们先看看Observer有没有性能数据的实时显示。这个方法好,故障隔离,一步步细分,看看到底问题出在哪?

打开Observer,观察发现有实时的性能数据的显示,如下图所示。

VSAN实践经验-05: 为何VSAN 6.2没有显示性能数据 & 如何设置NTP_Server_微信_02


那到底是为什么呢?咨询技术大牛后,他认为:

“我猜测是client端的时间跟hosts的时间不同步,你在VC里调整一下查询时间段。在最近的1,2天的时间段内查查。数据应该有的,可能只是查询时间有错位”。


于是,手动设置Custom,自己输入查询时间段。下图显示了如何设置Custom,也即查看特定时间段的性能数据。


VSAN实践经验-05: 为何VSAN 6.2没有显示性能数据 & 如何设置NTP_Server_数据_03

注意,如果不设置Custom,系统默认只是显示过去1小时内的性能实时数据。


果然看到了部分的性能数据,印证了技术大牛的分析。注意上图并非当时设置Custom后立即抓取的截图。


其实我们原来已经设置了NTP_Server,可能彼时做为NTP_Client的ESXi Host的时区(国外)与vCenter Client的时区(中国)不一致。后来将VSAN集群内的ESXiHost的时区都更改为中国时区,就可以了。大致印象如此,当时没抓截图,有些记不请,欢迎读者指正(微信联系,或者联系我的QQ号 9269216)。


下面将设置NTP_Server的步骤和资料列出,方便读者参考。


一、先设置NTP_Server


我们先在ESXi上安装一个Windows2012虚机,做为NTP_Server的时钟源(如192.168.0.32),该时钟源会与设置好的,全球某几个NTP时间服务器(它的用途是把计算机的时钟同步到世界协调时UTC-UniversalTime Coordinated,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms)进行时间的同步。


修改Windows2012(192.168.0.32)虚机的注册表。

如果在Windows2012里难以找到运行方式打开命令行窗口,则可以在点屏幕左下角的窗口图标后,在出现的图形界面的右上角,点击搜索图标。输入CMD,即可打开熟悉的命令行,也即CommandPrompt。再输入regedit,即可更改注册表了。

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\

设置AnnounceFlags 5

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\

设置 Enabled 1

 

然后重启下服务(其实Windows Server12 默认根本没有启用 w32time 服务

net stop w32time
net start w32time

 

最后加入防火墙规则,打开端口 123 ,命令提示符

netsh firewall add portopening protocol = UDP port =123 name = NTPSERVER

然后终端就可以设置同步

建议终端修改下时间间隔,注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient

SpecialPollInterval 默认为 604800 =7 * 24小时 * 60分钟 * 60(也就是说默认是一周同步一次

改为自己认为合适的时间。例如我们希望60秒一次,就将SpecialPollInterval设置为3c (60用16进制来写就是3c)。

 

另外服务器端还有几个可选配置,注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

NtpServer 为同步的时间服务源,可以直接改注册表来指定(不一定非要在控制面板中设置,其实俩效果是一样的


我们设置的NtpServer的值为: time.windows.com,0x1 time-a.nist.gov,0x1 time-b.nist.gov,0x1 

解释一下,上面其实列出了三个时间服务源,在使用IP地址时后面要加上,0x1,多个地址之间用空格隔开。有时大家看到time.windows.com,0x9,那么0x1与0x9又有何区别呢? 大体来说如下:

NTPServer的标志(flags)有四个可能的值:

0x01 SpecialInterval

0x02 UseAsFallbackOnly

0x04 SymmatricActive

0x08 Client


含义

0x1

Instead of following  the NTP specification, wait for the interval specified in the SpecialPollInterval entry  before attempting to recontact this time source. Setting this flag decreases  network usage, but it also decreases accuracy.

0x2

Use this time source  only as a fallback. If all time sources that are not fallbacks have failed,  then the system selects one fallback time source at random and uses it.

0x4

Set the local  computer to operate in symmetric active mode in the association with this  source.

0x8

Set the local  computer to operate in client mode in the association with this source.


NTPServer的标志(flags)还可以组合在一起,例如:

0x9 = SpecialInterval +Client

0xa = UseAsFallbackOnly +Client

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

MaxNegPhaseCorrection 表示若网络时间比本地时间快,超过这个秒数将不自动校

MaxPosPhaseCorrection 表示若网络时间比本地时间慢,超过这个秒数将不自动校

若要设置每次必定校正,则设置值为 FFFFFFFF(十六进制)


二、再设置NTP_Client


然后在集群内的各个ESXi Host(也即NTP_Client),逐一设置NTP配置信息。选中ESXi Host后,再选择Manage > Settings > System下的Time Configuration 。


VSAN实践经验-05: 为何VSAN 6.2没有显示性能数据 & 如何设置NTP_Server_数据_04

之后,我们再去查看VSAN的性能数据,就能得到实时的图形信息了。


以上文章的部分内容来自于:


1、百度文库里的doc文档《Windows-NTP服务配置说明书》

2、WindowsServer 2012 R2 设置NTP 服务

3、国内常用NTP服务器地址及IP

https://www.douban.com/note/171309770/

4、MicrosoftTechNet - Parameters\NtpServer

https://technet.microsoft.com/en-us/library/cc779560


感谢 同事 Simon,以及SDS&虚拟化&云计算 微信群里网友 飞元、Jump-行者、高健 的帮助。


---End---


欢迎关注如下微信公众号: V记云科技联盟成员

VSAN实践经验-05: 为何VSAN 6.2没有显示性能数据 & 如何设置NTP_Server_微信_05



乐生活与爱IT(love_life_and_IT)


微信公众号平台"乐生活与爱IT"在目前阶段,主要是分享软件定义存储(SDS),及VMware VSAN相关的文章,偶尔也会分享虚拟化、云计算、大数据,甚至生活类的好文章。欢迎对SDS感兴趣的朋友,加入软件定义存储讨论 QQ群:122295009,可下载原创的一些文章,及其他有参考价值的文档。

欢迎您通过扫描关注微信公众号:“乐生活与爱IT”。

VSAN实践经验-05: 为何VSAN 6.2没有显示性能数据 & 如何设置NTP_Server_虚拟化_06

关注后,可以通过点击左下角的“文章目录”,通过输入三位数(记住!是三位数,目前第一位是0或者1)详细了解如何查看历史文章。