目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Enterprise Storage 7.1マニュアル / 運用と管理ガイド / クラスタの設定 / Cephクラスタの設定
適用項目 SUSE Enterprise Storage 7.1

28 Cephクラスタの設定

この章では、設定オプションを使用してCephクラスタを設定する方法を説明します。

28.1 ceph.confファイルの設定

cephadmは基本的なceph.confファイルを使用します。このファイルにはMONに接続し、設定情報を認証して取得するための最小限のオプションセットだけが含まれます。ほとんどの場合、使用するのはmon_hostオプションだけに限られます(しかしながら、DNSのSRVレコードを使用することで、このオプションも不要となります)。

重要
重要

もはやceph.confファイルはクラスタ設定を保存する中心的役割を担うことはなくなっており、主に設定データベースが使用されます(28.2項 「設定データベース」を参照してください)。

従来通り、ceph.confファイルを使用してクラスタ設定を変更する必要がある場合(たとえば、設定データベースからのオプションの読み取りをサポートしていないクライアントを使用する場合)、次のコマンドを実行し、クラスタ全体でceph.confファイルの保守と配布を行う必要があります。

cephuser@adm > ceph config set mgr mgr/cephadm/manage_etc_ceph_ceph_conf false

28.1.1 コンテナイメージ内のceph.confへのアクセス

Cephデーモンはコンテナ内で実行されますが、従来通りceph.conf設定ファイルにアクセスすることができます。設定ファイルはホストシステム上で次のファイルとして「バインドマウント」されています。

/var/lib/ceph/CLUSTER_FSID/DAEMON_NAME/config

CLUSTER_FSIDは、ceph fsidコマンドで取得できる、実行中のクラスタの固有FSIDで置き換えます。DAEMON_NAMEceph orch psコマンドにより一覧にされる固有のデーモン名で置き換えます。以下に例を示します。

/var/lib/ceph/b4b30c6e-9681-11ea-ac39-525400d7702d/osd.2/config

デーモンの設定を変更するには、デーモンのconfigファイルを編集し、再起動します。

# systemctl restart ceph-CLUSTER_FSID-DAEMON_NAME

以下に例を示します。

# systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d-osd.2
重要
重要

cephadmがデーモンを再展開すると、すべてのカスタム設定は失われます。

28.2 設定データベース

Ceph Monitorは、クラスタ全体の動作に影響する設定オプションの中央データベースを管理します。

28.2.1 セクションとマスクの設定

MONに保存された設定オプションは「グローバル」セクション、「デーモンタイプ」セクション、または、「特定のデーモン」セクションに記録できます。また、オプションは関連する「マスク」を持つ場合もあり、オプションの適用対象となるデーモンやクライアントを細かく制限できます。マスクには2つの形式があります。

  • TYPE:LOCATION この場合TYPErackhostなどのCRUSHプロパティで、LOCATIONはそのプロパティの値です。

    たとえば、host:example_hostは特定のホストで実行されるデーモンまたはクライアントだけにオプションを制限します。

  • CLASS:DEVICE_CLASSの場合。DEVICE_CLASShddssdなどのCRUSHデバイスクラスの名前です。たとえば、class:ssdはSSDにより支援されるOSDだけにオプションを制限します。このマスクはOSDでないデーモンやクライアントには影響しません。

28.2.2 設定オプションの設定と読み取り

クラスタの設定オプションの設定または読み取りを行うには、次のコマンドを使用してください。WHOパラメータは、セクション名、マスク、またはその両方をスラッシュ(/)記号で区切って組み合わせたものを使用できます。たとえば、osd/rack:foofooという名前のラックに含まれるすべてのOSDデーモンを表します。

ceph config dump

クラスタ全体を対象とする設定データベース全体をダンプします。

ceph config get WHO

設定データベースに保存されている、特定のデーモンまたはクライアント(たとえば、mds.a)の設定をダンプします。

ceph config set WHO OPTION VALUE

設定データベースの設定オプションに指定した値を設定します。

