Administrative data storage

A Ceph Object Gateway stores administrative data in a series of pools that are defined in an instance’s zone configuration. For example, the buckets, users, user quotas, and usage statistics that are discussed in the subsequent sections are stored in pools in the Ceph storage cluster.

By default, Ceph Object Gateway creates the following pools and maps them to the default zone.
  • .rgw.root
  • .default.rgw.control
  • .default.rgw.meta
  • .default.rgw.log
  • .default.rgw.buckets.index
  • .default.rgw.buckets.data
  • .default.rgw.buckets.non-ec
Note: The .default.rgw.buckets.index pool is created only after the bucket is created in Ceph Object Gateway, while the .default.rgw.buckets.data pool is created after the data is uploaded to the bucket.

Consider creating these pools manually so you can set the CRUSH ruleset and the number of placement groups. In a typical configuration, the pools that store the Ceph Object Gateway’s administrative data usually use the same CRUSH ruleset and fewer placement groups. This is because there are 10 pools for the administrative data.

Have the .rgw.root pool and the service pools use the same CRUSH hierarchy, and use at least node as the failure domain in the CRUSH rule. Use replicated for data durability, and NOT erasure for the .rgw.root pool, and the service pools.

The mon_pg_warn_max_per_osd setting warns you if you assign too many placement groups to a pool, 300 by default. You can adjust the value to suit your needs and the capabilities of your hardware where n is the maximum number of placement groups (PGs) per OSD.
mon_pg_warn_max_per_osd = n
Note: For service pools, including .rgw.root, the suggested PG count from the Ceph placement groups (PGs) per pool calculator is substantially less than the target PGs per Ceph OSD. Also, ensure the number of Ceph OSDs is set in step 4 of the calculator.
Important: Garbage collection uses the .log pool with regular RADOS objects instead of OMAP. Use NVMe/SSD Ceph OSDs for the .log pool.
.rgw.root pool
The pool where the Ceph Object Gateway configuration is stored. This includes realms, zone groups, and zones. Conventionally, the pool name does not include the zone name as a prefix.
Service pools
The service pools store objects that are related to service control, garbage collection, logging, user information, and usage. Conventionally, the pool name includes the zone name as a prefix, as described in Table 1.
Table 1. Service pools with zone names
Zone name Description
.ZONE_NAME.rgw.control The control pool.
.ZONE_NAME.log The log pool contains logs of all bucket, container, and object actions, such as create, read, update, and delete.
.ZONE_NAME.rgw.buckets.index This pool stores index of the buckets.
.ZONE_NAME.rgw.buckets.data This pool stores data of the buckets.
.ZONE_NAME.rgw.meta The metadata pool stores user_keys and other critical metadata.
.ZONE_NAME.rgw.meta:users.uid The user ID pool contains a map of unique user IDs.
.ZONE_NAME.rgw.meta:users.keys The keys pool contains access keys and secret keys for each user ID.
.ZONE_NAME.rgw.meta:users.email The email pool contains email addresses that are associated to a user ID.
.ZONE_NAME.rgw.meta:users.swift The Swift pool contains the Swift subuser information for a user ID.

For more information, see Pools and Storage strategies.