ceph/ceph
sageweil 1c9cb9c967 exchange load (qlen) info
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@986 29311d96-e01e-0410-9327-a35deaab8ce9
2006-12-07 19:17:28 +00:00
..
client testing osd revision 2006-12-07 19:07:52 +00:00
common mds restructuring; 2006-10-24 16:55:51 +00:00
crush improved support for forcing the first element of a crush result 2006-12-06 21:04:15 +00:00
doc *** empty log message *** 2006-02-20 05:15:16 +00:00
ebofs better revision picking logic 2006-12-07 19:08:09 +00:00
include rev in ObjectExtent 2006-12-07 19:07:19 +00:00
jobs better! 2006-09-15 23:57:33 +00:00
mds tons of mds recovery stuffs 2006-11-21 00:15:25 +00:00
messages exchange load (qlen) info 2006-12-07 19:17:28 +00:00
mon don't test osdmap using old pg_t 2006-12-06 21:04:28 +00:00
msg mds restructuring; 2006-10-24 16:55:51 +00:00
osd object revisions; 2006-12-07 19:11:58 +00:00
osdc object revisions; 2006-12-07 19:11:58 +00:00
script tab cleanup; 2006-10-05 05:39:29 +00:00
test new buffer.h; 2006-10-19 17:45:03 +00:00
cfuse.cc new buffer.h; 2006-10-19 17:45:03 +00:00
config.cc osd_balance_reads 2006-12-07 19:08:24 +00:00
config.h osd_balance_reads 2006-12-07 19:08:24 +00:00
COPYING git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@908 29311d96-e01e-0410-9327-a35deaab8ce9 2006-10-03 22:52:29 +00:00
cosd.cc new buffer.h; 2006-10-19 17:45:03 +00:00
fakefuse.cc anchortable separated out anchorclient; 2006-10-12 23:20:18 +00:00
fakemon.cc tab cleanup; 2006-10-05 05:39:29 +00:00
fakesyn.cc other binaries working. minor mon tweaks. 2006-10-05 06:05:52 +00:00
Makefile tons of mds recovery stuffs 2006-11-21 00:15:25 +00:00
newsyn.cc new buffer.h; 2006-10-19 17:45:03 +00:00
README
tcpfuse.cc tab cleanup; 2006-10-05 05:39:29 +00:00
tcpsyn.cc tab cleanup; 2006-10-05 05:39:29 +00:00
TODO ebofs buffercache changes to fix behavior of clones. 2006-12-01 21:44:02 +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