ceph config show WHO

報告された実行中のデーモンに関する現在の設定を表示します。ローカルの設定ファイルが同時に使用されている場合や、オプションがランタイム中にオーバーライドされていたり、コマンドラインでオーバーライドされている場合、これらの設定はMonitorが保存した値と異なることもあります。オプション値のソースは出力の一部として報告されます。

ceph config assimilate-conf -i INPUT_FILE -o OUTPUT_FILE

INPUT_FILEで指定した設定ファイルをインポートし、すべての有効なオプションを設定データベースに保存します。認識されないか、無効であるか、Monitorが制御できない設定は、OUTPUT_FILEいう名前で保存される、簡略化された設定ファイルに返されます。このコマンドは、旧来の設定ファイルから、中央化されたMonitorベースの設定に移行する際に便利です。

28.2.3 ランタイム中のデーモンの設定

ほとんどの場合、Cephによりランタイム中のデーモンの設定を変更できます。これは、ログ出力の量を増減する必要がある場合や、ランタイム中にクラスタの最適化を行う場合に有用です。

次のコマンドを使用して、設定オプションの値を更新できます。

cephuser@adm > ceph config set DAEMON OPTION VALUE

たとえば、特定のOSDでデバッグログのレベルを調整するには、次のコマンドを実行します。

cephuser@adm > ceph config set osd.123 debug_ms 20
注記
注記

同じオプションがローカルの設定ファイルでもカスタマイズされている場合、Monitorの設定は無視されます。これは、設定ファイルよりも優先度が低いためです。

28.2.3.1 値のオーバーライド

tellまたはdaemonサブコマンドを使用して、オプションの値を一時的に変更することができます。この変更は実行中のプロセスだけに影響し、デーモンやプロセスが再起動すると破棄されます。

値をオーバーライドする方法は2つあります。

  • tellサブコマンドを使用して、いずれかのクラスタノードから特定のデーモンにメッセージを送る方法。

    cephuser@adm > ceph tell DAEMON config set OPTION VALUE

    以下に例を示します。

    cephuser@adm > ceph tell osd.123 config set debug_osd 20
    ヒント
    ヒント

    tellサブコマンドはデーモンの識別にワイルドカードを使用できます。たとえば、すべてのOSDデーモンでデバッグレベルを調整するには、次のコマンドを実行します。

    cephuser@adm > ceph tell osd.* config set debug_osd 20
  • daemonサブコマンドを使用して、デーモンのプロセスを実行中のノードから/var/run/cephのソケットを介して特定のデーモンのプロセスに接続する方法。

    cephuser@adm > cephadm enter --name osd.ID -- ceph daemon DAEMON config set OPTION VALUE

    以下に例を示します。

    cephuser@adm > cephadm enter --name osd.4 -- ceph daemon osd.4 config set debug_osd 20
ヒント
ヒント

ceph config showコマンドを使用してランタイム中の設定を表示すると(28.2.3.2項 「ランタイム設定の表示」を参照してください)、一時的にオーバーライドされた値は、overrideをソースとして表示されます。

28.2.3.2 ランタイム設定の表示

デーモンに設定されているすべてのオプションを表示するには、次のコマンドを実行します。

cephuser@adm > ceph config show-with-defaults osd.0

デーモンに設定されている、デフォルトではないすべてのオプションを表示するには、次のコマンドを実行します。

cephuser@adm > ceph config show osd.0

特定のオプションを調べるには、次のコマンドを実行します。

cephuser@adm > ceph config show osd.0 debug_osd

デーモンのプロセスを実行しているノードから実行中のデーモンに接続し、設定を確認することも可能です。

cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config show

デフォルトではない設定だけを表示するには、次のコマンドを実行します。

cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config diff

特定のオプションを調べるには、次のコマンドを実行します。

cephuser@adm > cephadm enter --name osd.0 -- ceph daemon osd.0 config get debug_osd

28.3 config-key 格納

