mirror of
https://github.com/ceph/ceph
synced 2024-12-23 20:03:56 +00:00
6f8e4b3810
It's been confusing for a long time that EC pools are implemented by ReplicatedPG. What PG/ReplicatedPG really implement is the concept of a PG where consistency is managed by the primary via a log. Signed-off-by: Samuel Just <sjust@redhat.com>
68 lines
1.2 KiB
ReStructuredText
68 lines
1.2 KiB
ReStructuredText
====================================
|
|
Object Store Architecture Overview
|
|
====================================
|
|
|
|
.. graphviz::
|
|
|
|
/*
|
|
* Rough outline of object store module dependencies
|
|
*/
|
|
|
|
digraph object_store {
|
|
size="7,7";
|
|
node [color=lightblue2, style=filled, fontname="Serif"];
|
|
|
|
"testrados" -> "librados"
|
|
"testradospp" -> "librados"
|
|
|
|
"rbd" -> "librados"
|
|
|
|
"radostool" -> "librados"
|
|
|
|
"radosgw-admin" -> "radosgw"
|
|
|
|
"radosgw" -> "librados"
|
|
|
|
"radosacl" -> "librados"
|
|
|
|
"librados" -> "objecter"
|
|
|
|
"ObjectCacher" -> "Filer"
|
|
|
|
"dumpjournal" -> "Journaler"
|
|
|
|
"Journaler" -> "Filer"
|
|
|
|
"SyntheticClient" -> "Filer"
|
|
"SyntheticClient" -> "objecter"
|
|
|
|
"Filer" -> "objecter"
|
|
|
|
"objecter" -> "OSDMap"
|
|
|
|
"ceph-osd" -> "PG"
|
|
"ceph-osd" -> "ObjectStore"
|
|
|
|
"crushtool" -> "CrushWrapper"
|
|
|
|
"OSDMap" -> "CrushWrapper"
|
|
|
|
"OSDMapTool" -> "OSDMap"
|
|
|
|
"PG" -> "PrimaryLogPG"
|
|
"PG" -> "ObjectStore"
|
|
"PG" -> "OSDMap"
|
|
|
|
"PrimaryLogPG" -> "ObjectStore"
|
|
"PrimaryLogPG" -> "OSDMap"
|
|
|
|
"ObjectStore" -> "FileStore"
|
|
|
|
"FileStore" -> "xfs"
|
|
"FileStore" -> "btrfs"
|
|
"FileStore" -> "ext4"
|
|
}
|
|
|
|
|
|
.. todo:: write more here
|