文档章节

Ceph软件架构(转载)

shadowalker911
 shadowalker911
发布于 2015/02/03 11:24
字数 611
阅读 237
收藏 0

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

Ceph软件架构

上图中的每一个模块对应Ceph的src目录下的一个目录,还有部分目录没有体现在该图中,这些通常是一些辅助性质的目录,详细情况可以参考《Ceph源代码目录结构详解》。

从图中可以看出,整个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的软件架构中。


本文转载自:http://blog.coolceph.com/?p=210

共有 人打赏支持
shadowalker911
粉丝 6
博文 28
码字总数 3041
作品 0
徐汇
加载中

评论(4)

shadowalker911
shadowalker911

引用来自“coding_java”的评论

之前是这样的 health HEALTH_WARN 192 pgs degraded; 192 pgs stuck unclean
我改一些POOL 变成health HEALTH_WARN 448 pgs stuck inactive; 448 pgs stuck unclean;
这我也还没搞得很明白,你要不先重新安装吧。重新安装的时候保证osd数等于或者大于Pool的副本数。按照我刚才那篇博文(http://my.oschina.net/u/1271640/blog/375381)应该可以。我是单独一个osd占用一块硬盘的,并且格式化为xfs文件系统。 以前我用官网prepare, activate这种方式激活osd,貌似就会出现你上述的问题,具体原因不清楚。 还有一点你osd的目录最好挂载在默认路径(那篇文章中有提到)。这样简单部署的时候可以避免一些问题。
coding_java
coding_java
之前是这样的 health HEALTH_WARN 192 pgs degraded; 192 pgs stuck unclean
我改一些POOL 变成health HEALTH_WARN 448 pgs stuck inactive; 448 pgs stuck unclean;
shadowalker911
shadowalker911

引用来自“coding_java”的评论

你好,我想问下你的,ceph HEALTH:192 pg 警告解决了么,我也出现那个问题了,不是pool数量问题
你好,那个问题如果是unclean,则是副本数不足导致的;如果是其他状态原因就是其他的。我的解决办法是重新安装,并且设置副本数为2。并且和oschina上的ceph的官方部署方式有点不一样,你可以参考我这篇文章:http://my.oschina.net/u/1271640/blog/375381 部署好之后就是 health activate +clean状态。
coding_java
coding_java
你好,我想问下你的,ceph HEALTH:192 pg 警告解决了么,我也出现那个问题了,不是pool数量问题
Ceph架构及性能优化

对分布式存储系统的优化离不开以下几点: 1. 硬件层面 硬件规划 SSD选择 BIOS设置 2. 软件层面 Linux OS Ceph Configurations PG Number调整 CRUSH Map 其他因素 硬件层面 1、 CPU ceph-osd...

skymyyang
2016/12/19
33
0
闲聊Ceph目前在中国的发展Ceph现状

近年来,大型企业以及开源社区不断的推动中国开源技术的发展,今天的中国已然成为OpenStack & Ceph等开源技术大放光彩的乐土。 图为 Ceph中国行各地沙龙 Ceph国内用户生态 Ceph作为全球最火热...

三石头
2017/11/10
0
0
Ceph v0.94.1.6 发布,分布式文件系统

Ceph v0.94.1.6 发布,更新内容暂未找到 下载地址: Source code (zip) Source code (tar.gz) 更多关于 Ceph 的内容请查看软件 GitHub 主页。 Ceph是加州大学Santa Cruz分校的SageWeil(Dre...

oschina
2015/08/13
584
1
Ceph v0.94.1.5 发布,分布式文件系统

Ceph v0.94.1.5 发布,下载地址请点: Source code (zip) Source code (tar.gz) 更多关于 Ceph 的内容请查看软件 GitHub 主页。 Ceph是加州大学Santa Cruz分校的SageWeil(DreamHost的联合创...

oschina
2015/07/30
671
3
分布式文件系统--Ceph

Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生...

匿名
2010/05/08
53.4K
16

没有更多内容

加载失败,请刷新页面

加载更多

下一页

49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
今天
1
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
1
0
memcached命令行、memcached数据导出和导入

一、memcached命令行 yum装telnet yum install telent 进入memcached telnet 127.0.0.1 11211 命令最后的2表示,两位字节,30表示过期时间(秒) 查看key1 get key1 删除:ctrl+删除键 二、m...

Zhouliang6
今天
1
0
Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法 Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这...

月夜中徘徊
今天
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部