Code Search for Developers
 
 
  

README from GridBlocks at Krugle


Show README syntax highlighted

This is the readme for GridBlocks DISK release 1.0.

GB-DISK (Distributed Inexpensive Storage with K-availability) is a 
distributed storage application. It uses striping of files and 
erasure codes to provide reliable storage with low disk space overhead. 
A well known example of such a system is RAID-5 disk arrays, however,
with GB-DISK the redundancy factor (K) can be freely chosen. 
This enables aggregation heterogeneous and unreliable resources to 
form a highly-available storage service. Like other components of 
GB-framework DISK is implemented fully in Java language to enable 
running in almost any platform.

Full documentation is available on user-guide.pdf.

More information is available on the GridBlocks site:
http://gridblocks.sourceforge.net/disk.html

Current development tasks are listed in our JIRA:
http://opengrid.cern.ch:8080/jira/

----------------------------
Components
----------------------------

GB-DISK consists of 2 kind of servers, front-end (FE) and storage elements (SE). 
Storage elements are only used for storing files. The front-end
takes care of encoding stripes, transfering them to SEs and vice-versa.
The user connects to the front-end using a web browser or any WebDAV
client (such as GB-DISK client).

----------------------------
Requirements
----------------------------

Java SDK 1.5 is required.

----------------------------
Building from sources
----------------------------

To build GB-DISK you need either the source release or 'gb-disk' and 'builder'
modules from the sourceforge CVS. The builder module contains common files
of the GridBlocks build environment and is included in the source release.
The source release is just a normal JAR archive that can be extracted with command:
jar -xf gb-disk-src.jar

All releases are build with command:
sh build.sh release

Or in steps:
sh build.sh src-release
sh build.sh client-release
sh build.sh se-release
sh build.sh fe-release

-------------------------------
Starting up a test environment
-------------------------------

The front-end service is started with command:

    java -jar gb-disk-fe.jar 

By default the standalone HTTP server binds to port 8080. If it's already reserved 
or many GB-DISK services are started on the same host the port number have to be 
changed with additional parameter -Djetty.port=8080.

Storage elements are started with command:

    java -Djetty.port=8081 -jar gb-disk-se.jar
    java -Djetty.port=8082 -jar gb-disk-se.jar 

Servers use the current working directory for storing any temporary and permanent 
files. It is essential to not run many servers from the same directory since these 
files might conflict. GB-DISK config file is extracted into 
webapps/http_disk/WEB-INF/classes/gb-disk.conf and can be modifying to change 
coding parameters, protocol configurations etc. Modifications doesn't come into 
effect until the server is restarted.

The FE finds all storage elements automatically when they are run within
the same LAN. External servers can be configured manually in the config 
file.

-------------------------------
Using the client
-------------------------------

After FE and SEs are running files can be uploaded to front-end with WebDAV 
client or with ordinary web-browser. Alternatively, Gb-disk.jar can be used 
to transfer files from command prompt. The command line client supports 
following options:

    java -jar gb-disk.jar [put/get/delete/exists] [file name] [FE URL]

for example, to upload a file into the local FE, type:

    java -jar gb-disk.jar put test.file http://localhost:8080/gb-disk

Downloading is done with similar command.

    java -jar gb-disk.jar get test.file http://localhost:8080/gb-disk



See more files for this project here

GridBlocks

GridBlocks builds a grid application framework via easy-to-use building blocks in distributed environment. The framework offers components for Grid security, distributed storage, computing, and Portlet web interfaces.

Project homepage: http://sourceforge.net/projects/gridblocks
Programming language(s): Java,JSP,XML
License: other

  buildlib/
  ext/
    fec/
      LICENSE.onion
      fast-md5.jar
      onion-common.jar
    globus/
      cog-jglobus.jar
      cryptix-asn1.jar
      cryptix.jar
      cryptix32.jar
      puretls.jar
    jbosscache/
      javassist.jar
      jboss-aop-jdk50.jar
      jboss-cache-jdk50.jar
      jboss-dep.jar
      jboss-serialization.jar
      trove.jar
    jgroups/
      jgroups-core.jar
    slide/
      commons-codec-1.3.jar
      commons-collections-2.1.jar
      commons-io-1.1.jar
      commons-transaction-1.1.1pre1.jar
      commons-xmlio-0.1pre.jar
      ehcache-1.0.jar
      geronimo-jta.jar
      jakarta-slide-wck-1.0.jar
      jaxen-core.jar
      jaxen-jdom.jar
      poi-2.5-final-20040428.jar
      saxpath.jar
      slide-jaas-2.2pre1.jar
      slide-kernel-2.2pre1.jar
      slide-stores-2.2pre1.jar
      slide-webdavservlet-2.2pre1.jar
  lib/
    bcprov-jdk14.jar
    bsh-2.0b4.jar
    commons-fileupload-1.1.jar
    commons-httpclient-2.0.2.jar
    commons-logging.jar
    commons-net-1.4.0.jar
    concurrent.jar
    jakarta-slide-webdavlib-2.2pre1.jar
    jdom-1.0.jar
    log4j-1.2.9.jar
    oncrpc.jar
    servlet-api-2.5-6.0.1.jar
    simple-dht-client.jar
  src/
    docs/
      admin-guide.tex
      arch.pdf
      arch2.pdf
      gblogo_600.jpg
      simple-guide.pdf
      simple-guide.tex
      user-guide.tex
      webdav_mnp.pdf
      webdav_mount.pdf
      webdav_mount_address.pdf
      webdav_mounted.pdf
      webdav_open.pdf
      webdav_show.pdf
    etc/
      client/
        MANIFEST.MF
        gb-disk.conf
      fe/
        META-INF/
          gbinfo-service.xml
          gbinfo-tcp-service_xml
          gbinfo-udp-service_xml
        WEB-INF/
          classes/
          jboss-web.xml
      jgroups/
        gb-disk.conf
        mc-channel.xml
        nio-channel.xml
        tcp-channel.xml
      personal/
        WEB-INF/
        Domain.xml
      planetlab/
        MANIFEST.MF
        gb-disk.conf
      se/
        META-INF/
        WEB-INF/
        Domain.xml
      jboss-aop.xml
      log4j.xml
    fec/
      com/
    main/
      fi/
    resources/
      jetty/
      gblogo_330.jpg
    test/
      fi/
  .classpath
  .project
  Build.bat
  CHANGES
  README
  build.sh
  build.xml
  disk.bat
  disk.bsh
  disk.sh
  module.properties