Ceph file system getting started,
Zhang Yu (@ Yi Ling Yan), an open-source technical expert, shared Ceph at the C3 salon and recently wrote a series of blog posts about Ceph Analysis in one breath. There are 8 articles in total:
- One of the "Ceph analysis" series -- Preface
- "Ceph analysis" Series II-Ceph Overview
- Ceph Analysis Series 3: Ceph design ideas
- Ceph analysis-Ceph Structure
- "Ceph analysis" Series 5-Ceph working principle and process
- "Ceph analysis" Series 6-Ceph and OpenStack
- Chapter 7 of the Ceph series -- some ideas about Ceph
- Summary of the "Ceph analysis" series
This series of articles is a good entry-level document for those who want to get a preliminary understanding of the Ceph file system.
At the beginning, Zhang Yu introduced Ceph:
Ceph is undoubtedly one of the most popular open-source storage projects.
Ceph is a distributed storage system that has been developed for seven years. It features "unified" and "distributed ".
"Unified" means that Ceph can provide Object Storage, block storage, and file system storage functions in a set of storage systems, so as to simplify deployment and O & M while meeting the needs of different applications. In Ceph systems, "distributed" means that the system has a truly decentralized structure and has no theoretical limit for scalability.
The first three articles are about the background. Starting from the fourth article, Zhang Yu introduced the Ceph structure.
The core of Ceph is its underlying basic storage system RADOS. RADOS provides the basic library librados for providing APIs to the upper layer of the local machine, and provides the rados gw RESTful API for Web calls, as well as the upper Block Storage Device RBD and the file system Ceph FS. This article describes why Ceph provides more things than Amazon S3 and Swift:
There are only three "objects" operated by the APIS provided by Swift (and S3): user accounts, containers for data objects stored by users, and data objects. In addition, all operations do not involve the underlying hardware or system information of the storage system ....... The librados API design philosophy is completely different from this. On the one hand, librados does not have high-level concepts such as accounts and containers. On the other hand, librados API opens a large number of RADOS status information and configuration parameters to developers, allows developers to observe the status of the RADOS System and the objects stored in the system, and to control system storage policies. In other words, by calling the librados API, applications can not only operate on data objects, but also manage and configure the RADOS system. This is unimaginable and unnecessary for S3 and Swift RESTful API design.
Librados is in fact more suitable for advanced users who have a deep understanding of the system and have a strong demand for custom function expansion and in-depth performance optimization.
In the next article, Zhang Yu first introduced the most core computing-based object addressing mechanism in RADOS, and then explained the workflow of object access, then we will introduce the working process of RADOS cluster maintenance, and review and analyze its technical advantages based on the Ceph structure and principle.
The sixth article introduces the response of Ceph in the OpenStack community, which can be summarized in one sentence:
On the whole, Ceph is actually the most popular open-source storage solution in the OpenStack ecosystem. This is evidenced by my personal experience at OpenStack 2013 HongKong Summit. Currently, IT leaders are represented by HP, Dell, Intel, and a number of emerging OpenStack community vendors represented by Mirantis, eNovance, and UnitedStack, ceph is an important and preferred open-source storage solution.
Article 7: the author's experience in Ceph research:
- The performance of open-source products is good. Of course, there are many pitfalls.
- Too complex hardware may not be suitable for Ceph
- On Ceph, the storage type and storage policy can be configured flexibly.
- RADOS is very powerful and can be used for computing tasks.
- Ceph is still immature, but when everyone can't help it, it will soon become mature.