config-keyはCeph Monitorが提供する多目的サービスです。キーと値のペアを永続的に保存することで、設定キーの管理を容易にします。config-keyを使用するのは主にCephのツールとデーモンです。

ヒント
ヒント

キーの追加や既存のキーの変更を行ったら、影響を受けるサービスを再起動して変更を有効にします。Cephサービスの操作の詳細については、第14章 「Cephサービスの運用を参照してください。

コマンドを使用して、config-keyconfig-keyストアを操作します。config-keyコマンドと共に、以下のサブコマンドを使用します。

ceph config-key rm KEY

指定したキーを削除します。

ceph config-key exists KEY

指定したキーの有無をチェックします。

ceph config-key get KEY

指定したキーの値を取得します。

ceph config-key ls

すべてのキーを一覧にします。

ceph config-key dump

すべてのキーとその値をダンプします。

ceph config-key set KEY VALUE

指定したキーとその値を保存します。

28.3.1 iSCSI Gateway

iSCSI Gatewayはconfig-keyストアを使用して、設定オプションの保存と読み取りを行います。すべてのiSCSI Gatewayに関連するキーはプレフィックスとしてiscsiという文字列がつきます。次に例を示します。

iscsi/trusted_ip_list
iscsi/api_port
iscsi/api_user
iscsi/api_password
iscsi/api_secure

たとえば、2セットの設定オプションが必要な場合は、別の記述キーワードでプレフィックスを拡張します。たとえば、datacenterAdatacenterBを追加すると次のようになります。

iscsi/datacenterA/trusted_ip_list
iscsi/datacenterA/api_port
[...]
iscsi/datacenterB/trusted_ip_list
iscsi/datacenterB/api_port
[...]

28.4 Ceph OSDとBlueStore

28.4.1 自動キャッシュサイズ調整の設定

tc_mallocがメモリアロケータとして設定されていて、bluestore_cache_autotune設定が有効になっている場合、BlueStoreを、そのキャッシュサイズを自動的に調整するように設定できます。このオプションは現在、デフォルトで有効です。BlueStoreは、osd_memory_target設定オプションを使用して、OSDのヒープメモリ使用量を指定されたターゲットサイズに維持しようとします。これはベストエフォート型のアルゴリズムで、osd_memory_cache_minで指定されている量よりも小さいサイズにキャッシュが縮小されることはありません。キャッシュ比率は、優先度の階層に基づいて選択されます。優先度情報が使用できない場合は、代わりにbluestore_cache_meta_ratioオプションとbluestore_cache_kv_ratioオプションが使用されます。

bluestore_cache_autotune

最小値を優先しながら、異なるBlueStoreキャッシュに割り当てられる比率を自動的に調整します。デフォルトはTrueです。

osd_memory_target

tc_mallocおよびbluestore_cache_autotuneが有効な場合、この量のバイトをメモリ内マップした状態を保持しようとします。

注記
注記

これは、プロセスのRSSメモリ使用量と正確には一致しない場合があります。通常、プロセスによってマップされたヒープメモリの合計量は、このターゲットに近い値を維持しますが、マップ解除済みのメモリをカーネルが実際に再利用する保証はありません。

osd_memory_cache_min

tc_mallocおよびbluestore_cache_autotuneが有効な場合に、キャッシュに使用するメモリの最小量を設定します。

注記
注記

この値を低く設定しすぎると、多大なキャッシュスラッシングが発生する可能性があります。

28.5 Ceph Object Gateway

いくつかのオプションによりObject Gatewayの動作を間接的に操作することができます。オプションを指定しない場合は、そのデフォルト値が使用されます。次に、Object Gatewayのすべてのオプションのリストを示します。

28.5.1 一般的な設定

rgw_frontends

HTTPフロントエンドを設定します。複数のフロントエンドがある場合は、各項目のカンマ区切リストを指定します。各フロントエンド設定には、スペースで区切ったオプションのリストを含めることができます。この場合、各オプションは「キー=値」または「キー」の形式になります。デフォルトはbeast port=7480です。

rgw_data

