The Ceph Blog

Ceph blog stories provide high-level spotlights on our customers all over the world

  • February 27, 2015
    v0.93 Hammer release candidate released

    This is the first release candidate for Hammer, and includes all of the features that will be present in the final release. We welcome and encourage any and all testing in non-production clusters to identify any problems with functionality, stability, or performance before the final Hammer release. We suggest some caution in one area: librbd. …Read more

  • February 27, 2015
    Analyse OpenStack guest writes and reads running on Ceph

    {% img center http://sebastien-han.fr/images/librbd-io-pattern.jpg Analyse OpenStack guest writes and reads running on Ceph %}

    Analyse IO pattern of all your guest machines.

    Append the following in your ceph.conf:

    [client]
    log file = /var/log/qem…

  • February 26, 2015
    v0.87.1 Giant released

    This is the first (and possibly final) point release for Giant. Our focus on stability fixes will be directed towards Hammer and Firefly. We recommend that all v0.87 Giant users upgrade to this release. UPGRADING Due to a change in the Linux kernel version 3.18 and the limits of the FUSE interface, ceph-fuse needs be …Read more

  • February 25, 2015
    Ceph Storage :: Next Big Thing 2015-02-25 20:10:00

    Now Showing : Learning Ceph  a comprehensive Book on Software Defined Storage : CEPHHello Ceph ‘ers  , The year 2014 is pretty productive to Ceph and to its surrounding world. Ceph entered the 10 year maturi…

  • February 24, 2015
    CDS: Infernalis Call for Blueprints

    The “Ceph Developer Summit” for the Infernalis release is on the way. The summit is planed for 03. and 04. March. The blueprint submission period started on 16. February and will end 27. February 2015. Do you miss something in Ceph or plan to deve…

  • February 24, 2015
    Quick and efficient Ceph DevStacking

    {% img center http://sebastien-han.fr/images/devstack.png Quick and efficient Ceph DevStacking %}

    Recently I built a little repository on github/ceph where I put two files to help you building your DevStack Ceph.

    bash
    $ git clone https://git.openstac…

  • February 23, 2015
    Get the Number of Placement Groups Per Osd

    Get the PG distribution per osd in command line :

    pool :  0   1   2   3   | SUM 
    ------------------------------------------------
    osd.10  6   6   6   84  | 102
    osd.11  7   6   6   76  | 95
    osd.12  4   4   3   56  | 67
    osd.20  5   5   5   107 | 122
    osd.13  3   3   3   73  | 82
    osd.21  9   10  10  110 | 139
    osd.14  3   3   3   85  | 94
    osd.15  6   6   6   87  | 105
    osd.22  6   6   5   87  | 104
    osd.23  10  10  10  87  | 117
    osd.16  7   7   7   102 | 123
    osd.17  5   5   5   99  | 114
    osd.18  4   4   4   103 | 115
    osd.19  7   7   7   112 | 133
    osd.0   5   5   5   72  | 87
    osd.1   5   5   6   83  | 99
    osd.2   3   3   3   74  | 83
    osd.3   5   5   5   61  | 76
    osd.4   3   3   4   76  | 86
    osd.5   5   5   5   78  | 93
    osd.6   3   2   2   78  | 85
    osd.7   3   3   3   88  | 97
    osd.8   9   9   9   91  | 118
    osd.9   5   6   6   79  | 96
    ------------------------------------------------
    SUM :   128 128 128 2048    |
    

    The command :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    ceph pg dump | awk '
     /^pg_stat/ { col=1; while($col!="up") {col++}; col++ }
     /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;
     up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }
     for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}
    }
    END {
     printf("\n");
     printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");
     for (i in poollist) printf("--------"); printf("----------------\n");
     for (i in osdlist) { printf("osd.%i\t", i); sum=0;
     for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; poollist[j]+=array[i,j] }; printf("| %i\n",sum) }
     for (i in poollist) printf("--------"); printf("----------------\n");
     printf("SUM :\t"); for (i in poollist) printf("%s\t",poollist[i]); printf("|\n");
    }'
    

    Copy-paste should work directly.
    The sum at bottom of the table must match to (pg_num x size).

    You can find pg_num recommandations here :
    http://ceph.com/docs/master/rados/operations/placement-groups/

    Also, a pg_num Calculator is avaible here :
    http://ceph.com/pgcalc

    To view the number of pg per osd :
    http://cephnotes.ksperis.com/blog/2015/02/23/get-the-number-of-placement-groups-per-osd/

  • February 17, 2015
    Vote for Presentations: OpenStack Summit Vancouver 2015

    The next OpenStack summit is planed to take place in Vancouver from 18 – 22 May 2015. The  “Call for Speakers” ended last week. The vote for presentation period started today and will end 23. February, 23:00 UTC (00:00 CEST, 05:00 CST). This …

  • February 16, 2015
    OpenStack summit Vancouver talks: Ceph and OpenStack upgrades

    {% img center http://sebastien-han.fr/images/openstack-summit-vancouver.jpg OpenStack summit talks: Ceph and OpenStack upgrades %}

    Self promotion ahead 🙂
    For the next OpenStack summit I have submitted two talks.

    The first one is about Ceph and OpenS…

  • February 16, 2015
    Ceph Developer Summit: Infernalis

    Hey Cephers, it’s that time again…time for another Ceph Developer Summit! As Hammer winds its way through the maze of QA and release procedures we need to start looking forward to what will come with Infernalis (which is a cool lookin’ squid if you haven’t seen it yet). Blueprint submissions are now open for any …Read more

  • February 3, 2015
    v0.92 released

    This is the second-to-last chunk of new stuff before Hammer. Big items include additional checksums on OSD objects, proxied reads in the cache tier, image locking in RBD, optimized OSD Transaction and replication messages, and a big pile of RGW and MDS bug fixes. UPGRADING The experimental ‘keyvaluestore-dev’ OSD backend has been renamed ‘keyvaluestore’ (for …Read more

  • February 2, 2015
    CRUSHMAP : Example of a Hierarchical Cluster Map

    It is not always easy to know how to organize your data in the Crushmap, especially when trying to distribute the data geographically while separating different types of discs, eg SATA, SAS and SSD.
    Let’s see what we can imagine as Crushmap hiera…

Careers