ceph
文章平均质量分 80
ywy463726588
这个作者很懒,什么都没留下…
展开
-
ceph一些基础概念的简介
最近因为整理文档,发现一些很久以前写的关于ceph基础介绍的ppt,为了防止资料丢失,打算把搬到这里留作备份。现在线上环境是openstack+ceph的结构,ceph直接连接在openstack中块存储模块cinder的后端。什么是Ceph利用一个分布式集群来提供对象,块和文件存储的统一存储平台。是一个免费开源软件,Ceph的是一种基于软件的解决方案,并在商品硬件上运原创 2015-01-15 17:27:35 · 11155 阅读 · 0 评论 -
ceph源码分析之读写操作流程(1)
ceph是一个存储集群,它拥有ceph-mon,ceph-mds和ceph-osd三种进程,本文主要从源码层面分析ceph-osd中的数据读写操作流程。ceph-osd数据层级是这样的:最上层:OSD,OSDServer第二层:PG(具体实现类是ReplicatedPG)第三层:ObjectStore(具体实现类是FileStore类,该类中有成员变量FileJourn原创 2015-01-13 14:40:15 · 9192 阅读 · 1 评论 -
ceph源码分析之读写操作流程(2)
上一篇介绍了ceph存储在上两层的消息逻辑,这一篇主要介绍一下读写操作在底两层的流程。下图是上一篇消息流程的一个总结。在ceph中,读写操作由于分布式存储的原因,故走了不同流程。对于读操作而言:1.客户端直接计算出存储数据所属于的主osd,直接给主osd上发送消息。2.主osd收到消息后,可以调用Filestore直接读取处在底层文件系统中的主pg里面的内容然后原创 2015-01-13 18:14:42 · 5829 阅读 · 1 评论 -
ceph源码分析之线程介绍
Ceph是一款优秀的分布式存储软件,通过学习它的源码,我们可以学到很多编程技巧,ceph中关于多线程的编程,是一个很好的学习对象。Ceph中线程的在src/common/Thread.h中定义class Thread { private: pthread_t thread_id; public: Thread(const Thread& other); const Th原创 2015-01-15 15:51:39 · 5034 阅读 · 1 评论 -
ceph源码分析之消息通信机制
在介绍ceph的读写流程时,我们流程的开始于OSD::_ms_dispatcher,这个函数的意义表示,osd拿到了消息,并要根据不同的表示对消息进行dispatcher,那么消息究竟是如何来的,这个之前没有进行任何介绍,本章主要就是对此进行梳理。本文引用参考了《解析ceph:网络层的处理》这篇文章。 现在大多的网络编程中,都会使用基于事件通知的异步网络IO方式来实现,比如Epoll和Kq原创 2015-01-20 10:33:19 · 4213 阅读 · 0 评论