Перед установкой количества PG вам необходимо знать 3 вещи.
1. Количество экранных меню
ceph osd ls
Sample Output:
0
1
2
Here Total number of osd is three.
2. Количество пулов
ceph osd pool ls
or rados lspools
Sample Output:
rbd
images
vms
volumes
backups
Here Total number of pool is five.
3. Количество репликаций
ceph osd dump | grep repli
Sample Output:
pool 0 'rbd' replicated size 2 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 38 flags hashpspool stripe_width 0
pool 1 'images' replicated size 2 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 30 pgp_num 30 last_change 40 flags hashpspool stripe_width 0
pool 2 'vms' replicated size 2 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 30 pgp_num 30 last_change 42 flags hashpspool stripe_width 0
pool 3 'volumes' replicated size 2 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 30 pgp_num 30 last_change 36 flags hashpspool stripe_width 0
pool 4 'backups' replicated size 2 min_size 2 crush_ruleset 1 object_hash rjenkins pg_num 30 pgp_num 30 last_change 44 flags hashpspool stripe_width 0
You can see each pool has replication count two.
Теперь перейдем к расчету
Расчеты:
Расчет общего количества PG:
Total PGs = (Total_number_of_OSD * 100) / max_replication_count
This result must be rounded up to the nearest power of 2.
Пример:
Номер OSD: 3
Количество репликаций: 2
Всего PG = (3 * 100) / 2 = 150. Ближайшая степень от 150 до 2 равна 256.
Таким образом, максимальное количество рекомендованных PG - 256
Вы можете установить PG для каждого пула
Расчет общего количества PG на пул:
Total PGs = ((Total_number_of_OSD * 100) / max_replication_count) / pool count
This result must be rounded up to the nearest power of 2.
Пример:
Номер OSD: 3
Количество репликаций: 2
Количество пулов: 5
Всего PG = ((3 * 100) / 2) / 5 = 150/5 = 30. Ближайшая степень от 30 до 2 равна 32.
Таким образом, общее количество PG на пул равно 32.
Таблица мощности 2:
2^0 1
2^1 2
2^2 4
2^3 8
2^4 16
2^5 32
2^6 64
2^7 128
2^8 256
2^9 512
2^10 1024
Полезные команды
ceph osd pool create <pool-name> <pg-number> <pgp-number> - To create a new pool
ceph osd pool get <pool-name> pg_num - To get number of PG in a pool
ceph osd pool get <pool-name> pgp_num - To get number of PGP in a pool
ceph osd pool set <pool-name> pg_num <number> - To increase number of PG in a pool
ceph osd pool set <pool-name> pgp_num <number> - To increase number of PGP in a pool
*usually pg and pgp number is same
person
rajagopalx
schedule
01.01.2017
ceph osd lspools
возвращает:0 rbd,1 .rgw.root,2 default.rgw.control,3 default.rgw.data.root,4 default.rgw.gc,5 default.rgw.log,6 default.rgw.users.uid,7 default.rgw.users.keys,8 default.rgw.meta,9 default.rgw.users.swift,10 default.rgw.buckets.index,11 default.rgw.buckets.data,
- так 12 пулов? - person Turtle V. Rabbit   schedule 23.11.2016