From: oddomatik Date: Thu, 30 Jul 2015 14:33:09 +0000 (+0800) Subject: No CRUSH involvement in deciding PG target X-Git-Tag: v9.1.0~468^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F5423%2Fhead;p=ceph.git No CRUSH involvement in deciding PG target Quoting from elsewhere "[we calculate] a placement group using the object name, a hash code, the number of PGs in the pool and the pool name" --- diff --git a/doc/rados/operations/placement-groups.rst b/doc/rados/operations/placement-groups.rst index 2d77df6b97bf..4fb83bc96167 100644 --- a/doc/rados/operations/placement-groups.rst +++ b/doc/rados/operations/placement-groups.rst @@ -58,11 +58,10 @@ cannot realistically track placement on a per-object basis. | | +-----------------------+ -Placement groups are invisible to the Ceph user: the CRUSH algorithm -determines in which placement group the object will be -placed. Although CRUSH is a deterministic function using the object -name as a parameter, there is no way to force an object into a given -placement group. +The Ceph client will calculate which placement group an object should +be in. It does this by hashing the object ID and applying an operation +based on the number of PGs in the defined pool and the ID of the pool. +See `Mapping PGs to OSDs`_ for details. The object's contents within a placement group are stored in a set of OSDs. For instance, in a replicated pool of size two, each placement