Hi,

While thinking about the new features for RBD in 4.2 I've stumpled upon something.

RBD knows something like 'writeback caching' [0] and is enabled by adding rbd_cache=1 to the disk.

<disk>
 <source protocol='rbd' name='cloudstack/uuid'>
  <host name='monitor.ceph.XXX.nl' port='6789'/>
 </source>
</disk>

Now, if I want to enable RBD caching I'd do:

<disk>
 <source protocol='rbd' name='cloudstack/uuid:rbd_cache=1'>
  <host name='monitor.ceph.XXX.nl' port='6789'/>
 </source>
</disk>

One could say that I'd enable RBD caching, but there could be use cases where one would prefer data consistency over performance.

Now this is an example for RBD, but it also goes for QCOW2:

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2' cache='none'/>
</disk>

The cache[1] here can be set to writeback, writethrough or none. Depending on the use-case some people also might want to use write-back caching here.

Now, I'm just taking caching examples here, but it could also be that other SANs in the future want other custom properties, we never know.

I'm not so familiar with Xen and VMware, but maybe you also have some settings you want to control there?

I'd like to be able to set these settings per disk offering if possible, but otherwise it could be done per pool.

Going through the new storage subsystem I haven't been able to find anything that fits the needs here.

Ideas?

Wido

Reply via email to