Linuxでファイアウォール・アイドル接続タイムアウトにより、トラフィックの少ない期間にノードの通信が切断される

Linuxプラットフォームでデフォルトのアイドル接続タイムアウトを構成する手順。

DataStax Enterpriseヘルプ・センターでは、トラブルシューティング情報も提供しています。

トラフィックの少ない期間に、アイドル接続タイムアウトが構成されているファイアウォールにより、ローカルのノードおよび他のデータ・センターのノードとの接続が終了する可能性があります。デフォルトのアイドル接続タイムアウト値は通常、60分です。このタイムアウト値は、ネットワーク管理者が構成できます。

手順

ノード間の接続がタイムアウトになるのを回避するには、TCPのキープアライブ変数を以下のように設定してください。
  1. 使用可能なカーネル変数のリストを取得します。
    sysctl -A | grep net.ipv4
    以下の変数があります。
    • net.ipv4.tcp_keepalive_time

      接続が非アクティブである時間。この時間の経過後、最初のキープアライブ要求が送信されます。

    • net.ipv4.tcp_keepalive_probes

      接続に異常があると判断されるまでに、再転送されるキープアライブ要求の数。

    • net.ipv4.tcp_keepalive_intvl

      キープアライブ・プローブの間隔。

  2. これらの設定を変更するには、次のコマンドを入力します。
    sudo sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10

    このサンプル・コマンドは、TCPキープアライブ・タイムアウトを60秒に変更して、10秒間隔でプローブを3回出すようにします。この設定では、90秒(60 + 10 + 10 + 10)経過後、切断されたTCPの接続が検出されます。追加のトラフィックは無視できるため、考慮する必要はありません。永続的にこれらの設定を変えずにそのままにしても特に問題はありません。