Object Gatewayのデータファイルの場所を設定します。デフォルトは/var/lib/ceph/radosgw/CLUSTER_IDです。

rgw_enable_apis

指定したAPIを有効にします。デフォルトは「s3, swift, swift_auth, admin All APIs」です。

rgw_cache_enabled

Object Gatewayキャッシュを有効/無効にします。デフォルトはtrueです。

rgw_cache_lru_size

Object Gatewayキャッシュのエントリの数。デフォルトは10000です。

rgw_socket_path

ドメインソケットのソケットパス。FastCgiExternalServerは、このソケットを使用します。ソケットパスを指定しない場合、Object Gatewayは外部サーバとして実行されません。ここで指定するパスは、rgw.confファイルで指定するパスと同じである必要があります。

rgw_fcgi_socket_backlog

fcgiのソケットバックログ。デフォルトは1024です。

rgw_host

Object Gatewayインスタンスのホスト。IPアドレスまたはDNS名を指定できます。デフォルトは0.0.0.0です。

rgw_port

インスタンスが要求をリスンするポート番号。指定されていない場合、Object Gatewayは外部のFastCGIを実行します。

rgw_dns_name

サービス対象ドメインのDNS名。

rgw_script_uri

SCRIPT_URIが要求で設定されていない場合の代替値。

rgw_request_uri

REQUEST_URIが要求で設定されていない場合の代替値。

rgw_print_continue

100-continueが使用可能な場合、これを有効にします。デフォルトはtrueです。

rgw_remote_addr_param

リモートアドレスパラメータ。たとえば、リモートアドレスが含まれるHTTPフィールド、またはリバースプロキシが使用可能な場合はX-Forwarded-Forアドレス。デフォルトはREMOTE_ADDRです。

rgw_op_thread_timeout

開いているスレッドのタイムアウト(秒)。デフォルトは600です。

rgw_op_thread_suicide_timeout

Object Gatewayプロキシが停止するまでのタイムアウト(秒)。0 (デフォルト)に設定すると無効になります。

rgw_thread_pool_size

Beastサーバのスレッドの数。より多くの要求を実行する必要がある場合は、値を増やします。デフォルトは100スレッドです。

rgw_num_rados_handles

Object GatewayのRADOSクラスタハンドルの数。Object Gatewayの各ワーカスレッドは、その有効期間中、RADOSハンドルを選択するようになりました。このオプションは今後のリリースで廃止され、削除される可能性があります。デフォルトは1です。

rgw_num_control_oids

異なるObject Gatewayインスタンス間のキャッシュ同期に使用する通知オブジェクトの数。デフォルトは8です。

rgw_init_timeout

Object Gatewayが初期化を中止するまでの秒数。デフォルトは30です。

rgw_mime_types_file

MIMEタイプのパスと場所。Swiftによるオブジェクトタイプの自動検出に使用します。デフォルトは/etc/mime.typesです。

rgw_gc_max_objs

1つのガベージコレクション処理サイクルでガベージコレクションによって処理できるオブジェクトの最大数。デフォルトは32です。

rgw_gc_obj_min_wait

ガベージコレクション処理によってオブジェクトを削除および処理するまでの最大待機時間。デフォルトは2 * 3600です。

rgw_gc_processor_max_time

2つの連続するガベージコレクション処理サイクルを開始する間隔の最大時間。デフォルトは3600です。

rgw_gc_processor_period

ガベージコレクション処理のサイクル時間。デフォルトは3600です。

rgw_s3_success_create_obj_status

create-objに対する代替の成功ステータス応答。デフォルトは0です。

rgw_resolve_cname

Object Gatewayが要求ホスト名フィールドのDNS CNAMEレコードを使用する必要があるかどうか(ホスト名がObject Gateway DNS名に等しくない場合)。デフォルトはfalseです。

rgw_obj_stripe_size

Object Gatewayオブジェクトのオブジェクトストライプのサイズ。デフォルトは4 << 20です。

rgw_extended_http_attrs

