Hi,

I’m looking for some help in figuring out why there are 2 pg’s in our cluster 
in 'active+undersized+degraded' state. They don’t seem to get assigned a 3rd 
osd to place data on. I’m not sure why, everything looks ‘ok’ to me. Our ceph 
cluster consists of 3 nodes and has been upgraded from firefly to hammer to 
infernalis during its lifetime. Everything was fine until a few days ago when I 
created a new pool with
# ceph osd pool create poolname 2048 replicated
and proceeded to create two rbd images
# rbd create --size 2T poolname/image1
# rbd create --size 1600G poolname/image2

Since that moment ceph health shows a warning:
    cluster 6318a6a2-808b-45a1-9c89-31575c58de49
     health HEALTH_WARN
            2 pgs degraded
            2 pgs stuck degraded
            2 pgs stuck unclean
            2 pgs stuck undersized
            2 pgs undersized
            recovery 389/9308133 objects degraded (0.004%)
     monmap e7: 4 mons at 
{md002=172.19.20.2:6789/0,md005=172.19.20.5:6789/0,md008=172.19.20.8:6789/0,md010=172.19.20.10:6789/0}
            election epoch 18774, quorum 0,1,2,3 md002,md005,md008,md010
     osdmap e105161: 30 osds: 30 up, 30 in
      pgmap v12776313: 2880 pgs, 5 pools, 12089 GB data, 3029 kobjects
            36771 GB used, 24661 GB / 61433 GB avail
            389/9308133 objects degraded (0.004%)
                2878 active+clean
                   2 active+undersized+degraded
  client io 1883 kB/s rd, 15070 B/s wr, 1 op/s

There is no recovery going on.
We are on version 9.2.1 on centos 7 with kernel 4.4.9 except for the monitoring 
node which is still on 4.4.0.

I’ve used crushtool to check whether the mapping should be ok, it seems to be 
fine (but I think this assumes all nodes in a cluster to be exactly the same, 
which they are not in our situation).
There are no errors in the ceph logs. (zgrep –i err *gz in /var/log/ceph)
Pg-num and pgp-num are both set to 3 for this pool.

The details:
HEALTH_WARN 2 pgs degraded; 2 pgs stuck degraded; 2 pgs stuck unclean; 2 pgs 
stuck undersized; 2 pgs undersized; recovery 389/9308133 objects degraded 
(0.004%)
pg 24.17 is stuck unclean since forever, current state 
active+undersized+degraded, last acting [23,1]
pg 24.54a is stuck unclean since forever, current state 
active+undersized+degraded, last acting [8,19]
pg 24.17 is stuck undersized for 9653.439112, current state 
active+undersized+degraded, last acting [23,1]
pg 24.54a is stuck undersized for 9659.961863, current state 
active+undersized+degraded, last acting [8,19]
pg 24.17 is stuck degraded for 9653.439186, current state 
active+undersized+degraded, last acting [23,1]
pg 24.54a is stuck degraded for 9659.961940, current state 
active+undersized+degraded, last acting [8,19]
pg 24.54a is active+undersized+degraded, acting [8,19]
pg 24.17 is active+undersized+degraded, acting [23,1]
recovery 389/9308133 objects degraded (0.004%)

# ceph pg dump_stuck degraded
ok
pg_stat  state      up           up_primary          acting    acting_primary
24.17     active+undersized+degraded          [23,1]     23           [23,1]    
 23
24.54a   active+undersized+degraded          [8,19]     8              [8,19]   
  8

# ceph pg map 24.17
osdmap e105161 pg 24.17 (24.17) -> up [23,1] acting [23,1]
# ceph pg map 24.54a
osdmap e105161 pg 24.54a (24.54a) -> up [8,19] acting [8,19]

The osd tree and crushmap can be found here: http://pastebin.com/i4BQq5Mi

I’m hoping for some insight into why this is happening. I couldn’t find much 
out there on the net about undersized pg states other than that there are 
people trying to get a replication of 3 with less than 3 osd’s or less than 3 
hosts when a host level has been specified in the crushmap hierarchy but that 
doesn’t apply here.

Best regards,


Max
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to