Coda File System

Organization of reliable file server with Coda.

From: Igor Yu. Zhbanov <>
Date: Sat, 31 Jul 2004 18:45:18 +0400 (MSD)
I am new to Coda and I would like to see your advice how to solve
following task.

There are two Linux file servers: master and reserve. We need to store about
180 GB of data in about of 130000 files. Also there are about 10 - 15 Windows

The current idea is to create Coda file system on Linux servers and make
(probably read-only) replication from master server to reserve server.
On master server Samba server will be running over /coda directory. So Windows
clients can easily use ordinary network drives to access to shared files.
(They want to use network drives rather Coda mounts in windows).

Since we have all files replicated on reserve server, when main server crashes,
we can easily reconfigure reserve server (shutdown crashed main server, change
reserve server's IP-address, run Samba on reserve server). So reserve server
will act as a main server. All users will reconnect theirs network drives and
continue work as normal (except of that changes files was open during crash
will be not be replicated, since replication in Coda, as I know, is done after
file was closed). And while users work with reserve server, we have a time to
repair the main server.

Also we want nightly incremental backups to be sure we can restore files that
were accidentally deleted.

Now I have questions. :-)

1) Is it possible? What is good and what is bad?

2) Is coda transfers the whole changed file from server to server? I mean if
   I will change 1 byte of 100 MB file will Coda transfer 100 MB or just few
   bytes? And is it possible to use another transfer means (such as rsync
   [] which transfers only difference between files).

3) Is Coda capable to store 180 GB of data on single machine? Should data
   partition be splitted into smaller partitions?

4) As I know RVM data is about of 4% of total data size. So, in our case RVM
   data will be 7.2 GB. Can we run Coda on a machine with 1 GB of system
   memory? (I hope, Coda does not need ALL RVM data to be resided in memory?)

5) Should we use read-only replication from main server to reserve server,
   since no one will touch files on reserve server until the main server

6) In the case of main server crash, the main server (SCM) will be
   disconnected from network and reserve server will be "renamed" to main.
   And again Samba server is running on top of /coda directory. But can
   reserve coda server function when SCM server is shut down? Or should I make
   our main server to be an ordinary Coda server and reserve server to be SCM
   Coda server?

7) Does Coda backup utilities stores changed file in incremental backup as a 
   whole or changes from previous version only? Can we make backup by backing
   up /vice and /vicepa directories directly by third-party utilities (such as
   rsync)? Should we stop Coda processes first? Can we dump data when Coda
   processes are running but no one file is open? (E.g. at night when Windows
   clients are shut down.)

8) Ideally we need a script that keeps one week old full backup and 6
   incremental backups. And when it adds one more incremental backup, it first
   merges full backup with oldest incremental backup and remove unneeded one.
   So we always have 1 full and 6 incremental dumps for the last 7 days. Can
   we make this with your utilities or we need to write own?

Thank you for your advance!
Received on 2004-07-31 10:47:41