VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

时间同步配置

本文介绍如何对数据库节点配置时间同步。

为了保证Vastbase的正常使用,需要同步各节点的时间,若时间不同步有可能会阻碍数据库后续使用,例如出现日志中时间节点不准确等问题。

检查时间配置

使用如下命令可查看当前时间是否符合规范:

ll /etc/localtime
date
hwclock --show

设置时间

规范时间配置,使单机或高可用集群中数据库主备节点保持时间同步,可选择以下方法:

方法一:将数据库各节点的时区设置为相同时区

步骤1 以root用户登录操作系统。

步骤2 将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件,从而设置时区和时间。

cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime

方法二:手工设定时间

步骤1 以root用户登录操作系统。

步骤2 执行date -s命令设置时区和时间。

以设置当前时间为2020-08-03 14:15:00为例。

date -s "2020-08-03 14:15:00"

步骤3 将系统时间写入硬件时间。

hwclock –w

方法三:使用时间服务器同步时间

对于高可用集群生产环境,应规范时间配置,使数据库主备节点保持时间同步。

选择主备节点所在局域网中一个合适的节点作为时间服务器(若条件有限,也可使用数据库主节点),使用ntpd或chronyd服务配置时间同步。操作步骤以使用ntpd服务为例。

步骤1 安装ntpd服务。

yum install -y ntpd

CentOS或RedHat等系统环境下,chronyd服务与ntpd服务冲突,因此chronyd、ntpd两种时间同步方式只能二选一。

当使用ntpd服务时,需要禁用chronyd服务。

systemctl disable chronyd && systemctl stop chronyd

步骤2 编辑配置文件。

  • 如果已经存在ntp服务器,假如为192.168.100.100,可以配置所有节点指向该ntp服务器时间。编辑高可用集群中每个节点的/etc/ntp.conf文件:

    • 本操作目的是让NTP Server和其自身保持同步。

    • 若在/etc/ntp.conf文件中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

    server 192.168.100.100 prefer 
    driftfile /var/lib/ntp/drift 
    broadcastdelay 0.008
    
  • 如果没有外部的时间服务器,可以选择集群中的某个节点作为时间服务器。选择一个节点为ntp服务器(以主节点192.168.100.1为例)在选择的节点上配置/etc/ntp.conf文件:

    server 127.127.1.0 
    fudge 127.127.1.0 stratum 10 
    driftfile /var/lib/ntp/drift 
    broadcastdelay 0.008 
    

    编辑高可用集群中其他节点的/etc/ntp.conf文件:

    server 192.168.100.1 prefer 
    driftfile /var/lib/ntp/drift 
    broadcastdelay 0.008 
    

若在ntp服务启动时修改ntpd.conf配置文件,需要重新启动ntp服务使其生效。

步骤3 步骤2的两种方式按需选择,然后启动各节点ntpd服务:

systemctl start ntpd 
systemctl enable ntpd 
systemctl status ntpd

步骤4 等待5分钟使时间服务器开始提供服务,5分钟后检查各节点时间是否同步。

date

步骤5 确定时间同步后,在各节点将系统时间写入硬件时间。

hwclock –w