エンティティ(たとえば、ユーザ、バケット、オブジェクト)に設定できる一連の新しい属性を追加します。これらの追加属性は、エンティティを配置したり、POSTメソッドを使用して変更したりする場合に、HTTPヘッダフィールドによって設定できます。設定されている場合、これらの属性は、エンティティに対してGET/HEADを要求したときにHTTPフィールドとして返されます。デフォルトはcontent_foo, content_bar, x-foo-barです。

rgw_exit_timeout_secs

プロセスを待機してから無条件に終了するまでの秒数。デフォルトは120です。

rgw_get_obj_window_size

1つのオブジェクト要求のウィンドウサイズ(バイト単位)。デフォルトは16 << 20です。

rgw_get_obj_max_req_size

Ceph Storage Clusterに送信される1つのGET操作の最大要求サイズ。デフォルトは4 << 20です。

rgw_relaxed_s3_bucket_names

USリージョンのバケットに対して、あいまいなS3バケット名を有効にします。デフォルトはfalseです。

rgw_list_buckets_max_chunk

ユーザバケットを一覧にする際に1つの操作で取得するバケットの最大数。デフォルトは1000です。

rgw_override_bucket_index_max_shards

バケットインデックスオブジェクトのシャードの数を表します。0 (デフォルト)の設定は、シャーディングがないことを示します。バケットの一覧のコストが増加するため、大きすぎる値(たとえば、1000)を設定しないことをお勧めします。この変数は、自動的にradosgw-adminコマンドに適用されるよう、クライアントまたはグローバルセクションで設定する必要があります。

rgw_curl_wait_timeout_ms

特定のcurl呼び出しのタイムアウト(ミリ秒)。デフォルトは1000です。

rgw_copy_obj_progress

コピー操作に時間がかかる場合に、オブジェクトの進行状況の出力を有効にします。デフォルトはtrueです。

rgw_copy_obj_progress_every_bytes

コピーの進行状況出力間の最大バイト数。デフォルトは1024 * 1024です。

rgw_admin_entry

管理要求URLのエントリポイント。デフォルトはadminです。

rgw_content_length_compat

CONTENT_LENGTHとHTTP_CONTENT_LENGTHの両方が設定されたFCGI要求の互換処理を有効にします。デフォルトはfalseです。

rgw_bucket_quota_ttl

キャッシュされたクォータ情報を信頼する時間の量(秒単位)。このタイムアウトを過ぎると、クォータ情報はクラスタから再フェッチされます。デフォルトは600です。

rgw_user_quota_bucket_sync_interval

バケットクォータ情報が蓄積されてからクラスタと同期するまでの時間(秒単位)。この時間の間、他のObject Gatewayインスタンスは、このインスタンスに対する操作に関連したバケットクォータ統計情報の変更を確認しません。デフォルトは180です。

rgw_user_quota_sync_interval

ユーザクォータ情報が蓄積されてからクラスタと同期するまでの時間(秒数)。この時間の間、他のObject Gatewayインスタンスは、このインスタンスに対する操作に関連したユーザクォータ統計情報の変更を確認しません。デフォルトは180です。

rgw_bucket_default_quota_max_objects

バケットあたりのオブジェクトのデフォルトの最大数。他のクォータが指定されていない場合、新しいユーザに対して設定され、既存のユーザには影響しません。この変数は、自動的にradosgw-adminコマンドに適用されるよう、クライアントまたはグローバルセクションで設定する必要があります。デフォルトは-1です。

rgw_bucket_default_quota_max_size

バケットあたりのデフォルトの最大容量(バイト単位)。他のクォータが指定されていない場合、新しいユーザに対して設定され、既存のユーザには影響しません。デフォルトは-1です。

rgw_user_default_quota_max_objects

ユーザのオブジェクトのデフォルトの最大数。これには、ユーザが所有するすべてのバケット内にあるすべてのオブジェクトが含まれます。他のクォータが指定されていない場合、新しいユーザに対して設定され、既存のユーザには影響しません。デフォルトは-1です。

