本节书摘来自华章出版社《Ceph源码分析》一书中的第1章,第1.3节Ceph基本架构图,作者常涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1.3 Ceph基本架构图
Ceph的整体架构由三个层次组成:最底层也是最核心的部分是RADOS对象存储系统。第二层是librados库层;最上层对应着Ceph不同形式的存储接口实现,架构如图1-2所示。
图1-2 Ceph基本架构图
Ceph的整体架构大致如下:
最底层基于RADOS(reliable,autonomous,distributed object store),它是一个可靠的、自组织的、可自动修复、自我管理的分布式对象存储系统。其内部包括ceph-osd后台服务进程和ceph-mon监控进程。
中间层librados库用于本地或者远程通过网络访问RADOS对象存储系统。它支持多种语言,目前支持C/C++语言、Java、Python、Ruby和PHP语言的接口。
最上层面向应用提供3种不同的存储接口:
块存储接口,通过librbd库提供了块存储访问接口。它可以为虚拟机提供虚拟磁盘,或者通过内核映射为物理主机提供磁盘空间。
对象存储接口,目前提供了两种类型的API,一种是和AWS的S3接口兼容的API,另一种是和OpenStack的Swift对象接口兼容的API。
文件系统接口,目前提供两种接口,一种是标准的posix接口,另一种通过libcephfs库提供文件系统访问接口。文件系统的元数据服务器MDS用于提供元数据访问。数据直接通过librados库访问。