OSADとjabberdのトラブルシューティング

場合によっては、jabberが開くことができる最大ファイル数は、接続されているOSADクライアントの数より少ないことがあります。

この場合、OSADクライアントはSUSE Managerサーバに接続できず、jabberdはポート5222での応答に時間がかかりすぎます。

この修正は、OSADを使用して接続されている8192台を超えるクライアントがある場合にのみ必要です。 この場合は、代わりにSaltクライアントの使用を検討することをお勧めします。 大規模インストールのチューニングの詳細については、Scaling Minions (Large Scale Deployments)を参照してください。

jabberdローカル設定ファイルを編集して、jabberに使用可能なファイル数を増やすことができます。 デフォルトで、ファイルは/etc/systemd/system/jabberd.service.d/override.confにあります。

プロシージャ: 最大ファイル数の調整
  1. コマンドプロンプトで、rootとして、編集用にローカル設定ファイルを開きます。

    systemctl edit jabberd
  2. 次のセクションを追加または編集します。

    [Service]
    LimitNOFILE=<soft_limit>:<hard_limit>

    選択した値は環境によって異なります。 たとえば、9500のクライアントがある場合は、ソフト値を100増やして9600に、ハード値を1000増やして10500にします。

    [Unit]
    LimitNOFILE=
    LimitNOFILE=9600:10500
  3. ファイルを保存し、エディタを終了します。

systemctlファイルのデフォルトのエディタはvimです。 ファイルを保存して終了するには、Escを押して、[通常]モードに入り、:wqと入力して、 Enterを押します。

/etc/jabberd/c2s.xmlmax_fdsパラメータも更新してください。 例: <max_fds>10500</max_fds>

ソフトファイルの制限は、1つのプロセスで開かれているファイルの最大数です。 SUSE Managerでは、最も消費量の多いプロセスはc2sであり、これはクライアントごとに接続を開きます。 ここでは、c2sが正しく動作するために必要な非接続ファイルに対応するために、100個のファイルが追加されます。 ハードリミットは、 jabberに属するすべてのプロセスに適用され、ルータのc2sプロセスとsmプロセスからの開かれたファイルも考慮されます。