2.2. Ceph ネットワークメッセンジャー
メッセンジャーは Ceph ネットワーク層の実装です。Red Hat は 2 種類のメッセンジャーをサポートしています。
-
simple -
async
Red Hat Ceph Storage 5 以降では、async がデフォルトのメッセンジャータイプです。messenger タイプを変更するには、Ceph 設定ファイルの [global] セクションに ms_type 設定を指定します。
async messenger では、Red Hat は posix トランスポートタイプをサポートしますが、現在 rdma または dpdk をサポートしていません。デフォルトでは、Red Hat Ceph Storage 5 以降の ms_type 設定は async+posix を反映します。ここで、async はメッセンジャータイプで、posix はトランスポートタイプです。
SimpleMessenger
SimpleMessenger 実装は、1 ソケットあたり 2 つのスレッドを持つ TCP ソケットを使用します。Ceph は、各論理セッションを接続に関連付けます。パイプは、各メッセージの入力と出力を含む接続を処理します。SimpleMessenger は、posix トランスポートタイプに有効ですが、rdma、dpdk などの他のトランスポートタイプには有効ではありません。
AsyncMessenger
したがって、AsyncMessenger は、Red Hat Ceph Storage 5 以降のデフォルトのメッセンジャータイプです。Red Hat Ceph Storage 5 以降では、AsyncMessenger 実装は、接続用に固定サイズのスレッドプールを持つ TCP ソケットを使用します。これは、レプリカまたはイレイジャーコードチャンクの最大数と同じでなければなりません。CPU 数が少なかったり、サーバーあたりの OSD 数が多かったりしてパフォーマンスが低下する場合は、スレッドカウントを低い値に設定することができます。
現時点で、Red Hat は rdma、dpdk などの他のトランスポートタイプをサポートしていません。