CephNotes

Some notes about Ceph
Laurent Barbe @SIB

Erasure code on small clusters

Erasure code is rather designed for clusters with a sufficient size. However if you want to use it with a small amount of hosts you can also adapt the crushmap for a better matching distribution to your need.

Here a first example for distributing data with 1 host OR 2 …

Change log level on the fly to Ceph daemons

Aaahhh full disk this morning. Sometimes the logs can go crazy, and the files can quickly reach several gigabytes.

Show debug option (on host) :

# Look at log file
tail -n 1000 /var/log/ceph/ceph-osd.33.log

# Check debug levels
ceph daemon osd.33 config show | grep '"debug_'
    "debug_none …

Main new features in the latest versions of ceph

It's always pleasant to see how fast new features appear in Ceph. :)

Here is a non-exhaustive list of some of theme on the latest releases :

Kraken (October 2016)

  • BlueStore declared as stable
  • AsyncMessenger
  • RGW : metadata indexing via Elasticseasrch, index resharding, compression
  • S3 bucket lifecycle API, RGW Export NFS version 3 …

Check OSD version

Occasionally it may be useful to check the version of the OSD on the entire cluster :

ceph tell osd.* version
osd.0: {
    "version": "ceph version 0.94.5-224-g4051bc2 (4051bc2a5e4313ac0f6236d7a34ed5fb4a1d9ea2)"
}
osd.1: {
    "version": "ceph version 0.94.5-224-g4051bc2 (4051bc2a5e4313ac0f6236d7a34ed5fb4a1d9ea2)"
}
osd.2: {
    "version": "ceph version 0.94.5-224-g4051bc2 (4051bc2a5e4313ac0f6236d7a34ed5fb4a1d9ea2)"
}
osd.3: {
    "version …