Monitors: A Ceph Monitor (ceph-mon) maintains maps
of the cluster state, including the monitor map, manager map, the
OSD map, and the CRUSH map. These maps are critical cluster state
required for Ceph daemons to coordinate with each other. Monitors
are also responsible for managing authentication between daemons and
clients. At least three monitors are normally required for
redundancy and high availability.

Managers: A Ceph Manager daemon (ceph-mgr) is
responsible for keeping track of runtime metrics and the current
state of the Ceph cluster, including storage utilization, current
performance metrics, and system load. The Ceph Manager daemons also
host python-based plugins to manage and expose Ceph cluster
information, including a web-based dashboard and REST API. At
least two managers are normally required for high availability.

Ceph stores data as objects within logical storage pools. Using the
CRUSH algorithm, Ceph calculates which placement group should
contain the object, and further calculates which Ceph OSD Daemon
should store the placement group. The CRUSH algorithm enables the
Ceph Storage Cluster to scale, rebalance, and recover dynamically.

Recommendations

To begin using Ceph in production, you should review our hardware
recommendations and operating system recommendations.