文档章节

Ceph软件架构(转载)

shadowalker911
 shadowalker911
发布于 2015/02/03 11:24
字数 611
阅读 264
收藏 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
239
0
闲聊Ceph目前在中国的发展Ceph现状

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

三石头
2017/11/10
0
0
“Ceph浅析”系列之七——关于Ceph的若干想法

本篇文章的内容,主要是笔者在调研分析Ceph过程中产生的一些思考。因为其中的内容比较自由发散,且大多是笔者的个人见解,故此另启一文进行讨论。 7.1 关于Ceph的性能 目前为止,本系列的文章...

红薯
2014/04/01
1.2K
2
【Ceph浅析笔记】Ceph是什么.md

Ceph是什么 什么是Ceph?首先我们应该明确,Ceph是一种分布式存储系统,所谓分布式,指的是Ceph可以部署在多台服务器上,通过多台服务器并行处理来对外提供高性能的读写块。 同时Ceph除了能提...

osc_9l5vqi8m
2018/03/04
6
0
分布式文件系统--Ceph

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

匿名
2010/05/08
6.9W
17

没有更多内容

加载失败,请刷新页面

加载更多

PCA——主成分分析

  PCA(Principal Components Analysis)主成分分析是一个简单的机器学习算法,利用正交变换把由线性相关变量表示的观测数据转换为少数几个由线性无关比变量表示的数据,实现降维的同时尽量...

osc_mfzkzkxi
26分钟前
9
0
网络开发库从libuv说到epoll

引言   这篇博文可能有点水,主要将自己libuv的学习过程和理解. 简单谈方法. 有点杂. 那我们开始吧. 首先介绍 github . 这个工具特别好用. 代码托管. 如果不翻墙可能有点卡. 但是应该试试....

osc_47pscir3
28分钟前
30
0
【死磕 Spring】----- IOC 之深入理解 Spring IoC

在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识,本篇为【死磕 Spring】系列博客的第一篇博文,主要介绍 ...

osc_kf7nv2km
29分钟前
25
0
多页pdf合并成一页怎么操作?几个pdf文档怎么才可以合成一个?

几个word文档要拼接到一起,几个Excel表格要拼接到一起,直接复制粘贴就可以了,但是几个pdf文档要拼接到一起又该怎么办呢?多页pdf合并成一页怎么操作?下面这个实用技巧,希望可以帮到大家...

dawda
30分钟前
28
0
强化学习(四)用蒙特卡罗法(MC)求解

    在强化学习(三)用动态规划(DP)求解中,我们讨论了用动态规划来求解强化学习预测问题和控制问题的方法。但是由于动态规划法需要在每一次回溯更新某一个状态的价值时,回溯到该状态...

osc_cd2qhmfp
31分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部