1.4. Ceph 設定ファイル

Ceph 設定ファイルは起動時に Ceph デーモンを設定し、これによりデフォルト値が上書きされます。

ヒント

各 Ceph デーモンには、ceph/src/common/config_opts.h ファイルで設定されるデフォルト値が連続して設定されます。

Ceph のデフォルト設定ファイルの場所は /etc/ceph/ceph.conf です。以下を使用して、別のパスを設定してその場所を変更できます。

  • $CEPH_CONF 環境変数のパスの設定。
  • -c コマンドライン引数 例: -c path/ceph.conf) を指定します。

Ceph 設定ファイルには、ini スタイルの構文を使用します。コメントの前にシャープ記号 (#) またはセミコロン (;) を記入して、コメントを追加できます。

# <--A pound sign (#) sign precedes a comment.
# Comments always follow a semi-colon (;) or a pound (#) on each line.
# The end of the line terminates a comment.
# We recommend that you provide comments in your configuration file(s).
; A comment may be anything.

設定ファイルは、Ceph ストレージクラスター内のすべての Ceph デーモン、または特定タイプのすべての Ceph デーモンを起動時に設定できます。一連のデーモンを設定するには、以下のように設定を受け取るプロセスのセクションに設定を含める必要があります。

[global]
詳細
[global] の設定は、Ceph Storage クラスターのすべてのデーモンに影響します。
auth supported = cephx
[osd]
詳細
[osd] の設定は、Ceph Storage クラスター内のすべての ceph-osd デーモンに影響し、[global] で同じ設定を上書きします。
[mon]
詳細
[mon] の下にある設定は、Ceph Storage クラスター内のすべての ceph-mon デーモンに影響し、[global] で同じ設定を上書きします。
    [mon.host01]
     `host = host01`
     `mon_addr = 10.0.0.101`
    [mon.host02]
     `host = host02`
     `mon_addr = 10.0.0.102`
[client]
詳細
[client] の下にある設定は、すべての Ceph クライアントに影響します。たとえば、マウントされた Ceph ブロックデバイス、Ceph Object Gateway などです。
log file = /var/log/ceph/radosgw.log

グローバル設定は、Ceph ストレージクラスターの全デーモンのすべてのインスタンスに影響します。[global] の見出しは、Ceph Storage クラスターのすべてのデーモンに共通する値に使用します。以下のように各 [global] オプションを上書きできます。

  • 特定のプロセスタイプのオプションを変更する。

    [osp][mon]

または

  • 特定プロセスのオプションを変更する。

    [osd.1]

特定のデーモンでオーバーライドするプロセスを除き、グローバル設定を上書きすると、すべての子プロセスが影響を受けます。

一般的なグローバル設定には、認証のアクティブ化が含まれます。

[global]
#Enable authentication between hosts within the cluster.
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

特定の種類のデーモンに適用される設定を指定できます。特定のインスタンスを指定せずに [osd] または [mon] で設定を指定すると、設定はすべての OSD またはモニターのデーモンにそれぞれ適用されます。デーモン全体の設定の一例としては、osd メモリーターゲットがあります。

[osd]
osd_memory_target = 5368709120

デーモンの特定インスタンスの設定を指定できます。タイプとインスタンス ID をピリオド (.) で区切って入力することにより、インスタンスを指定することができます。Ceph OSD デーモンのインスタンス ID は常に数値ですが、Ceph モニターの場合は英数字である場合があります。

[osd.1]
# settings affect osd.1 only.

[mon.a]
# settings affect mon.a only.

一般的な Ceph 設定ファイルには、少なくとも以下の設定があります。

[global]
fsid = UNIQUE_CLUSTER_ID
mon_initial_members = NODE_NAME[, NODE_NAME]
mon_host = IP_ADDRESS[, IP_ADDRESS]

#All clusters have a front-side public network.
#If you have two NICs, you can configure a back side cluster
#network for OSD object replication, heart beats, backfilling,
#recovery, and so on
public_network = PUBLIC_NET[, PUBLIC_NET]
#cluster_network = PRIVATE_NET[, PRIVATE_NET]

#Clusters require authentication by default.
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

#Choose reasonable numbers for your number of replicas
#and placement groups.
osd_pool_default_size = NUM  # Write an object n times.
osd_pool_default_min_size = NUM # Allow writing n copy in a degraded state.
osd_pool_default_pg_num = NUM
osd_pool_default_pgp_num = NUM

#Choose a reasonable crush leaf type.
#0 for a 1-node cluster.
#1 for a multi node cluster in a single rack
#2 for a multi node, multi chassis cluster with multiple hosts in a chassis
#3 for a multi node cluster with hosts across racks, and so on
osd_crush_chooseleaf_type = NUM

[global]
cluster network = 10.74.250.101/21
fsid = 3e07d43f-688e-4284-bfb7-3e6ed5d3b77b
mon host = [v2:10.0.0.101:3300/0,v1:10.0.0.101:6789/0] [v2:10.0.0.102:3300/0,v1:10.0.0.102:6789/0] [v2:10.0.0.103:3300/0,v1:10.0.0.103:6789/0]
mon initial members = host01, host02, host03
osd pool default crush rule = -1
public network = 10.74.250.101/21

[osd]
osd memory target = 4294967296

[mon]
    [mon.host01]
     host = host01
     mon_addr = 10.0.0.101
    [mon.host02]
     host = host02
     mon_addr = 10.0.0.102