]> git.proxmox.com Git - ceph.git/blame - ceph/doc/rados/operations/data-placement.rst
update ceph source to reef 18.1.2
[ceph.git] / ceph / doc / rados / operations / data-placement.rst
CommitLineData
7c673cae
FG
1=========================
2 Data Placement Overview
3=========================
4
1e59de90
TL
5Ceph stores, replicates, and rebalances data objects across a RADOS cluster
6dynamically. Because different users store objects in different pools for
7different purposes on many OSDs, Ceph operations require a certain amount of
8data- placement planning. The main data-placement planning concepts in Ceph
9include:
7c673cae 10
1e59de90
TL
11- **Pools:** Ceph stores data within pools, which are logical groups used for
12 storing objects. Pools manage the number of placement groups, the number of
13 replicas, and the CRUSH rule for the pool. To store data in a pool, it is
14 necessary to be an authenticated user with permissions for the pool. Ceph is
15 able to make snapshots of pools. For additional details, see `Pools`_.
7c673cae 16
1e59de90
TL
17- **Placement Groups:** Ceph maps objects to placement groups. Placement
18 groups (PGs) are shards or fragments of a logical object pool that place
19 objects as a group into OSDs. Placement groups reduce the amount of
20 per-object metadata that is necessary for Ceph to store the data in OSDs. A
21 greater number of placement groups (for example, 100 PGs per OSD as compared
22 with 50 PGs per OSD) leads to better balancing. For additional details, see
23 :ref:`placement groups`.
7c673cae 24
1e59de90
TL
25- **CRUSH Maps:** CRUSH plays a major role in allowing Ceph to scale while
26 avoiding certain pitfalls, such as performance bottlenecks, limitations to
27 scalability, and single points of failure. CRUSH maps provide the physical
28 topology of the cluster to the CRUSH algorithm, so that it can determine both
29 (1) where the data for an object and its replicas should be stored and (2)
30 how to store that data across failure domains so as to improve data safety.
31 For additional details, see `CRUSH Maps`_.
7c673cae 32
1e59de90
TL
33- **Balancer:** The balancer is a feature that automatically optimizes the
34 distribution of placement groups across devices in order to achieve a
35 balanced data distribution, in order to maximize the amount of data that can
36 be stored in the cluster, and in order to evenly distribute the workload
37 across OSDs.
11fdf7f2 38
1e59de90
TL
39It is possible to use the default values for each of the above components.
40Default values are recommended for a test cluster's initial setup. However,
41when planning a large Ceph cluster, values should be customized for
42data-placement operations with reference to the different roles played by
43pools, placement groups, and CRUSH.
7c673cae
FG
44
45.. _Pools: ../pools
7c673cae 46.. _CRUSH Maps: ../crush-map
11fdf7f2 47.. _Balancer: ../balancer