To understand Ceph scalability and high availability, let's first talk about the architecture of traditional storage systems. Under this architecture, to store or retrieve data, clients talk to a centralized component known as a controller or gateway. These storage controllers act as a single point of contact for a client's request. The following diagram illustrates this situation:
This storage gateway, which acts as a single point of entry to storage systems, also becomes the single point of failure. This also imposes a limit on both performance and scalability while introducing a single point of failure, such that if the centralized component goes down, the whole system goes down too.
Ceph does not follow this traditional storage architecture; it has been totally reinvented for the next-generation of storage. Ceph eliminates the centralized gateway by enabling the clients to interact with the Ceph OSD daemons directly. The following diagram illustrates...