ODP(obproxy)に関連する障害は主に2つのカテゴリに分けられます。一つはobproxyノード自体の障害であり、もう一つは複数のobproxyで構成されるクラスタの上位にあるロードバランシング装置の障害です(一般的にはF5、LVS、SLBなどのコンポーネント)。本記事では主に、obproxy自体が原因となる障害について説明します。
緊急時の対処手順
obproxy自体が原因で発生する障害は、一般的に以下の2つのケースに分類されます:
メモリ不足により、プロセスが頻繁にOOMで終了する場合
メモリ不足の場合、ユーザーは通常、obproxyのログに次のようなエラーを確認できます:
obproxy's memroy is out of limit's 90%。OBProxyのproxy_mem_limitedパラメータは、OBProxyのメモリ制限を変更するために使用されます。このパラメータはプロキシがシステムメモリを使用できる最大上限であり、これを超えるとプロセスは自動的に終了します。値の範囲は[100MB,100GB]です。変更後は再起動せずに即時に反映されます。OceanBaseクラウドプラットフォームを介してデプロイされたOBProxyの場合、デフォルトの起動パラメータでこの設定は既に2GBに設定されています。この場合、obproxyの最大使用可能メモリを8GBに調整できます。
コマンドラインでインストールしたOBProxyで、OBProxyのメモリを明示的に指定しなかった場合、
proxy_mem_limitedのデフォルト値は800MBです。まず、2GBに調整してみることができます。ALTER proxyconfig SET proxy_mem_limited = 2G;デーモンプロセス異常により、obproxyが自動的に再起動できない場合
この場合、手動でobproxyを再起動できます。