rgw_user_default_quota_max_size

他のクォータが指定されていない場合に新しいユーザに対して設定されるユーザの最大クォータサイズの値(バイト単位)。既存のユーザには影響しません。デフォルトは-1です。

rgw_verify_ssl

要求の実行中にSSL証明書を検証します。デフォルトはtrueです。

rgw_max_chunk_size

1回の操作で読み込むデータチャンクの最大サイズ。値を4MB (4194304)に増やすと、大容量オブジェクトの処理時にパフォーマンスが向上します。デフォルトは128KB (131072)です。

マルチサイト設定
rgw_zone

ゲートウェイインスタンスのゾーンの名前。ゾーンが設定されていない場合は、radosgw-admin zone defaultコマンドでクラスタ全体のデフォルト値を設定できます。

rgw_zonegroup

ゲートウェイインスタンスのゾーングループの名前。ゾーングループが設定されていない場合は、radosgw-admin zonegroup defaultコマンドでクラスタ全体のデフォルト値を設定できます。

rgw_realm

ゲートウェイインスタンスのレルムの名前。レルムが設定されていない場合は、radosgw-admin realm defaultコマンドでクラスタ全体のデフォルト値を設定できます。

rgw_run_sync_thread

レルム内に同期元となる他のゾーンがある場合は、データとメタデータの同期を処理するためのスレッドを生成します。デフォルトはtrueです。

rgw_data_log_window

データログエントリのウィンドウ(秒単位)。デフォルトは30です。

rgw_data_log_changes_size

データ変更ログ用に保持するメモリ内エントリの数。デフォルトは1000です。

rgw_data_log_obj_prefix

データログのオブジェクト名のプレフィックス。デフォルトは「data_log」です。

rgw_data_log_num_shards

データ変更ログを保持するシャード(オブジェクト)の数。デフォルトは128です。

rgw_md_log_max_shards

メタデータログのシャードの最大数。デフォルトは64です。

Swift設定
rgw_enforce_swift_acls

SwiftのACL (アクセス制御リスト)設定を適用します。デフォルトはtrueです。

rgw_swift_token_expiration

Swiftのトークンを期限切れにする時間(秒単位)。デフォルトは24 * 3600です。

rgw_swift_url

Ceph Object Gateway Swift APIのURL。

rgw_swift_url_prefix

「/v1」の部分の前に配置するSwift StorageURLのURLプレフィックス。これにより、同じホスト上で複数のゲートウェイインスタンスを実行できます。互換性のため、この設定変数を空に設定すると、デフォルトの「/swift」が使用されます。StorageURLをルートから開始するには、明示的なプレフィックス「/」を使用します。

警告
警告

S3 APIが有効な場合、このオプションを「/」に設定しても機能しません。S3を無効にすると、マルチサイト設定でObject Gatewayを展開できなくなることに注意してください。

rgw_swift_auth_url

内部Swift認証が使用されていない場合にv1認証トークンを検証するためのデフォルトのURL。

rgw_swift_auth_entry

Swift認証URLのエントリポイント。デフォルトはauthです。

rgw_swift_versioning_enabled

OpenStack Object Storage APIのオブジェクトのバージョン管理を有効にします。これにより、クライアントは、バージョンを管理する必要があるコンテナにX-Versions-Location属性を設定できます。この属性では、アーカイブされたバージョンを保存するコンテナの名前を指定します。これは、アクセス制御の検証のため、バージョン管理されたコンテナと同じユーザが所有する必要があります。ACLは考慮「されません」。これらのコンテナは、S3のバージョン管理メカニズムではバージョン管理できません。デフォルトはfalseです。

ログ設定
rgw_log_nonexistent_bucket

存在しないバケットに対する要求をObject Gatewayがログに記録できるようにします。デフォルトはfalseです。

rgw_log_object_name

オブジェクト名のログ書式。書式指定子の詳細については、マニュアルページman 1 dateを参照してください。デフォルトは%Y-%m-%d-%H-%i-%nです。

