Ceph软件架构是怎么样的

68次阅读
没有评论

共计 1000 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍了 Ceph 软件架构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

Ceph 项目中,各模块的代码基本上对应 src 目录下的各个目录,其软件架构可以用下图来描述:

上图中的每一个模块对应 Ceph 的 src 目录下的一个目录,还有部分目录没有体现在该图中,这些通常是一些辅助性质的目录。

从图中可以看出,整个 Ceph 从依赖关系角度,大体可以划分为三个层次:

1. 基础层(Base)
基础层包含了如业务无关的各类模块,例如对数值类型的定义、线程池、序列化等。

基础层包括以下模块:

include:包含数值类型的定义、API 的定义、容器类、Buffer、枚举、序列化等

common:包含业务无关的通用模块,例如定时器、字符串处理、CRC、多线程、心跳、应用对象管理接口、配置文件解析等。

log:日志记录功能

global:全局的初始化、信号量处理等。

2. 组件层(Component)
组件层是为实现各项业务提供的功能组件,例如消息通讯、认证授权、数据分布算法等。

组件层包括以下模块:

auth:认证授权模块

crush:CRUSH 数据分布算法

os(ObjectStore):对象存储,将本地存储组织为支持事务的本地存储接口,只用于 OSD

msg:消息通讯

messages:各类消息的定义

osdc(osd client):osd 的客户端,用于访问 osd 的数据

cls:插件机制

3. 子系统层(SubSystem)
子系统层即 Ceph 中各个功能节点,包括 mon、osd、mds、client

子系统层包括以下功能模块:

mon:监控节点

osd:对象存储设备

mds:元数据服务器,用于 CephFS 的元数据管理

client:对 osdc、mdsc 的封装

在以上模块中,并没有提到 RBD 和 RGW,因为严格说来,这两种仅仅是基于 RADOS 实现的一种应用,可以作为单独的系统进行分析。实际 上,CephFS 也可以作为基于 RADOS 的一个应用来对待,但由于 CephFS 对应的 mds 和 client 与整个 Ceph 紧耦合(历史原因),所以我们 把这两个模块一并放到了整个 Ceph 的软件架构中。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Ceph 软件架构是怎么样的”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1000字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)