OSD ID numbers determine OSD count and thus default pg_cnt
An IRC user (maelfius) had a problem with a 1-monitor, 3-OSD cluster; the monitor chewed up all memory before it started. Enabling some logging, it became clear that there were a pile of pg's allocated, and Sam asked what the OSD IDs were; turned out they were 7 digits.
Sam then realized that this was the cause; apparently the default number of PGs is calculated from the number of OSDs, and apparently that number is based on the maximum OSD ID number.
It seems like separating the OSD ID from the ordinal index/number of OSDs would be prudent.
Here's the log message the shows the problem:
2012-08-07 23:55:40.764418 7ff455e80780 10 mon.1@0(leader).pg v1 register_new_pgs scanning pool 0 rep size 2 crush_ruleset 0 object_hash rjenkins pg_num 64064256 pgp_num 64064256 last_change 1 owner 0 crash_replay_interval 45
osdmap: fix pg_num calculation when generating osdmap from conf
Base num_pg calculation on the number of osds, not the max osd id.
Signed-off-by: Sage Weil <email@example.com>
#1 Updated by Sage Weil over 10 years ago
- Target version set to v0.51
#2 Updated by Sage Weil over 10 years ago
- translation missing: en.field_story_points set to 2
- translation missing: en.field_position set to 23
#3 Updated by Sage Weil over 10 years ago
- Status changed from New to Fix Under Review
#4 Updated by Sage Weil over 10 years ago
- Status changed from Fix Under Review to Resolved