devzero | 2 Dec 2007 15:10
Picon

NILFS - is this "CDP" ?

Hi !

i came across NILFS some time ago and it looks very interesting.

while reading trough the website, i have sort of a deja-vu :)

is the "continuous snapshotting" feature NILFS offers comparable to what storage vendors often call CDP
or "Continuous Data Protection", i.e. you can go back to any point in time of your data?

if not, what is the difference to CDP ?

regards
roland
sysadmin
_____________________________________________________________________
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=000000000066
Sivan Toledo | 11 Dec 2007 19:59
Picon

A question about segment sizes and alignment

Hi,

I have a few questions that I have not been able to figure out from
reading the NILFS papers and from a quick look at the code.

What is the segment size that NILFS uses?
Is it possible to tune the segment size, perhaps by changing constants
in .h files?
Are the segments aligned in the address space of the block device?
That is, if each segment is 1MB, say, do the first one start in
address 0 of the block device, the second in address 2^20, the third
in address 2*2^20, the fourth in 3*2^20, and so on, or are they
misaligned because of the superblock and the segment usage chunks, so
they don't always start on a 1MB boundary.

Thanks, Sivan Toledo
amagai | 12 Dec 2007 09:23

Re: NILFS - is this "CDP" ?

Hi,

> is the "continuous snapshotting" feature NILFS offers comparable to
> what storage vendors often call CDP or "Continuous Data Protection",
> i.e. you can go back to any point in time of your data?

One of important purpose of NILFS is protection user data from 
user's mis-operations,  such as unexpected 'rm *' or file over written.
It's just CDP.

The word 'CDP' is used in many context, so I refer following
SNIA definition in my reply.  From point of the definition,
I copmare NILFS with CDP, 

> 1. Data changes are continuously captured or tracked. 
Yes, NILFS make checkpoint automatically and continuously.

> 2. All data changes are stored in a separate location from the primary
    storage
No, NILFS store data on single disk storage in LFS mannger,
there are no additional data transfer for checkpointing.

> 3. Recovery point objectives are arbitrary and need not be defined in
     advance of the actual recovery.
Yes. 

I hope this helps you.

Amagai Yoshiji

(Continue reading)

amagai | 12 Dec 2007 09:30

Re: A question about segment sizes and alignment

Hi,

> What is the segment size that NILFS uses?
> Is it possible to tune the segment size, perhaps by changing constants

You can specify the segmnent size by mkfs.nilfs2 -c and -B options.
mkfs.nilfs2 [-b block-size] [-B blocks-per-segment] ... 

Default are:  block-size == 4096 (byte), blocks-per-segment == 2048,
so, default segment size is 8Mbyte.
(They are coded in util/sbin/mkfs/mkfs.h)

> Are the segments aligned in the address space of the block device?
> That is, if each segment is 1MB, say, do the first one start in

Yes. So, user usable data blocks of the first segment may be some blocks
shorter for boot block and super blocks.

Amagai Yoshiji

NILFS team, NTT
http://www.nilfs.org/
Pierre Etchemaite | 12 Dec 2007 11:45

Unknown symbol __umoddi3 / ... __udivdi3

    Hello all,

First, I believe log based filesystems are the future; Not only for 
snapshot feature, but also because they can give superior performance 
(vs. standard filesystems) on modern disks, cf

http://citeseer.ist.psu.edu/694627.html

for a very interesting performance analysis.

Now, back to more down-to-earth considerations :)
I'd like to give the nilfs 2.0.0-testing7 release a try with linux 
kernel 2.6.23, but I can't load the kernel module; dmesg says

nilfs2: Unknown symbol __umoddi3
nilfs2: Unknown symbol __udivdi3
nilfs2: Unknown symbol __umoddi3
nilfs2: Unknown symbol __udivdi3
nilfs2: Unknown symbol __umoddi3
nilfs2: Unknown symbol __udivdi3

CPU is an AMD64 but used in 32 bit mode, and it seems that 64 bit 
divisions are a problem for 32 bit kernels :/
Any idea how to get around that? (using asm/div64.h?)

Best regards,
Pierre.
Sivan Toledo | 12 Dec 2007 14:18
Picon
Picon
Favicon

Re: A question about segment sizes and alignment

Many thanks. Sivan

On 12/12/07, amagai@... <amagai@...> wrote:
> Hi,
>
> > What is the segment size that NILFS uses?
> > Is it possible to tune the segment size, perhaps by changing constants
>
> You can specify the segmnent size by mkfs.nilfs2 -c and -B options.
> mkfs.nilfs2 [-b block-size] [-B blocks-per-segment] ...
>
> Default are:  block-size == 4096 (byte), blocks-per-segment == 2048,
> so, default segment size is 8Mbyte.
> (They are coded in util/sbin/mkfs/mkfs.h)
>
> > Are the segments aligned in the address space of the block device?
> > That is, if each segment is 1MB, say, do the first one start in
>
> Yes. So, user usable data blocks of the first segment may be some blocks
> shorter for boot block and super blocks.
>
> Amagai Yoshiji
>
> NILFS team, NTT
> http://www.nilfs.org/
> _______________________________________________
> users mailing list
> users@...
> https://www.nilfs.org/mailman/listinfo/users
>
(Continue reading)

Ryusuke Konishi | 27 Dec 2007 10:32

NILFS 2.0.0-testing-8 release

Dear NILFS users,

We have decided to release one more -testing version,
NILFS 2.0.0-testing-8.

It fixes a few timing problems, a dead lock problem,
memory allocation failures, and so forth.
These fixes improve the stability further.

The updated package can be found at:
http://www.nilfs.org/en/download.html

Thanks,
Ryusuke Konishi
--

-- 
NILFS Team, NTT Labs.
nilfs@...

Gmane