Menu Close

7.4. サービスプールの作成

Ceph Object Gatewayは、さまざまなサービス機能のために多くのプールを使用し、バケットインデックス、データ、その他の情報を保存するために別の配置プールのセットを使用します。

プールの配置グループをピアリングするには計算コストがかかるため、Red Hatでは一般的に、Ceph Object Gatewayのサービスプールが使用する配置グループの数をデータストレージプールよりも大幅に少なくすることを推奨しています。

サービスプールには、サービス制御、ガベージコレクション、ロギング、ユーザー情報、使用状況などに関するオブジェクトが格納されています。慣習上、これらのプール名には、プール名の前にゾーン名が付けられています。

注記

Red Hat Ceph Storage 4.1以降、ガベージコレクションはOMAPではなく、通常のRADOSオブジェクトでログプールを使用します。将来的には、より多くの機能でログプールにメタデータが保存されるようになります。そのため、ログプールにはNVMe/SSDのOSDを使用することを強く推奨します。

  • .<zone-name>.rgw.control: コントロールプール。
  • .<zone-name>.log: ログプールには、すべてのバケット/コンテナーのログおよび create、read、update、および delete などのオブジェクトアクションが含まれます。
  • .<zone-name>.rgw.buckets.index: このプールは、そのプールのインデックスを保存します。
  • .<zone-name>.rgw.buckets.data: このプールはバケットのデータを格納します。
  • .<zone-name>.rgw.meta: メタデータプールは user_keys およびその他の重要なメタデータを保存します。
  • .<zone-name>.meta:users.uid: ユーザー ID プールには、一意のユーザー ID のマップが含まれます。
  • .<zone-name>.meta:users.keys: keys プールには、各ユーザー ID のアクセスキーと秘密鍵が含まれます。
  • .<zone-name>.meta:users.email: email プールには、ユーザー ID に関連するメールアドレスが含まれます。
  • .<zone-name>.meta:users.swift: Swift プールには、ユーザー ID の Swift サブユーザー情報が含まれます。

「ゾーンの取得」の手順を実行し、プール名を表示します。

# radosgw-admin zone get [--rgw-zone=<zone>]

radosgw-admin はゾーンを作成すると、プール名は、ゾーン名を先頭に追加する 必要があります。たとえば、us-west の名前ゾーンは、次のようになり何かというプールの名前を持っている 必要があります

{ "domain_root": ".rgw.root",
  "control_pool": ".us-west.rgw.control",
  "gc_pool": ".us-west.rgw.gc",
  "log_pool": ".us-west.log",
  "intent_log_pool": ".us-west.intent-log",
  "usage_log_pool": ".us-west.usage",
  "user_keys_pool": ".us-west.users.keys",
  "user_email_pool": ".us-west.users.email",
  "user_swift_pool": ".us-west.users.swift",
  "user_uid_pool": ".us-west.users.uid",
  "system_key": { "access_key": "", "secret_key": ""},
  "placement_pools": [
    {  "key": "default-placement",
       "val": { "index_pool": ".us-west.rgw.buckets.index",
                "data_pool": ".us-west.rgw.buckets",
                "data_extra_pool": ".us-west.rgw.buckets.non-ec"
                "index_type": 0
              }
    }
  ]
}

control_pool から始まり、user_uid_pool で終わる場合は、ゾーン名の前にプール名が追加されていれば、そのゾーン名を使用してプールを作成します。これまでの例を踏まえると、プールの作成は以下のようになります。

# ceph osd pool create .us-west.rgw.control 32 32 replicated rgw-service
...
# ceph osd pool create .us-west.users.uid 32 32 replicated rgw-service

以前の例から、rgw-service ルールは、SSD ジャーナルおよび rack を CRUSH 障害ドメインとして持つ SAS ドライブの CRUSH 階層を表します。前述の例は、「CRUSH Root の作成」および「CRUSH ルールの作成」を参照してください。

PG 数の詳細は、『ストレージストラテジーガイド』の「Ceph Placement Groups (PGs) per Pool Calculator」および「配置グループ」を参照してください。プールの作成に関する詳細は、『ストレージストラテジーガイド』の「プールの作成」セクションを参照してください。

注記

サービスプールの場合、計算機によるPG数の目安は、OSDあたりの目標PG数よりも大幅に少なくなります。計算機のステップ3で、正しい数のOSDが指定されていることを確認してください。

通常、.rgw.root プールとサービスプールは同じ CRUSH 階層を使用し、CRUSH ルールの障害ドメインとして少なくとも node を使用する必要があります。.rgw.root プールと同様に、サービスプールは、データの耐久性のために、erasure ではなくreplicated を使用する必要があります。