付録B Ceph のネットワーク設定オプション
Ceph の共通的なネットワーク設定オプションを以下に示します。
public_network
- 説明
-
パブリック (フロントエンド) ネットワークの IP アドレスとネットマスク (例:
192.168.0.0/24
)。[global]
に設定します。コンマ区切りのサブネットを指定できます。 - タイプ
-
<ip-address>/<netmask> [, <ip-address>/<netmask>]
- 必須
- いいえ
- デフォルト
- 該当なし
public_addr
- 説明
- パブリック (フロントサイド) ネットワークの IP アドレスです。各デーモンのセット。
- タイプ
- IP アドレス
- 必須
- いいえ
- デフォルト
- 該当なし
cluster_network
- 説明
-
クラスターネットワークの IP アドレスとネットマスク (例:
10.0.0.0/24
)。[global]
に設定します。コンマ区切りのサブネットを指定できます。 - タイプ
-
<ip-address>/<netmask> [, <ip-address>/<netmask>]
- 必須
- いいえ
- デフォルト
- 該当なし
cluster_addr
- 説明
- クラスターネットワークの IP アドレスです。各デーモンのセット。
- タイプ
- アドレス
- 必須
- いいえ
- デフォルト
- 該当なし
ms_type
- 説明
-
ネットワークトランスポート層のメッセンジャータイプです。Red Hat は、
posix
セマンティクスを使用した、messenger タイプsimple
およびasync
をサポートします。 - タイプ
- String.
- 必須
- いいえ
- デフォルト
-
async+posix
ms_public_type
- 説明
-
パブリックネットワークのネットワークトランスポート層のメッセンジャータイプです。これは
ms_type
と同じように動作しますが、パブリックネットワークまたはフロントエンドネットワークにのみ適用されます。この設定により、Ceph はパブリックまたはフロントエンドまたはバックサイドのネットワークに異なるメッセンジャータイプを使用できます。 - タイプ
- String.
- 必須
- いいえ
- デフォルト
- なし。
ms_cluster_type
- 説明
-
クラスターネットワークのネットワークトランスポート層のメッセンジャータイプです。これは
ms_type
と同じように動作しますが、クラスターまたはバックサイドネットワークにのみ適用されます。この設定により、Ceph はパブリックまたはフロントエンドまたはバックサイドのネットワークに異なるメッセンジャータイプを使用できます。 - タイプ
- String.
- 必須
- いいえ
- デフォルト
- なし。
ホストオプション
宣言された各モニターの下に mon addr
設定を指定して、Ceph 設定ファイル内で少なくとも 1 つの Ceph Monitor を宣言する必要があります。Ceph では、Ceph 設定ファイルの宣言されたモニター、メタデータサーバー、および OSD の下に host
の設定が必要です。
localhost
は使用しないでください。完全修飾ドメイン名 (FQDN) ではなく、ノードの短縮名を使用してください。ノード名を取得するサードパーティーのデプロイメントシステムを使用する場合は、host
の値を指定しないでください。
mon_addr
- 説明
-
クライアントが Ceph モニターへの接続に使用できる
<hostname>:<port>
エントリーのリスト。設定していない場合には、Ceph は[mon.*]
セクションを検索します。 - タイプ
- String
- 必須
- いいえ
- デフォルト
- 該当なし
host
- 説明
-
ホスト名です。この設定は、特定のデーモンインスタンス (
[osd.0]
など) に使用します。 - タイプ
- String
- 必須
- デーモンインスタンスの場合は Yes。
- デフォルト
-
localhost
TCP オプション
Ceph はデフォルトで TCP バッファリングを無効にします。
ms_tcp_nodelay
- 説明
-
Ceph は
ms_tcp_nodelay
を有効化して、各リクエストが即時に送信されます (バッファーなし)。Nagle アルゴリズムを無効にすると、ネットワークのトラフィックが増加し、混雑の原因となります。小さいパケットが多数ある場合は、ms_tcp_nodelay
を無効にしてみてください。ただし、通常はこれを無効にすると待ち時間が長くなることに注意してください。 - タイプ
- Boolean
- 必須
- いいえ
- デフォルト
-
true
ms_tcp_rcvbuf
- 説明
- ネットワーク接続の受信側のソケットバッファーのサイズです。デフォルトでは無効です。
- タイプ
- 32 ビット整数
- 必須
- いいえ
- デフォルト
-
0
ms_tcp_read_timeout
- 説明
-
クライアントまたはデーモンが別の Ceph デーモンへの要求を行い、未使用の接続を解除しない場合、
tcp read timeout
は、指定した秒数後に接続をアイドル状態として定義します。 - タイプ
- 未署名の 64 ビット整数
- 必須
- いいえ
- デフォルト
-
900
15 分。
バインドオプション
バインオプションは、Ceph OSD デーモンのデフォルトのポート範囲を設定します。デフォルトの範囲は 6800:7100
です。また、Ceph デーモンが IPv6 アドレスにバインドするように設定することもできます。
ファイアウォールの設定で、設定したポート範囲を使用できることを確認してください。
ms_bind_port_min
- 説明
- OSD デーモンがバインドする最小のポート番号。
- タイプ
- 32 ビット整数
- デフォルト
-
6800
- 必須
- いいえ
ms_bind_port_max
- 説明
- OSD デーモンがバインドする最大のポート番号。
- タイプ
- 32 ビット整数
- デフォルト
-
7300
- 必須
- いいえ
ms_bind_ipv6
- 説明
- Ceph デーモンが IPv6 アドレスにバインドするように設定します。
- タイプ
- Boolean
- デフォルト
-
false
- 必須
- いいえ
非同期型メッセンジャーオプション
これらの Ceph messenger オプションは、AsyncMessenger
の動作を設定します。
ms_async_transport_type
- 説明
-
AsyncMessenger
が使用するトランスポートタイプ。Red Hat はposix
設定をサポートしますが、現時点ではdpdk
設定またはrdma
設定をサポートしません。POSIX は標準的な TCP/IP ネットワークを使用しており、デフォルト値です。その他のトランスポートタイプは実験的なもので、サポートされて いません。 - タイプ
- String
- 必須
- いいえ
- デフォルト
-
posix
ms_async_op_threads
- 説明
-
各
AsyncMessenger
インスタンスによって使用されるワーカースレッドの初期数。この設定は、レプリカまたはイレイジャーコードチャンクの数に等しく なければならない が、CPU コア数が低い場合や、単一のサーバー上での OSD の数が高い場合には低く設定することもできます。 - タイプ
- 64 ビット未署名の整数
- 必須
- いいえ
- デフォルト
-
3
ms_async_max_op_threads
- 説明
-
各
AsyncMessenger
インスタンスによって使用されるワーカースレッドの最大数。OSD ホストの CPU 数が制限されている場合は低い値に設定し、Ceph が CPU を十分に活用していない場合は高い値に設定します。 - タイプ
- 64 ビット未署名の整数
- 必須
- いいえ
- デフォルト
-
5
ms_async_set_affinity
- 説明
-
AsyncMessenger
ワーカーを特定の CPU コアにバインドするには、true
に設定します。 - タイプ
- Boolean
- 必須
- いいえ
- デフォルト
-
true
ms_async_affinity_cores
- 説明
-
ms_async_set_affinity
がtrue
の場合、この文字列はAsyncMessenger
ワーカーを CPU コアにバインドする方法を指定します。たとえば、0,2
はそれぞれワーカー #1 と #2 を CPU コア #0 および #2 にバインドします。注記: アフィニティーを手動で設定する場合は、ハイパースレッディングや同様のテクノロジーが原因で作成された仮想 CPU にワーカーを割り当てないようにしてください。これは、物理 CPU コアよりも遅いためです。 - タイプ
- String
- 必須
- いいえ
- デフォルト
-
(empty)
ms_async_send_inline
- 説明
-
キューイングや
AsyncMessenger
スレッドから送信せずに、生成したスレッドからメッセージを直接送信します。このオプションは、CPU コア数の多いシステムではパフォーマンスが低下することが知られているため、デフォルトでは無効になっています。 - タイプ
- Boolean
- 必須
- いいえ
- デフォルト
-
false
接続モードの設定オプション
ほとんどの接続には、暗号化と圧縮に使用されるモードを制御するオプションがあります。
ms_cluster_mode
- 説明
- Ceph デーモン間のクラスター内の通信に使用される接続モード。複数のモードが一覧表示されている場合は、最初に表示されているモードが優先されます。
- タイプ
- String
- デフォルト
-
crc secure
ms_service_mode
- 説明
- ストレージクラスターへの接続時にクライアントが使用できるモードのリスト。
- タイプ
- String
- デフォルト
-
crc secure
ms_client_mode
- 説明
- クライアントが Ceph クラスターと対話するときに使用する接続モードのリスト (優先順)。
- タイプ
- String
- デフォルト
-
crc secure
ms_mon_cluster_mode
- 説明
- Ceph モニター間で使用する接続モード。
- タイプ
- String
- デフォルト
-
secure crc
ms_mon_service_mode
- 説明
- クライアントまたは他の Ceph デーモンがモニターに接続するときに使用できるモードのリスト。
- タイプ
- String
- デフォルト
-
secure crc
ms_mon_client_mode
- 説明
- クライアントまたは非モニターデーモンが Ceph モニターへの接続時に使用する接続モードのリスト (優先順)。
- タイプ
- String
- デフォルト
-
secure crc
圧縮モードの設定オプション
messenger v2 プロトコルを使用して、圧縮モードの設定オプションを使用できます。
ms_compress_secure
- 説明
-
暗号化と圧縮を組み合わせると、ピア間のメッセージのセキュリティーレベルが低下します。暗号化と圧縮の両方が有効な場合は、圧縮設定は無視され、メッセージは圧縮されません。この設定は、オプションで上書きします。キューイングや
AsyncMessenger
スレッドから送信せずに、生成したスレッドからメッセージを直接送信します。このオプションは、CPU コア数の多いシステムではパフォーマンスが低下することが知られているため、デフォルトでは無効になっています。 - タイプ
- Boolean
- デフォルト
-
false
ms_osd_compress_mode
- 説明
- Ceph OSD との通信のためにメッセンジャーで使用する圧縮ポリシー。
- タイプ
- String
- デフォルト
-
none
- 有効な選択肢
-
none
またはforce
ms_osd_compress_min_size
- 説明
- 伝送時圧縮の対象となる最小メッセージサイズ。
- タイプ
- Integer
- デフォルト
-
1 Ki
ms_osd_compression_algorithm
- 説明
- OSD との接続の圧縮アルゴリズム (優先順)
- タイプ
- String
- デフォルト
-
snappy
- 有効な選択肢
-
snappy
、zstd
、zlib
、またはlz4