Merge pull request #1855 from kazhang/patch-1

doc: Update architecture.rst:Calculating PG IDs
This commit is contained in:
John Wilkins 2014-05-28 17:46:05 -07:00
commit cbd759872b

View File

@ -387,13 +387,13 @@ The only input required by the client is the object ID and the pool.
It's simple: Ceph stores data in named pools (e.g., "liverpool"). When a client
wants to store a named object (e.g., "john," "paul," "george," "ringo", etc.)
it calculates a placement group using the object name, a hash code, the
number of OSDs in the cluster and the pool name. Ceph clients use the following
number of PGs in the pool and the pool name. Ceph clients use the following
steps to compute PG IDs.
#. The client inputs the pool ID and the object ID. (e.g., pool = "liverpool"
and object-id = "john")
#. CRUSH takes the object ID and hashes it.
#. CRUSH calculates the hash modulo the number of OSDs. (e.g., ``0x58``) to get
#. CRUSH calculates the hash modulo the number of PGs. (e.g., ``0x58``) to get
a PG ID.
#. CRUSH gets the pool ID given the pool name (e.g., "liverpool" = ``4``)
#. CRUSH prepends the pool ID to the PG ID (e.g., ``4.0x58``).
@ -1450,4 +1450,4 @@ instance for high availability.
.. _RESTful: http://en.wikipedia.org/wiki/RESTful
.. _Erasure Code Notes: https://github.com/ceph/ceph/blob/40059e12af88267d0da67d8fd8d9cd81244d8f93/doc/dev/osd_internals/erasure_coding/developer_notes.rst
.. _Cache Tiering: ../rados/operations/cache-tiering
.. _Set Pool Values: ../rados/operations/pools#set-pool-values
.. _Set Pool Values: ../rados/operations/pools#set-pool-values