Learning Ceph's CRUSH map
A CRUSH map is the heart of Ceph's storage system. The algorithm of CRUSH dictates how data is stored and retrieved through the Ceph cluster. The topic of CRUSH alone is worthy of an entire book, but here, it is sufficient to understand that learning to manipulate CRUSH provides administrator an upper hand in storage management. It is only by manipulating CRUSH that we can set up a multitiered Ceph cluster to store virtual machines based on performance requirements.
Using CRUSH, we can move OSD from one node to another or even move an entire node to a different location without causing major disruption in the storage service. A CRUSH map is not readily available in the Ceph admin directory. We have to use CRUSH commands to extract, edit, and inject a CRUSH map back into a Ceph cluster. Basically, it is a five-step process:
Extract the CRUSH map.
Decompile it.
Edit the map.
Compile it.
Inject the map back into the cluster.
Let's look into a CRUSH map by first extracting...