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 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