ceph/ceph
sage acb5ca6caf *** empty log message ***
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@368 29311d96-e01e-0410-9327-a35deaab8ce9
2005-06-30 02:43:32 +00:00
..
client *** empty log message *** 2005-06-30 02:43:32 +00:00
common *** empty log message *** 2005-06-28 16:28:24 +00:00
doc *** empty log message *** 2005-05-24 21:07:31 +00:00
include *** empty log message *** 2005-06-29 06:36:41 +00:00
mds *** empty log message *** 2005-06-28 20:51:41 +00:00
messages *** empty log message *** 2005-06-28 19:48:36 +00:00
msg *** empty log message *** 2005-06-29 07:02:16 +00:00
osd hex filenames! 2005-06-29 07:23:28 +00:00
osdc file layout policies 2005-06-28 05:50:23 +00:00
script fixed Context destructor snafu; Messenger serializes itself (no more CheesySerialize) 2005-06-27 07:14:40 +00:00
test tcp messenger! 2005-06-16 14:52:37 +00:00
config.cc *** empty log message *** 2005-06-29 02:29:01 +00:00
config.h *** empty log message *** 2005-06-28 16:28:24 +00:00
fakefuse.cc fixed Context destructor snafu; Messenger serializes itself (no more CheesySerialize) 2005-06-27 07:14:40 +00:00
fakesyn.cc fixed Context destructor snafu; Messenger serializes itself (no more CheesySerialize) 2005-06-27 07:14:40 +00:00
Makefile *** empty log message *** 2005-06-29 06:36:41 +00:00
README *** empty log message *** 2004-08-25 21:16:25 +00:00
tcpfuse.cc fixed Context destructor snafu; Messenger serializes itself (no more CheesySerialize) 2005-06-27 07:14:40 +00:00
tcpsyn.cc *** empty log message *** 2005-06-28 20:51:41 +00:00
TODO *** empty log message *** 2005-06-15 19:58:26 +00:00

pmds = parallel metadata server/system

'test' is a standalone proccess that runs all clients, OSDs, and MDSs
in a single process with a basic message passer (FakeMessenger).
Useful for debugging.

'pmds' uses MPI for communication.

'import' builds a metadata store on ./osddata/ by taking find output
from stdin.  Make sure find is run from the current directory so that
import can stat the files it's fed.  The find root becomes the file
system root; feel free to use relative paths.

This is all GPL, etc.


Getting started:

 1- Comment out the LEAKTRACER= line in the Makefile if you don't have
    LeakTracer installed (you probably don't).
 
 2- make (test and import targets are testing ones; pmds uses MPI)

 3- Build an OSD metadata store:
      # mkdir osddata
      # find /some/big/dir | ./import root

 4- Single proc sim:
      # ./test
    or more likely,
      # ./test > out

 5- Change parameters in config.cc.

 6- If you want stats logged, mkdir log (make sure you have enough
    file handles; there's one open file per client).


Notes on pmds (MPI version):

 - On mcr/alc I have to 
     # setenv LD_LIBRARY_PATH /usr/lib/mpi/mpi_gnu/lib
   for the GNU runtime MPI libs (otherwise you get the Intel ones,
   which segfault).

 - Each MDS and OSD gets its own node.  Clients are divided over
   whatever is left over.  So make sure you tell MPI to give you at
   least num_mds+num_osd+1 processes (num_mds etc defined in
   config.cc).



2004.08.25 sage@newdream.net