[sheepdog-users] device priority by performance and number of accesses

Liu Yuan namei.unix at gmail.com
Thu Jun 6 10:36:59 CEST 2013


On 06/06/2013 12:11 AM, Valerio Pachera wrote:
> When sheep writes on multi device is writes like raid 0.
> This should give us very good performance.
> 
> I read a bit about http://sourceforge.net/projects/tier/.
> The idea behind it is to write the most accessed chunks in the faster devices.
> 
> In case we have a server with some mechanical disks and one or more
> ssd this approach may raise performance even more.
> The idea may be implement in later versions of sheepdog if you think
> it worth it.
> 
> I was discussing with Alessandro how to get the best out from some ssd
> we have and wish to use into the cluster.
> Using 250G of disk for cache is even too much  and may lead to trouble
> when it's time to flush it.
> 
> What do you think about it?

Object cache is the best place for faster device like SSD. It caches the
objects in a LRU manner, so if a reclaim is triggered(90% space is
used), the least recently used objects will be evicted out of cache.

We have a dirty list per vdi to track the objects that are out of sync
with their backend counterparts. The 'FLUSH' request from VM will put
these dirty objects sync with backend. More importantly, FLUSH request
from VM is a pretty frequent operation if VM is doing IO.

For e.g,

dd if=/dev/zero of=test count=100 bs=4M oflag=direct

will trigger several flush requests sending from VM to sheep daemon,
even though we don't sync(1) explicitly at all. In my case, it actually
triggered *2* FLUSH requests just after dd finished. (VM running ubuntu
server 12.04, sheepdog vdi as ext4 file system). You can check it by
type 'sync' just after several minutes, 'sync' will return instantly
telling that nothing to flush at all.

Thanks,
Yuan



More information about the sheepdog-users mailing list