暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

利用CTSS服务实现节点间时钟同步

IT那活儿 2023-01-13
949
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!



概述总结



在不使用操作系统层面NTP服务的情况,使用集群CTSS服务实现节点间时钟同步。

通过测试结论如下:

  • 在不关闭CRS情况下,关闭操作系统层面NTP服务,会自动激活CTSS服务。
  • CTSS服务会自动进行节点间时钟同步,从测试环境看每3分15秒左右时钟差缩小100毫秒。

测试环境:

操作系统:linux RedHat 7.6
CRS软件版本:12.2.0.1.190716
数据库版本:12.2.0.1.190716 for RAC

主机名称:db01和db02

测试描述:

在不关闭CRS的情况下,在关闭操作系统NTP服务并修改NTP配置文件名称之后,使CTSS(集群时钟同步)服务自动激活,变为active状态,并且自动同步节点间时钟。



测试过程



1. 检查CTSS服务状态

检查两个节点CTSS服务状态命令如下:
crsctl check ctss
输出如下:
CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
由于ntp后台进程启动或ntp配置文件存在,CTSS服务就处于observer模式,在此模式下CTSS服务不会主动同步两个节点时钟。

2. 关闭操作系统NTP服务

步骤一:当前两个节点都启动了chronyd进程,检查命令如下:
ps  -ef | grep chronyd
步骤二:关闭两个节点的chronyd进程,命令如下:
systemctl stop chronyd
systemctl status chronyd

步骤三:修改两个节点/etc/chrony.conf配置文件名称,命令如下:
cd /etc
mv chrony.conf chrony.conf.bak
ls –ltr chrony*.*

通过以上三个步骤就关闭了操作系统层面NTP服务。

3. 检查两个节点时钟

检查两个节点当前时钟,命令如下:
cxbjxyxdb01:/home/grid(+ASM1)$date;ssh cxbjxyxdb02 date
输出如下:
Fri Apr  8 12:00:49 CST 2022
Fri Apr  8 11:59:42 CST 2022

从以上输出可以看到节点一时钟比节点二快1分多。

4. 检查节点一CTSS服务状态

当关闭操作系统层面的NTP服务后,检查节点一CTSS服务状态命令如下:
db01:/home/grid(+ASM1)$date;/u01/app/12.2/grid/bin/crsctl check ctss
输出如下:
Fri Apr 8 12:01:05 CST 2022
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0

以上输出显示CTSS服务处于ACTIVE模式,由于节点一的时间快于节点二,因此,偏移量为0。

5. 检查节点二CTSS服务状态

当关闭操作系统层面的NTP服务后,检查节点二CTSS服务状态命令如下:
[root@db02 etc]# date;/u01/app/12.2/grid/bin/crsctl check ctss
输出如下:
Fri Apr 8 12:00:15 CST 2022
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): -72600

以上输出显示CTSS服务处于ACTIVE状态,由于节点二时钟慢于节点一,因此,与节点一时钟差72600毫秒。

6. 检查节点二时钟同步进度

多次执行以下命令,评估节点二时钟同步进度:
[root@db02 etc]# date;/u01/app/12.2/grid/bin/crsctl check ctss
输出如下:
Fri Apr 8 12:09:48 CST 2022
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): -72300

再次执行以上命令输出如下:
Fri Apr 8 12:12:51 CST 2022
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): -72200

从以上输出可以看到在12点09分48秒时钟差是72300毫秒,在12点12分51秒,时钟差减少到72200毫秒,由于采样一次有5秒睡眠,因此,粗略评估需要3分钟15秒左右时钟差缩小100毫秒,同步完全完成要45个小时左右。




测试结论



通过以上测试结论如下:
  • 在不关闭CRS情况下,关闭操作系统层面NTP服务,会自动激活CTSS服务;
  • CTSS服务会自动进行节点间时钟同步,从测试环境看每3分15秒左右时钟差缩小100毫秒。

END



本文作者:李亚明(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论