[sheepdog] [RFC PATCH 0/3] Introduce a new journal mechanism

Liu Yuan namei.unix at gmail.com
Mon Nov 5 08:39:34 CET 2012


On 11/05/2012 03:22 PM, MORITA Kazutaka wrote:
> I'd like to have an option to enable O_DIRECT for backend I/Os even if
> journaling is enabled.  We want to save memory to run as many VMs as
> possible.
> 

I haven't test this scenario, I'd expect a performance degradation due
to extra journal write if we use external mode (around 20~40% I guess).
For internal mode, it would be even worse. I am not sure for this scene,
if journaling is really worth of it. But it is okay for us to provide an
option for it.

>> > ======================================================================
>> > Work remains:
>> >  Besides the code, I want to hear more comment on how the interface should be
>> >  programmed.
>> > 
>> >  I think of following interface:
>> >  -j internal,size=256 # which enables journaling and log updates on the same disk
>> >                         with the log device size 256M bytes
>> >  -j external=/path/to/directory # which enables journaling and log updates on
>> >                                   external device with the default size 512M
>> >  -j external=/path/to/directory,skip # like above but skip journal recovery at startup
> I have a patch in my queue to refine sheep command option handling
> like collie.  With the patch, sheep option syntax is as follows:
> 
>   -<ch> <name>[:<key>=<value>,<key>=<value>,....]
> 
> Key and value pairs are optional.  E.g.
> 
>   -p 7001
>   -c zookeeper:servers=xx.xx.xx.xx,yy.yy.yy.yy
>   -w object:size=100M,nopagecache=true
> 
> Can we use this syntax for journal options too?
> 
>   -j internal:size=256M
>   -j external:file=/path/to/directory
>   -j external:file=/path/to/directory,skip=true
> 

With a second thought, 'internal' and 'external' can be omitted.
    -j {dir=..., skip, size=...} is sufficient.

>> > 
>> >  I am not sure if we should enable journaling as default because this journaling run
>> > almost the same perf even as internal journal device.
> I think we should add this feature as an optional one at first.  I'd
> like to see how it works on my and other's environment before enabling
> it by default.

Looks okay to me.

Thanks,
Yuan



More information about the sheepdog mailing list