The Ceph project is always looking for more participants. If you are interested in using Ceph, or contributing to its development, please join our mailing list and drop us a line.
svn co https://svn.sourceforge.net/svnroot/cephThe rest works essentially the same as CVS, but with svn instead of cvs.
svn co https://svn.sourceforge.net/svnroot/ceph cd ~/ceph/ceph make
mkdir log
mkdir dev ln -s /dev/sda3 dev/osd.all # all nodes use /dev/sda3 ln -s /dev/sda4 dev/osd0 # except osd0, which should use /dev/sd4These need not be "real" devices--they can be regular files too. To get going with fakesyn, for example,
# create small "disks" for osd0-osd3 for f in 0 1 2 3; do # fakesyn defaults is 4 OSDs dd if=/dev/zero of=dev/osd$f bs=1048576 count=1024 # 1 GB each doneNote that if your home/working directory is mounted via NFS, you'll want to symlink dev/ to a directory on a local disk.
make fakesyn && ./fakesyn --mkfs --osd_pg_bits 4 --debug_ms 1 --debug_client 3 --syn rw 1 100000 # where those options mean: # --mkfs # start with a fresh file system # --osd_pg_bits 4 # we only need a few PGs (we don't care about load balancing) # --debug_ms 1 # show message delivery # --debug_client 3 # show limited client stuff # --syn rw 1 100000 # write 1GB to a file in 100,000 byte chunks, then read it backThe full set of command line arguments can be found in config.cc.
Application | |||||
kernel | |||||
Application | FUSE glue | ||||
Client | MDS | ||||
Filer | ObjectCacher | MDLog | MDStore | ||
Objecter | |||||
(message layer) | |||||
OSD | |||||
ObjectStore | |||||
EBOFS | FakeStore | ||||
BlockDevice | |||||
Kernel POSIX interface | |||||
Key: | Network | Entity | Lib/module | Abstract interface | Kernel |