Project

General

Profile

Bug #10257

Ceph df doesn't report MAX AVAIL correctly when using rulesets and OSD in ruleset is down and out

Added by Xavier Trilla almost 4 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Monitor
Target version:
-
Start date:
12/05/2014
Due date:
% Done:

0%

Source:
Community (user)
Tags:
Backport:
giant,firefly
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

In our setup we have two rulesets, one for SSDs and another one for HDDs. Ceph df normally reports the MAX AVAIL space considering the OSDs in the ruleset, but when on of the OSDs is down and out it just reports 0 instead of the real MAX AVAIL space for the pools using that ruleset.

Command "ceph fs" output:

GLOBAL:
SIZE AVAIL RAW USED %RAW USED OBJECTS
28309G 22750G 5558G 19.63 757k
POOLS:
NAME ID CATEGORY USED %USED MAX AVAIL OBJECTS DIRTY READ WRITE
ssd-volumes-01 118 - 5344M 0.02 0 1472 1472 4861k 5281k
hdd-volumes-01 120 - 0 0 8200G 0 0 0 0

ssd-volumes-01 pool is using ruleset 0 (It has one OSD down and out)
hdd-volumes-01 pool is using ruleset 1 (All OSDs are up)


Related issues

Related to Ceph - Bug #13840: Ceph Pools' MAX AVAIL is 0 if some OSDs' weight is 0 Resolved 11/20/2015

Associated revisions

Revision b311e7c3 (diff)
Added by Joao Eduardo Luis almost 4 years ago

mon: PGMonitor: skip zeroed osd stats on get_rule_avail()

Fixes: #10257

Signed-off-by: Joao Eduardo Luis <>

Revision 6e58732f (diff)
Added by Joao Eduardo Luis over 3 years ago

mon: PGMonitor: skip zeroed osd stats on get_rule_avail()

Fixes: #10257

Signed-off-by: Joao Eduardo Luis <>
(cherry picked from commit b311e7c36273efae39aa2602c1f8bd90d39e5975)

Conflicts:
src/mon/PGMonitor.cc
ceph::unordered_map changed the context, simple resolution

Revision a5a76f81 (diff)
Added by Joao Eduardo Luis over 3 years ago

mon: PGMonitor: skip zeroed osd stats on get_rule_avail()

Fixes: #10257

Signed-off-by: Joao Eduardo Luis <>
(cherry picked from commit b311e7c36273efae39aa2602c1f8bd90d39e5975)

History

#1 Updated by Zheng Yan almost 4 years ago

  • Project changed from fs to Ceph
  • Target version deleted (v0.87)

#2 Updated by Sage Weil almost 4 years ago

  • Category set to Monitor
  • Priority changed from Normal to High
  • Source changed from other to Community (user)
  • Tags deleted (ruleset, df, down, out)

#3 Updated by Sage Weil almost 4 years ago

  • Assignee set to Joao Luis

#4 Updated by Sage Weil almost 4 years ago

  • Status changed from New to Pending Backport
  • Backport set to giant,firefly

#5 Updated by Joao Luis almost 4 years ago

to be backported to giant and firefly: 8be6a6ab2aa5a000a39c73a98b11a0ab32fffa1c and b311e7c36273efae39aa2602c1f8bd90d39e5975.

50547dc3c00b7556e26b9a44ec68640c5c3a2384 needs to be backported to dumpling too.

#6 Updated by Loic Dachary over 3 years ago

  • Backport changed from giant,firefly to giant,firefly,dumpling

#8 Updated by Sage Weil over 3 years ago

giant and firefly backports done, still missing dumpling

#9 Updated by Loic Dachary over 3 years ago

  • Backport changed from giant,firefly,dumpling to giant,firefly

dumpling is end of life

#10 Updated by Loic Dachary over 3 years ago

a5a76f8 mon: PGMonitor: skip zeroed osd stats on get_rule_avail() (in giant), 6e58732 mon: PGMonitor: skip zeroed osd stats on get_rule_avail() (in firefly),

#11 Updated by Loic Dachary over 3 years ago

  • Status changed from Pending Backport to Resolved

#12 Updated by Nathan Cutler almost 3 years ago

  • Related to Bug #13840: Ceph Pools' MAX AVAIL is 0 if some OSDs' weight is 0 added

Also available in: Atom PDF