rgw_log_object_name_utc

ログに記録するオブジェクト名にUTC時刻を含めるかどうか。false(デフォルト)に設定すると、ローカル時刻が使用されます。

rgw_usage_max_shards

使用状況ログ用のシャードの最大数。デフォルトは32です。

rgw_usage_max_user_shards

1人のユーザの使用状況ログに使用するシャードの最大数。デフォルトは1です。

rgw_enable_ops_log

Object Gatewayの正常な操作それぞれに対してログを有効にします。デフォルトはfalseです。

rgw_enable_usage_log

使用状況ログを有効にします。デフォルトはfalseです。

rgw_ops_log_rados

操作ログをCeph Storage Clusterバックエンドに書き込むかどうか。デフォルトはtrueです。

rgw_ops_log_socket_path

操作ログを書き込むためのUnixドメインソケット。

rgw_ops_log_data_backlog

Unixドメインソケットに書き込まれる操作ログのデータバックログの最大データサイズ。デフォルトは5<<20です。

rgw_usage_log_flush_threshold

同期的にフラッシュするまでの、使用状況ログ内のマージされたダーティエントリの数。デフォルトは1024です。

rgw_usage_log_tick_interval

保留中の使用状況ログデータを「n」秒ごとにフラッシュします。デフォルトは30です。

rgw_log_http_headers

ログエントリに含めるHTTPヘッダのカンマ区切りリスト。ヘッダ名では大文字と小文字は区別されず、各単語を下線で区切った完全なヘッダ名を使用します。たとえば、「http_x_forwarded_for」「http_x_special_k」のようにします。

rgw_intent_log_object_name

インテントログオブジェクト名のログ書式。書式指定子の詳細については、マニュアルページman 1 dateを参照してください。デフォルトは「%Y-%m-%d-%i-%n」です。

rgw_intent_log_object_name_utc

インテントログオブジェクト名にUTC時刻を含めるかどうか。false(デフォルト)に設定すると、ローカル時刻が使用されます。

Keystone設定
rgw_keystone_url

KeystoneサーバのURL。

rgw_keystone_api_version

Keystoneサーバと通信するために使用するOpenStack Identity APIのバージョン(2または3)。デフォルトは2です。

rgw_keystone_admin_domain

OpenStack Identity API v3を使用する場合に管理者特権を持つOpenStackドメインの名前。

rgw_keystone_admin_project

OpenStack Identity API v3を使用する場合に管理者特権を持つOpenStackプロジェクトの名前。設定されていない場合は、代わりにrgw keystone admin tenantの値が使用されます。

rgw_keystone_admin_token

Keystone管理者トークン(共有シークレット)。Object Gatewayでは、管理者トークンを使用した認証は、管理者資格情報を使用した認証よりも優先されます(オプションrgw keystone admin userrgw keystone admin passwordrgw keystone admin tenantrgw keystone admin project、およびrgw keystone admin domain)。管理者トークン機能は非推奨と見なされています。

rgw_keystone_admin_tenant

OpenStack Identity API v2を使用する場合に管理者特権を持つOpenStackテナント(サービステナント)の名前。

rgw_keystone_admin_user

OpenStack Identity API v2を使用する場合にKeystone認証用の管理者特権を持つOpenStackユーザ(サービスユーザ)の名前。

rgw_keystone_admin_password

OpenStack Identity API v2を使用する場合のOpenStack管理者ユーザのパスワード。

rgw_keystone_accepted_roles

要求を実行するために必要な役割。デフォルトは「Member, admin」です。

rgw_keystone_token_cache_size

各Keystoneトークンキャッシュ内のエントリの最大数。デフォルトは10000です。

rgw_keystone_revocation_interval

トークンの失効を確認する間隔の秒数。デフォルトは15 * 60です。

rgw_keystone_verify_ssl

Keystoneへのトークン要求の実行中にSSL証明書を検証します。デフォルトはtrueです。

28.5.1.1 追加の注意事項

rgw_dns_name

クライアントがvhost形式のバケットを使用できるようにします。

