Change pg_num pools parameter when adding osd nodes

Bug #1383931 reported by Andrey Grebennikov
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
MOS Ceph
7.0.x
Won't Fix
Medium
MOS Ceph
8.0.x
Won't Fix
Medium
MOS Ceph
Mitaka
Invalid
Medium
MOS Ceph

Bug Description

When deploying MOS with Ceph cluster, pg_num and pgs_num parameters to be only calculated once (when creating the pools). We need to recalculate it every time we add new osd nodes, as well as we have to execute "ceph osd pool set {pool-name} pg_num {pg_num}" and "ceph osd pool set {pool-name} pgp_num {pgp_num}" for all existing pools.

Changed in fuel:
status: New → Confirmed
importance: Undecided → Low
assignee: nobody → Fuel Library Team (fuel-library)
milestone: none → 6.0
tags: added: ceph
Changed in fuel:
importance: Low → Medium
milestone: 6.0 → 6.1
Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Vyacheslav Struk (vstruk)
Changed in fuel:
assignee: Vyacheslav Struk (vstruk) → nobody
Changed in fuel:
assignee: nobody → Fuel Library Team (fuel-library)
Changed in fuel:
importance: Medium → High
tags: added: low-hanging-fruit
Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Alex Schultz (alex-schultz)
Revision history for this message
Dmitry Borodaenko (angdraug) wrote :

Lets document this in Ops Guide for 6.1, then create/find a BP to implement this properly.

tags: added: docs
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-docs (master)

Fix proposed to branch: master
Review: https://review.openstack.org/179253

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
Alex Schultz (alex-schultz) wrote :
Revision history for this message
Andrey Grebennikov (agrebennikov) wrote :

What I got from conversation with Andrey Korolyov was that we Don't have to change it Every time.
Here is the formula:
pg_num = osd_num * 100.0 / repl
but there is another requirement - "pg_num ~ 2^N", which means we only need to change pg_num when it has to be doubled.
If we'll be changing pg_num every time it will cause cluster unavailability for some time because it will completely restructurize data.
I guess we have to look closer one more time on this bug and proposed solution.

Revision history for this message
Alex Schultz (alex-schultz) wrote :

My understanding from researching this is that it's not something that necessarily needs to be done all the time. It looks like it would only be something you would do if you are significantly changing the size of the ceph cluster and realistically have >50 OSDs. At the moment I'm documenting how to do it for the operations guide, and I've kicked off a blueprint to start looking into this further if we want to add it into the deployment process.

tags: removed: low-hanging-fruit
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-docs (master)

Reviewed: https://review.openstack.org/179253
Committed: https://git.openstack.org/cgit/stackforge/fuel-docs/commit/?id=1d2892c239d8e20b361c0b7c9ca7bfb9eb81ddc1
Submitter: Jenkins
Branch: master

commit 1d2892c239d8e20b361c0b7c9ca7bfb9eb81ddc1
Author: Alex Schultz <email address hidden>
Date: Thu Apr 30 16:25:18 2015 -0500

    How To: Adjust Placement Groups for new Ceph Nodes

    Currently fuel only calculates pg_num and pgp_num for ceph pools as part
    of the initial deployment. When additional nodes are added to an
    environment it may be necessary to update these values for the ceph
    deployment for optimal performance. This document explains how to do
    this manually until this functionality can be rolled into the fuel
    deployment process.

    Change-Id: I7ed502a1665ea314ab3dd4f868eca865fe550961
    Partial-Bug: 1383931

Changed in fuel:
status: In Progress → Fix Committed
Changed in fuel:
status: Fix Committed → Triaged
assignee: Alex Schultz (alex-schultz) → Fuel Library Team (fuel-library)
Revision history for this message
Dmitry Borodaenko (angdraug) wrote :

Now that the documentation workaround is merged, the remaining work should be tracked in the associated blueprint https://blueprints.launchpad.net/fuel/+spec/ceph-add-node-update-placement-groups -- the bug is downgraded to Medium and postponed to 7.0.

Changed in fuel:
importance: High → Medium
milestone: 6.1 → 7.0
Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Alexander Arzhanov (aarzhanov)
status: Triaged → In Progress
Changed in fuel:
assignee: Alexander Arzhanov (aarzhanov) → MOS Ceph (mos-ceph)
status: In Progress → Triaged
Changed in fuel:
status: Triaged → Fix Committed
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
milestone: 7.0 → 8.0
status: Fix Committed → Confirmed
no longer affects: fuel/8.0.x
Dmitry Pyzhov (dpyzhov)
tags: added: area-mos
Revision history for this message
Roman Podoliaka (rpodolyaka) wrote :

We no longer fix Medium bugs in 8.0, closing as Won't Fix

Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

> We need to recalculate it every time we add new osd nodes

This statement is not quite true. Splitting placement groups causes a massive data rebalancing and can improve
the performance and data safety only if the number of OSDs has radically changed (say, >= x4).
Splitting PGs after adding each OSD is definitely a bad idea. Marking bug as Invalid

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.