Linux continues to make inroads into the scalable computing space, especially the scalable storage space. Ceph recently joined an impressive list of filesystem alternatives in Linux, a distributed filesystem that adds replication and fault tolerance while maintaining POSIX compatibility
basic introduction
Ceph is a unified, distributed file system
designed for excellent performance, reliability, and scalability .
Derived from Ceph
Its name is related to the mascot of UCSC (the birthplace of Ceph), which is "Sammy", a banana-colored slug, a shellless mollusk among cephalopods. These multi-tentacled cephalopods are
a
metaphor for a highly parallel distributed file system.
Ceph started as
a
PhD research project on storage systems, implemented by Sage Weil at the University of California, Santa Cruz (UCSC).
Ceph development goals
It is simply defined as the following 3 items:
1. Scales easily to petabytes of capacity
2. High performance supporting multiple workloads (input/output operations per second [IOPS] and bandwidth)
3. High reliability
However, these goals compete with each other (eg, scalability reduces or inhibits performance or affects reliability). Ceph's design also includes fault tolerance to protect against a single point of failure, assuming that large-scale (PB-scale storage) storage failures are the norm rather than the exception.
Its design does not assume a particular workload, but includes the ability to adapt to changing workloads and deliver optimal performance. It does all of this with POSIX compatibility, allowing it to transparently deploy applications that currently rely on POSIX semantics (through Ceph-targeted improvements)
The Ceph ecosystem architecture can be divided into four parts:
1. Clients: Clients (data users)
2. cmds: Metadata server cluster, metadata server (cache and synchronize distributed metadata)
3. cosd: Object storage cluster, object storage cluster (stores data and metadata as objects and performs other
key
functions )
4. cmon: Cluster monitors, cluster monitors (execute monitoring functions)
As a
distributed
file system , it can add replication and fault tolerance while maintaining POSIX compatibility. From the end of March 2010, you can find Ceph in the Linux
kernel
(starting from version 2.6.34), as one of Linux's filesystem alternatives, Ceph.ko has been integrated into the
Linux kernel
. While Ceph may not yet be suitable for production environments, it is still very useful for testing purposes.
Ceph is not just a file system, but an object storage ecosystem with enterprise-level functionality.
Ceph is now integrated into the mainline Linux kernel, but only marked as experimental. A filesystem in this state is useful for testing, but not ready for production. But considering Ceph joins the ranks of the Linux
kernel
, it should be able to solve mass storage needs in the near future.
Some open source cloud computing projects have begun to support Ceph. In fact, Ceph is the most popular open source storage solution in the OpenStack ecosystem. These projects all support calling Ceph through libvirt as a block device for read and write access.