vhost形式のアクセスは、bucketname.s3-endpoint/object-pathを使用することを意味します。これに対してpath形式のアクセスはs3-endpoint/bucket/objectを使用します。

rgw dns nameが設定されている場合、S3クライアントがrgw dns nameで指定されるエンドポイントに直接要求するように設定されているか、確認してください。

28.5.2 HTTPフロントエンドの設定

28.5.2.1 Beast

port、ssl_port

IPv4およびIPv6のリスンポート番号。複数のポート番号を指定できます。

port=80 port=8000 ssl_port=8080

デフォルトは80です。

endpoint、ssl_endpoint

「address[:port]」の形式のリスンアドレス。アドレスは、ドット区切りの10進数形式のIPv4アドレス文字列、または角括弧で囲んだ16進数形式のIPv6アドレスです。IPv6エンドポイントを指定すると、IPv6のみがリスンされます。オプションのポート番号は、endpointの場合は80、ssl_endpointの場合は443にデフォルトで設定されます。複数のアドレスを指定できます。

endpoint=[::1] endpoint=192.168.0.100:8000 ssl_endpoint=192.168.0.100:8080
ssl_private_key

SSLが有効なエンドポイントに対して使用する秘密鍵のパス(オプション)。指定されていない場合、ssl_certificateファイルが秘密鍵として使用されます。

tcp_nodelay

指定されている場合、ソケットオプションにより、接続時にNagleのアルゴリズムが無効化されます。つまり、パケットは、バッファがいっぱいになるかタイムアウトになるまで待つのではなく、できるだけ早く送信されます。

「1」は、すべてのソケットに対してNagleのアルゴリズムを無効にします。

「0」は、Nagleのアルゴリズムを有効なままにします(デフォルト)。

例 28.1: Beastの設定例
cephuser@adm > ceph config set rgw.myrealm.myzone.ses-min1.kwwazo \
 rgw_frontends beast port=8000 ssl_port=443 \
 ssl_certificate=/etc/ssl/ssl.crt \
 error_log_file=/var/log/radosgw/beast.error.log

28.5.2.2 CivetWeb

ポート

リスンするポート番号。SSLが有効なポートには、サフィックス「s」を追加します(たとえば、「443s」)。特定のIPv4またはIPv6アドレスをバインドするには、「address:port」の形式を使用します。複数のエンドポイントを指定するには、各エンドポイントを「+」で結合するか、複数のオプションを指定します。

port=127.0.0.1:8000+443s
port=8000 port=443s

デフォルトは7480です。

num_threads

受信HTTP接続を処理するためにCivetwebによって生成されるスレッドの数。これは実質的に、フロントエンドが処理できる同時接続数を制限します。

デフォルトは、rgw_thread_pool_sizeオプションで指定されている値です。

request_timeout_ms

Civetwebが他の受信データを待機してから中止するまでの時間(ミリ秒単位)。

デフォルトは30,000ミリ秒です。

access_log_file

アクセスログファイルのパス。フルパス、または現在の作業ディレクトリを基準とした相対パスのいずれかを指定できます。指定されていない場合(デフォルト)、アクセスはログに記録されません。

error_log_file

エラーログファイルのパス。フルパス、または現在の作業ディレクトリを基準とした相対パスのいずれかを指定できます。指定されていない場合(デフォルト)、エラーはログに記録されません。

例 28.2: /etc/ceph/ceph.confのCivetweb設定の例
cephuser@adm > ceph config set rgw.myrealm.myzone.ses-min2.ingabw \
 rgw_frontends civetweb port=8000+443s request_timeout_ms=30000 \
 error_log_file=/var/log/radosgw/civetweb.error.log

28.5.2.3 共通オプション

ssl_certificate

SSLが有効なエンドポイントに対して使用するSSL証明書ファイルのパス。

prefix

すべての要求のURLに挿入するプレフィックス文字列。たとえば、Swift専用のフロントエンドでは、URLプレフィックス/swiftを指定できます。