3.2.8. クロック
Ceph デーモンは、クリティカルなメッセージを相互に渡します。このメッセージは、デーモンがタイムアウトのしきい値に達する前に処理する必要があります。Ceph モニターのクロックが同期していないと、さまざまな異常が発生する可能性があります。以下に例を示します。
- 受信したメッセージを無視するデーモン (タイムスタンプが古いなど)。
- メッセージ受信のタイミングが適切でない場合、タイムアウトの発生が早すぎたり遅すぎたりする。
詳細については、ストア同期の監視 を参照してください。
Ceph モニターホストに NTP をインストールして、モニタークラスターのクロックが同期した状態で動作するようにします。
NTP では、遅れによる悪影響が出ていなくても、クロックドリフトが目立つことがあります。NTP が適切なレベルの同期を維持していても、Ceph のクロックドリフトとクロックスキューの警告が発生することがあります。このような状況では、クロックドリフトを増やすことが許容できるかもしれません。ただし、ワークロード、ネットワーク遅延、デフォルトタイムアウトに対するオーバーライドの設定、Monitor Store Synchronization 設定などの多くの要因が、Paxos の保証を損なうことなく、許容可能なクロックドリフトのレベルに影響を与える可能性があります。
Ceph は、受け入れ可能な値を見つけることができるように、次の調整可能なオプションを提供します。
- clock_offset
- 説明
-
システムクロックをどれだけオフセットするか。詳細は、
Clock.cc
を参照してください。 - 型
- double
- デフォルト
-
0
- mon_tick_interval
- 説明
- モニターの目盛りの間隔 (秒単位)
- 型
- 32 ビット整数
- デフォルト
-
5
- mon_clock_drift_allowed
- 説明
- モニター間で許容されるクロックドリフト (秒単位)
- 型
- 浮動小数点 (Float)
- デフォルト
-
.050
- mon_clock_drift_warn_backoff
- 説明
- クロックドリフト警告のための指数バックオフ
- 型
- 浮動小数点 (Float)
- デフォルト
-
5
- mon_timecheck_interval
- 説明
- リーダーの時刻チェック (クロックドリフトチェック) 間隔 (秒単位)
- 型
- 浮動小数点 (Float)
- デフォルト
-
300.0
- mon_timecheck_skew_interval
- 説明
- スキューがあった場合のリーダーの時刻チェック (クロックドリフトチェック) 間隔 (秒単位)
- 型
- 浮動小数点 (Float)
- デフォルト
-
30.0