Ceph分布式存储实2.1 Ceph功能模块与RADOS

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:

存储基石RADOS

分布式对象存储系统RADOS是Ceph最为关键的技术,它是一个支持海量存储对象的分布式对象存储系统。RADOS层本身就是一个完整的对象存储系统,事实上,所有存储在Ceph系统中的用户数据最终都是由这一层来存储的。而Ceph的高可靠、高可扩展、高性能、高自动化等特性,本质上也是由这一层所提供的。因此,理解RADOS是理解Ceph的基础与关键。

Ceph的设计哲学如下。

每个组件必须可扩展。

不存在单点故障。

解决方案必须是基于软件的。

可摆脱专属硬件的束缚即可运行在常规硬件上。

推崇自我管理。

由第1章的讲解可以知道,Ceph包含以下组件。

分布式对象存储系统RADOS库,即LIBRADOS。

基于LIBRADOS实现的兼容Swift和S3的存储网关系统RADOSGW。

基于LIBRADOS实现的块设备驱动RBD。

兼容POSIX的分布式文件Ceph FS。

最底层的分布式对象存储系统RADOS。


2.1 Ceph功能模块与RADOS


Ceph中的这些组件与RADOS有什么关系呢,笔者手绘了一张简单的Ceph架构图,我们结合图2-1来分析这些组件与RADOS的关系。

 2-1 Ceph架构图

Ceph存储系统的逻辑层次结构大致划分为4部分:基础存储系统RADOS、基于RADOS实现的Ceph FS,基于RADOSLIBRADOS层应用接口、基于LIBRADOS的应用接口RBDRADOSGWCeph架构(见图1-1)我们在第1章有过初步的了解,这里详细看一下各个模块的功能,以此了解RADOS在整个Ceph起到的作用。

(1)基础存储系统RADOS

RADOS这一层本身就是一个完整的对象存储系统,事实上,所有存储在Ceph系统中的用户数据最终都是由这一层来存储的。Ceph的很多优秀特性本质上也是借由这一层设计提供。理解RADOS是理解Ceph的基础与关键。物理上,RADOS由大量的存储设备节点组成,每个节点拥有自己的硬件资源(CPU、内存、硬盘、网络),并运行着操作系统和文件系统。本书后续章节将对RADOS进行深入介绍。

(2)基础库LIBRADOS

LIBRADOS层的功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS进行应用开发。需要指明的是,RADOS是一个对象存储系统,因此,LIBRADOS实现的API是针对对象存储功能的。RADOS采用C++开发,所提供的原生LIBRADOS API包括C和C++两种。物理上,LIBRADOS和基于其上开发的应用位于同一台机器,因而也被称为本地API。应用调用本机上的LIBRADOS API,再由后者通过socket与RADOS集群中的节点通信并完成各种操作。

(3)上层应用接口

Ceph上层应用接口涵盖了RADOSGW(RADOS Gateway)、RBD(Reliable Block Device)和Ceph FS(Ceph File System),其中,RADOSGW和RBD是在LIBRADOS库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

其中,RADOSGW是一个提供与Amazon S3和Swift兼容的RESTful API的网关,以供相应的对象存储应用开发使用。RADOSGW提供的API抽象层次更高,但在类S3或Swift LIBRADOS的管理比便捷,因此,开发者应针对自己的需求选择使用。RBD则提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建volume。目前,Red Hat已经将RBD驱动集成在KVM/QEMU中,以提高虚拟机访问性能。

(4)应用层

应用层就是不同场景下对于Ceph各个应用接口的各种应用方式,例如基于LIBRADOS直接开发的对象存储应用,基于RADOSGW开发的对象存储应用,基于RBD实现的云主机硬盘等。

下面就来看看RADOS的架构。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
21天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
14 0
|
4月前
|
存储 NoSQL 分布式数据库
分布式NoSQL列存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想
分布式NoSQL列存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想
142 0
|
6月前
|
前端开发 JavaScript
27分布式电商项目 - 商品录入(基本功能)
27分布式电商项目 - 商品录入(基本功能)
36 0
|
6月前
|
JSON 数据库 数据格式
17分布式电商项目 - 模板管理功能(二)
17分布式电商项目 - 模板管理功能(二)
40 0
|
6月前
|
SQL JSON JavaScript
16分布式电商项目 - 模板管理功能(一)
16分布式电商项目 - 模板管理功能(一)
49 0
|
前端开发 Java 调度
SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能
定时任务几乎是每个业务系统必不可少的功能,计算到期时间、过期时间等,定时触发某项任务操作。在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添加分布式锁来防止多个微服务同时运行定时任务而导致同一个任务重复执行。
706 0
SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能
|
8月前
|
运维 监控 网络协议
【运维知识进阶篇】zabbix5.0稳定版详解7(zabbix分布式监控:使用场景+功能详解+快速部署+基本使用)
【运维知识进阶篇】zabbix5.0稳定版详解7(zabbix分布式监控:使用场景+功能详解+快速部署+基本使用)
178 0
|
10月前
|
容器
阿里云最新产品手册——阿里云核心产品——分布式云容器平台ACK One——产品功能
阿里云最新产品手册——阿里云核心产品——分布式云容器平台ACK One——产品功能自制脑图
73 2
|
10月前
|
NoSQL Java Redis
如何使用注解来实现 Redis 分布式锁的功能?
如何使用注解来实现 Redis 分布式锁的功能?
126 0
|
11月前
|
数据安全/隐私保护 安全 供应链
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(1)
带你读《自主管理身份:分布式数字身份和可验证凭证》——第4章 SSI 记分卡:SSI 的主要功能和优点(1)

热门文章

最新文章