uneven placement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.
I'm running ceph with great success for 3 weeks now (the key was using xfs instead of btrfs on osd nodes).

Using it with rbd volumes, for lot of things (backup, etc). My setup is already detailled in the list, I'll just summarize again :

My ceph cluster is made of 8 OSD with quite big storage attached.
All OSD nodes are equal, except 4 OSD have 6,2 TB, 4 have 8 TB storage.



All is really running well, except placement seems non optimal ;

One OSD is now near_full (93%), 2 others have more 86% where others are only 50% full.

This morning I tried

ceph osd reweight-by-utilization 110


the placement is still in progress :

ceph -s
health HEALTH_WARN 83 pgs backfill; 83 pgs recovering; 86 pgs stuck unclean; recovery 623428/11876870 degraded (5.249%); 3 near full osd(s) monmap e1: 3 mons at {chichibu=172.20.14.130:6789/0,glenesk=172.20.14.131:6789/0,karuizawa=172.20.14.133:6789/0}, election epoch 46, quorum 0,1,2 chichibu,glenesk,karuizawa
   osdmap e731: 8 osds: 8 up, 8 in
pgmap v792090: 1728 pgs: 1641 active+clean, 3 active+remapped, 1 active+clean+scrubbing, 83 active+recovering+remapped+backfill; 21334 GB data, 42865 GB used, 15262 GB / 58128 GB avail; 623428/11876870 degraded (5.249%)
   mdsmap e31: 1/1/1 up {0=glenesk=up:active}, 2 up:standby


But it seems to lead to worse comportment (filing the already near -full):

see the 8 OSD :
/dev/mapper/xceph--chichibu-data
                      8,0T  5,4T  2,7T  68% /XCEPH-PROD/data
/dev/mapper/xceph--glenesk-data
                      6,2T  3,2T  3,1T  51% /XCEPH-PROD/data
/dev/mapper/xceph--karuizawa-data
                      8,0T  7,0T  1,1T  87% /XCEPH-PROD/data
/dev/mapper/xceph--hazelburn-data
                      6,2T  5,9T  373G  95% /XCEPH-PROD/data
/dev/mapper/xceph--carsebridge-data
                      8,0T  6,9T  1,2T  86% /XCEPH-PROD/data
/dev/mapper/xceph--cameronbridge-data
                      6,2T  5,1T  1,2T  83% /XCEPH-PROD/data
/dev/mapper/xceph--braeval-data
                      8,0T  4,6T  3,5T  57% /XCEPH-PROD/data
/dev/mapper/xceph--hanyu-data
                      6,2T  4,2T  2,1T  67% /XCEPH-PROD/data



Now the crush map : You'll notice that my 8 OSD nodes are placed in 4 datacenters, and hosts with 8 TB have a different weight that the 6.2T nodes.


 begin crush map

# devices
device 0 osd.0
device 1 osd.1
device 2 osd.2
device 3 osd.3
device 4 device4
device 5 osd.5
device 6 osd.6
device 7 osd.7
device 8 osd.8

# types
type 0 osd
type 1 host
type 2 rack
type 3 row
type 4 room
type 5 datacenter
type 6 pool

# buckets
host carsebridge {
    id -7        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.5 weight 1.000
}
host cameronbridge {
    id -8        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.6 weight 1.000
}
datacenter chantrerie {
    id -12        # do not change unnecessarily
    # weight 2.330
    alg straw
    hash 0    # rjenkins1
    item carsebridge weight 1.330
    item cameronbridge weight 1.000
}
host karuizawa {
    id -5        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.2 weight 1.000
}
host hazelburn {
    id -6        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.3 weight 1.000
}
datacenter loire {
    id -11        # do not change unnecessarily
    # weight 2.330
    alg straw
    hash 0    # rjenkins1
    item karuizawa weight 1.330
    item hazelburn weight 1.000
}
host chichibu {
    id -2        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.0 weight 1.000
}
host glenesk {
    id -4        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.1 weight 1.000
}
host braeval {
    id -9        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.7 weight 1.000
}
host hanyu {
    id -10        # do not change unnecessarily
    # weight 1.000
    alg straw
    hash 0    # rjenkins1
    item osd.8 weight 1.000
}
datacenter lombarderie {
    id -13        # do not change unnecessarily
    # weight 4.660
    alg straw
    hash 0    # rjenkins1
    item chichibu weight 1.330
    item glenesk weight 1.000
    item braeval weight 1.330
    item hanyu weight 1.000
}
pool default {
    id -1        # do not change unnecessarily
    # weight 8.000
    alg straw
    hash 0    # rjenkins1
    item chantrerie weight 2.000
    item loire weight 2.000
    item lombarderie weight 4.000
}
rack unknownrack {
    id -3        # do not change unnecessarily
    # weight 8.000
    alg straw
    hash 0    # rjenkins1
    item chichibu weight 1.000
    item glenesk weight 1.000
    item karuizawa weight 1.000
    item hazelburn weight 1.000
    item carsebridge weight 1.000
    item cameronbridge weight 1.000
    item braeval weight 1.000
    item hanyu weight 1.000
}

# rules
rule data {
    ruleset 0
    type replicated
    min_size 1
    max_size 10
    step take default
    step chooseleaf firstn 0 type datacenter
    step emit
}
rule metadata {
    ruleset 1
    type replicated
    min_size 1
    max_size 10
    step take default
    step chooseleaf firstn 0 type datacenter
    step emit
}
rule rbd {
    ruleset 2
    type replicated
    min_size 1
    max_size 10
    step take default
    step chooseleaf firstn 0 type datacenter
    step emit
}

# end crush map

There is probably something I'm doing wrong,but what ??
(BTW running 0.49 right now, it's not changing this problem)

Any hints will be appreciated,
Cheers,

--
Yann Dupont - Service IRTS, DSI Université de Nantes
Tel : 02.53.48.49.20 - Mail/Jabber : Yann.Dupont@xxxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux