Index pool
When selecting OSD hardware for use with a Ceph Object Gateway--irrespective of the use case--an OSD node that has at least one high performance drive, either an SSD or NVMe drive, is required for storing the index pool. This is particularly important when buckets contain a large number of objects.
For IBM Storage Ceph running BlueStore, IBM recommends deploying an NVMe drive as a
block.db device, rather than as a separate pool.
Ceph Object Gateway index data is written only into an object map (OMAP). OMAP data for BlueStore
resides on the block.db device on an OSD. When an NVMe drive functions as a
block.db device for an HDD OSD and when the index pool is backed by HDD OSDs, the
index data will ONLY be written to the block.db device. As long as the
block.db partition/lvm is sized properly at 4% of block, this configuration is all
that is needed for BlueStore.
An index entry is approximately 200 bytes of data, stored as an OMAP in rocksdb.
While this is a trivial amount of data, some uses of Ceph Object Gateway can result in tens or
hundreds of millions of objects in a single bucket. By mapping the index pool to a CRUSH hierarchy
of high performance storage media, the reduced latency provides a dramatic performance improvement
when buckets contain very large numbers of objects.
block.db device, which use
separate partitions or logical volumes for the same physical drive.