C Sébastien Han

Stacker! Cepher! What's next?

Ceph and KRBD Discard

| Comments

Space reclamation mechanism for the Kernel RBD module. Having this kind of support is really crucial for operators and ease your capacity planing. RBD images are sparse, thus size after creation is equal to 0 MB. The main issue with sparse images is that images grow to eventually reach their entire size. The thing is Ceph doesn’t know anything that this happening on top of that block especially if you have a filesystem. You can easily write the entire filesystem and then delete everything, Ceph will still believe that the block is fully used and will keep that metric. However thanks to the discard support on the block device, the filesystem can send discard flush commands to the block. In the end, the storage will free up blocks.

OpenStack: Disable a Compute Node During Its First Bootstrap

| Comments

For operationnal reasons, you might not want to automatically make your compute node available. With the following flag, during its first bootstrap the compute node will register itself to the service list. However it will be disabled, so virtual machines can not be scheduled on it:

enable_new_services=False

Ceph Reset Perf Counter

| Comments

OSD performance counters tend to stack up and sometimes the value shown is not really representative of the current environment. Thus it is quite useful to reset the counters to get the last values. This feature was added in the Ceph 0.90, so you must wait for the Hammer release.

This action can be triggered via the admin socket:

1
$ sudo ceph daemon osd.0 perf reset

Fix Nova-scheduler Issue With RBD and UUID Not Found

| Comments

While playing with Ceph on DevStack I noticed that after several rebuild I ended up with the following error from nova-scheduler:

Secret not found: rbd no secret matches uuid '3092b632-4e9f-40ca-9430-bbf60cefae36'

Actually this error is reported by libvirt itself which somehow keeps the secret in-memory (I believe) even when a new virsh secret is applied. The only solution I have found so far to this issue is to restart libvirt:

1
$ sudo service libvirt-bin restart

2014 Retrospective

| Comments

I am a little bit late for this retrospective but holiday season was full of good things and I was really disconnected. I spent 2 amazing weeks in South Africa with my girlfriend, see post picture :). 2014 was really exciting, many things happened and just like last year it’s time to summarise the content of 2014.