Ceph--架构概述

本文介绍了Ceph存储集群的主要组成部分,包括Ceph监视器、对象存储设备(OSD)、元数据服务器(MDS)等核心组件的功能及作用。此外,还详细解释了RADOS作为Ceph的基础层如何确保数据的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系列文章来源于:《Ceph Cookbook中文版》


Ceph架构如下:


Ceph monitor(监视器,简称MON): Ceph monitor 通过保存了一份集群状态映射来维护整个集群的健康状态。它分别为每个组件维护映射信息,包括OSD map、MON map、PG map(会在后面的章节中讨论)和CRUSH map。所有集群节点都向MON节点汇报状态信息,并分毫它们状态中的任何变化。Ceph monitor 不存储数据;存储数据是OSD的任务。


Ceph 对象存储设备(OSD): 只要应用程序向Ceph集群发出写操作,数据就会被以对象存储在OSD中。这是Ceph集群中唯一能存储用户数据的组件,同时用户也可以发送读命令来读取数据。通常,一个OSD守护进程会被捆绑到集群中的一块磁盘上。所以,在通常情况下,Ceph集群中的物理磁盘的总数,与在磁盘上运行的存储用户数据的OSD守护进程的数量是相同的。


Ceph 元数据服务器(MDS): MDS 只为CephFS文件系统跟踪文件的层次结构和存储元数据。Ceph块设备和RADOS(见下)并不需要元数据,因此也不需要Ceph MDS守护进程。MDS不直接提供数据给客户端,从而消除了系统中的故障单点。


RADOS(Reliable Autonomic Distributed Object Store): RADOS是Ceph存储集群的基础。在Ceph中,所有数据都以对象形式存储,并且无论是哪种数据类型,RADOS对象存储都将负责保存这些对象。RADOS层可以确保数据始终保持一致。要做到这一点,须执行数据复制、故障检测和恢复,以及数据迁移和在所有集群节点实现再平衡。


librados: librados库为PHP、Ruby、Java、Python、C和C++这些编程语言提供了方便地访问RADOS接口的方式。同时它还为诸如RBD、RGW和CephFS这些组件提供了原生的接口。Librados还支持直接访问RADOS来节省HTTP开销。


RADOS块设备(RBD): 众所周知,RBD是Ceph块设备,提供持久块存储,它是自动精简配置并可调整大小的,而且将数据分散存储在多个OSD上。RBD服务已经被封装成了基于librados的一个原生接口。


RADOS网关接口(RGW): RGW提供对象存储服务。它使用librgw(Rados Gateway Library)和librados,允许应用程序与Ceph对象存储建立连接。RGW提供了与Amazon S3和OpenStack Swift兼容的RESTful API。


CephFS: Ceph文件系统提供了一个使用Ceph存储集群存储用户数据的与POSIX兼容的文件系统。和RBD、RGW一样,CephFS服务也基于librados封装了原生接口。


(本篇完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值