Introduction
Overview
Ceph is a distributed, scalable, reliable, and high-performance storage system platform that supports storage interfaces including block devices, file systems, and object gateways. Figure 1 shows the Ceph architecture.
This document describes how to deploy Ceph. Before installing Ceph, disable the firewall and configure the host name, time service, password-free login, permissive mode, and software sources. Then, run yum commands to install Ceph and deploy the Monitor (MON), Manager (MGR), and Object Storage Device (OSD) nodes. Finally, verify Ceph to complete the deployment.
Table 1 describes the modules in the preceding figure.
Module |
Function |
---|---|
RADOS |
Reliable, Autonomic Distributed Object Store (RADOS) is the basis of the Ceph storage cluster. It features high data reliability and fault recovery. Ceph manages data as RADOS objects. Each object has its own name, attributes, and variable-size data payload. RADOS stores and manages these objects in the object pool. A basic RADOS system consists of a large number of OSDs and some MON nodes that manage OSD cluster members. RADOS ensures consistent data access and safety semantics while allowing nodes to act semi-autonomously to self-managed replication, failure detection, and failure recovery using a small cluster map. |
OSD is the core of a Ceph storage cluster. The corresponding daemon (OSD daemon) executes the actual data storage process. Generally, one OSD daemon is bound to one physical drive. In Ceph, OSDs store objects and perform read, write, and replication operations in storage devices. The OSD daemon checks the status of itself and other OSDs and reports the status to the MON node. |
|
MON |
MON is the most important component in the Ceph cluster. It manages the Ceph cluster and maintains the state of the entire cluster. The MON node ensures that related components of a cluster can be synchronized at the same time. It functions as the leader of the cluster, and its daemon is responsible for collecting, updating, and publishing cluster information. To avoid single points of failure (SPOFs), multiple MONs are deployed in a Ceph environment, and they must handle the collaboration between them. |
MGR |
MGR is a monitoring system that provides collection, storage, analysis (including alarming), and visualization functions. It makes certain cluster parameters available for external systems. Generally, the MGR daemon works with the MON daemon to reduce the load of the MON node. |
librados is an interface library for clients to operate RADOS object storage. Clients can access a Ceph storage cluster through the librados API and interact with MON and OSD daemons in the cluster. Currently, PHP, Ruby, Java, Python, C, and C++ languages are supported. |
|
RBD |
RADOS Block Devices (RBDs), also known as Ceph block devices, provide block storage for external systems. Ceph delivers high performance through block devices and enables devices to be mapped, formatted, and mounted to servers like drives. |
RGW |
RADOS Gateway (RGW), also known as Ceph object gateway, is used to provide a RESTful API compatible with S3 and Swift for clients to access Ceph clusters. |
MDS |
The Metadata Server (MDS) traces the file hierarchy and stores metadata that is used only by the Ceph File System (CephFS). In this way, simple file system operations do not increase the load of the OSD daemon. MDS separates all file system metadata (such as directories, file ownership, and access modes) from data so that CephFS can provide high-performance services without increasing the load of the Ceph storage cluster. RBD and RGW do not require metadata, and MDS does not directly provide data services for clients. |
CephFS |
CephFS is a POSIX-compliant file system built on top of RADOS. CephFS files are mapped to objects in the Ceph storage cluster. CephFS requires Ceph MDS to trace and manage file hierarchy, that is, to separate file metadata from file data. |