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_NAMEはceph 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 この場合TYPEは
rack
やhost
などのCRUSHプロパティで、LOCATIONはそのプロパティの値です。たとえば、
host:example_host
は特定のホストで実行されるデーモンまたはクライアントだけにオプションを制限します。CLASS:DEVICE_CLASSの場合。DEVICE_CLASSは
hdd
やssd
などのCRUSHデバイスクラスの名前です。たとえば、class:ssd
はSSDにより支援されるOSDだけにオプションを制限します。このマスクはOSDでないデーモンやクライアントには影響しません。
28.2.2 設定オプションの設定と読み取り #
クラスタの設定オプションの設定または読み取りを行うには、次のコマンドを使用してください。WHOパラメータは、セクション名、マスク、またはその両方をスラッシュ(/)記号で区切って組み合わせたものを使用できます。たとえば、osd/rack:foo
はfoo
という名前のラックに含まれるすべての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 20daemon
サブコマンドを使用して、デーモンのプロセスを実行中のノードから/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-key
config-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セットの設定オプションが必要な場合は、別の記述キーワードでプレフィックスを拡張します。たとえば、datacenterA
とdatacenterB
を追加すると次のようになります。
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です。
- 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
(デフォルト)に設定すると、ローカル時刻が使用されます。
- 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 user
、rgw keystone admin password
、rgw keystone admin tenant
、rgw 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のアルゴリズムを有効なままにします(デフォルト)。
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
エラーログファイルのパス。フルパス、または現在の作業ディレクトリを基準とした相対パスのいずれかを指定できます。指定されていない場合(デフォルト)、エラーはログに記録されません。
/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
を指定できます。