ceph的peering过程分析
在介绍了statechart状态机和PG的创建过程后,正式开始Peering过程介绍。Peering的过程使一个PG内的OSD达成一个一致状态。当主从副本达成一个一致的状态后,PG处于active状态,Peering过程的状态就结束了。但此时该PG的三个OSD的数据副本上的数据并非完全一致。
在介绍了statechart状态机和PG的创建过程后,正式开始Peering过程介绍。Peering的过程使一个PG内的OSD达成一个一致状态。当主从副本达成一个一致的状态后,PG处于active状态,Peering过程的状态就结束了。但此时该PG的三个OSD的数据副本上的数据并非完全一致。
本章介绍ceph中比较复杂的模块: Peering机制。该过程保障PG内各个副本之间数据的一致性,并实现PG的各种状态的维护和转换。本章首先介绍boost库的statechart状态机基本知识,Ceph使用它来管理PG的状态转换。其次介绍PG的创建过程以及相应的状态机创建和初始化。然后详细介绍peering机制三个具体的实现阶段:GetInfo、GetLog、GetMissing。
文章转载自CMake进阶之CMake原理与关键概念,在此做个记录,以防文章丢失,并便于后续自己阅读。
本文从一个更顶层的视角来介绍CMake的使用,在此做一个记录,以便于后期复习总结。
我们接上文继续讲解cmake的使用。
本文转载自:
本文参考:
本文参考:
本文参考:
本文并不打算十分详细的介绍如何编写CMakeLists.txt脚本文件,而是先大致介绍一下其包含的几个重要方面:
本文先概要性的讲解cmake的使用。参看:
本文记录一下如何在cmake中指定编译器和编译标志,参看:
本文介绍一下cmake的安装及使用方法。
在编译一些开源包的时候,我们经常会遇到CFLAGS
、DFLAGS
等一些变量,这里我们简单介绍一下,在此做个记录,以便于后续查阅。
文章转载自:
本章介绍一下boost statechart的使用。
本章记录一下C++11中的一些新特性。
本章介绍Ceph的高级数据功能:快照和克隆,它们在企业级存储系统中是必不可少的。这里首先介绍Ceph中快照和克隆的基本概念,其次介绍快照实现相关的数据结构,然后介绍快照操作的原理,最后分析快照的读写操作的源代码实现。
本节我们讲述一下Ceph本地对象存储中的CollectionIndex。
本章我们讲述一下ObjectStore中omap的实现。