ネットワーク時間プロトコル(Network Time Protocol、NTP)は、ネットワークを介してコンピュータシステム間の時計を同期させることができます。NTPサーバーにより、組織内のすべてのサーバーの時間を同期させることが可能です。
OceanBaseデータベースは分散型データベースであるため、クラスタの複数のノードおよびOCPノードのクロックは、NTPまたはchronyのクロック同期サービスを設定し、すべてのノードのクロックオフセットを2秒以内に保つ必要があります。
OBServerを実行するサーバーでは、システム時間はNTPサービスによって同期されますが、時間差が大きすぎる場合、NTPサービスはシステム時間を変更または修正しません。クラスタの時間が同期されていない場合、クラスタの可用性に影響します。本記事では、OBServerのOS時間を調整する方法について説明します。
NTPオフセットの確認
次の方法でNTPオフセットを確認できます:
ホストからの確認
次のコマンドを実行して、クロックオフセットを確認できます。
[root@hostname /]# ntpq -p|grep -E "\*|\=|remote"
remote refid st t when poll reach delay offset jitter
==========================================================================
xxxxxxxxxxx xxxxx 2 u 16 64 377 1.333 0.046 0.033
NTPオフセットの設定
判断基準
NTPオフセット値が2秒を超える場合、設定する必要があります。
OBServerノードのシステム時間が標準時間より遅い場合
OBServerノードのシステム時間が標準時間より遅い場合、サーバーのシステム時間を標準時間に直接変更できます。例えば、現在の標準時間が20:00で、OBServerの時間が1時間遅れている場合、システム時間は19:00になります。
OBServerを停止します。
OBServerが停止した後、SSHを使用してホストにログインし、手動でシステム時間を変更します。
ここで、
ntp_server_ipはクロックサーバーのIPアドレスです。[root@hostname /]# ntpdate <ntp_server_ip>OBServerを起動します。
OBServerノードのシステム時間が標準時間より速い場合
OBServerノードのシステム時間が標準時間より速い場合、システム時間を直接戻すことはできず、停止してシステム時間が標準時間と同期した後に変更する必要があります。例えば、現在の標準時間が20:00で、OBServerの時間が1時間速い場合、システム時間は21:00になります。
OBServerを停止します。
プロセスが停止した後、標準時間が21:00を超えるまで待機します。例えば、標準時間が21:05の場合、SSHを使用してホストにログインし、手動でシステム時間を変更します。
ここで、
ntp_server_ipはクロックサーバーのIPアドレスです。[root@hostname /]# ntpdate ntp_server_ipOBServerを起動します。