This write-up would make an excellent wiki page, "File System
Comparison" perhaps. Erik's additional notes should probably be
included, or perhaps put in a separate kenfs page. I could make the
pages if desired.
On 13 Aug 2010, at 5:31 pm, Steve Simon wrote:
kfs is a simple, non-backed up filesystem designed for stand alone
machines
kenfs is the older main file server, it runs stand alone on a
single machine
and can use either magnetic disks or WORM disks and provides access
to previous
backups online. it supports a narrower range of hardware than the
maion kernel
but has its fans due to its simplicity and reliability.
cwfs is n implemention of kenfs as a user program for plan9, it can
read and write kenfs
filesystems and can be used as the main filesystem for a system to
boot from (and then serve).
fossil is a write buffer which acts as a file system and can be
used to replace kfs
on simple machines (laptops), it can take regular temporary
snapshots of the system state and
present them as backups (e.g. every 15 mins), though sadly this
part of the code seems to be
broken.
Most often fossil is used in conjunction with venti which provides
permenant
online backups. venti works a bit like the back end of kenfs except
that it adds
a network interface (so other apps and OSs can access venti) and it
does compression
before storing blocks.
both kenfs and venti strip duplicate blocks so as to reduce the
size of their backups,
venti detects duplicates using an sha1 checksum so copying files on
a venti backed
has almost no overhead (i.e. only the directory entries).
I run two combined file/cpu/auth servers with fossil and venti on
both, others run
kenfs on a dedicated machine and still others run cwfs on a file/
cpu/auth server.
its a complex debate and I'am sure others will have opinions.
see here for some more info:
kenfs:
http://plan9.bell-labs.com/sys/doc/fs/fs.pdf
http://plan9.bell-labs.com/who/seanq/cw.pdf
http://plan9.bell-labs.com/magic/man2html/4/fs
venti
http://plan9.bell-labs.com/sys/doc/venti/venti.pdf
http://plan9.bell-labs.com/magic/man2html/8/venti
fossil:
http://plan9.bell-labs.com/sys/doc/fossil.pdf
http://plan9.bell-labs.com/magic/man2html/4/fossil
cwfs:
http://plan9.bell-labs.com/magic/man2html/4/cwfs
kfs:
http://plan9.bell-labs.com/magic/man2html/4/kfs
-Steve