这篇文章主要介绍了Ceph软件架构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
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的软件架构中。
感谢你能够认真阅读完这篇文章,希望小编分享的“Ceph软件架构是怎么样的”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。