ネットワーク障害のシナリオは、一般的に単一マシンのNICやLANケーブルの障害、データセンターのネットワーク機器の障害、またはデータセンター間の専用回線伝送のジッターなどがあります。明確なネットワーク問題に対して、OceanBaseが採用する方針は、まず隔離してから分析する戦略です。
シナリオの概要
ネットワークに障害やジッターが発生すると、クラスタ内のパーティションが主不在の選挙を繰り返し開始します。アプリケーション層では、アプリケーションリクエストのタイムアウトや書き込み失敗として具体的に表れます。
緊急時の対応手順
まず、ネットワーク監視指標において、パケットロス、タイムアウト再送信などが発生していないか確認します。
tsar --tcp -i 1 -d20190902 でネットワーク状況を確認できます。もし retran >= 0.05 が10秒間続いている場合、ネットワーク伝送に異常があると判断されます。
注意
20190902 を確認したい日付に変更してください。-i 1 は、レコード間の間隔が1分であることを意味します。
たまに発生するネットワークジッターは、最初は無視できます。しかし、ネットワークジッターがマシンやデータセンターの障害を引き起こした場合は、以下の手順で対処してください。
単一マシンのネットワーク障害
単一マシンのネットワーク問題(例えば、単一マシンのretran再送信率が高い場合)が発生した場合は、個々のノードを隔離する必要があります--stop server。単一マシンの障害が回復したら、ノードサービスを再開します--start server。さらに、単一マシンのNIC障害であることが特定された場合は、障害があるノードを交換する必要があります。
データセンターのネットワークジッター
データセンター全体のネットワークジッターが発生した場合は、問題のデータセンターのレプリカを一時的に隔離する必要があります--stop zone。ネットワークが回復したら、サービスを再開します--start zone。