Personal tools
You are here: Home Documentation Archive documentation Installation Guide 0.7.4

Installation Guide 0.7.4

Release 0.7.4

October 16, 2007

Installing dsNet

1. Requirements
2. Installing the
dsNet RPM
3. Removing the
dsNet RPM

dsNet Configuration

1. Configuring the Slicestors and iSCSI Target
2. Configuring PAM
3. Configuring Log4j
4. Configuring the Wrapper Library
5.
dsNet Library Configuration File

Installing dsNet

1. Requirements

  • Number of machines:
You can run the Slicestors, the iSCSI Target, and iSCSI initiator in one machine for the purpose of evaluation. A production environment should have one machine for the iSCSI Target, another machine for the iSCSI initiator, and as many machines for individual Slicestors depending on your dsNet width.
  • Disk Space:
Make sure you have approximately 40 MB of temporary free disk space available.  After installation, dsNet occupies approximately 20 MB of disk space, including dependencies. You must have as much disk space on the Slicestors to meet your storage requirements.
  • Processor and Memory:
The software has only been tested on the 32-bit architecture. It is recommended that you use a Pentium 4 or higher CPU and at least 256MB of memory for each of the iSCSI Target and Slicestor machines.
  • Operating System:
Currently the only operating system supported is CentOS 5.0. Install a basic CentOS 5.0 system on each Slicestor. Basic functionality including networking tools should be present. Ensure that network interface settings (IP addresses, DNS server and hostname) are configured properly.
  • Java Runtime Environment (JRE):
We currently only support Sun's JRE 5.0. Sun provides an RPM that can be used to install the JRE and can be obtained at:
 http://java.sun.com/javase/downloads/index_jdk5.jsp  
NOTE: Make sure that your environment finds Sun's Java binaries before any other implementations (for example GCJ) by editing '/etc/profile.d/java-jre.sh' or a similar file with the following options:
export JAVA_HOME=/usr/java/jre1.5.0_1
export PATH=$JAVA_HOME/bin:$PATH
You'll need to reload this file if you want to make use of these variables in your current session (for example by issuing 'source /etc/profile.d/java-jre.sh'). Make this file executable and the variables will be exported automatically on future sessions.
  • Pluggable Authentication Modules for Linux:
Ensure that the Pluggable Authentication Modules for Linux (Linux-PAM) as well as pam_unix.so and pam_succeed_if.so modules are installed. Most modern Linux distributions have these modules by default and are usually located on the '/lib/security/' directory. You can use the 'locate' command to make sure that this modules are installed on your system. For more information on Linux-PAM visit:
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/
  • Open iSCSI:
The iSCSI initiator will allow you to connect to the dsNet iSCSI Target. You can download and install on open source version for Linux from the Open iSCSI project at:
http://www.open-iscsi.org
or directly from a yum repository by issuing: 'yum install iscsi-initiator-utils'. We have tested our software with version 2.0 of this software. The initiator should be installed on the computer which contains the files you will upload data from.

2. Installing the dsNet RPM

 You can download the latest rpm version of the dsNet software from
http://sourceforge.net/projects/cleversafe/
and install it with:
rpm -ivh dsgrid-<latest>-0.i386.rpm
Where <latest> is the version of the software you downloaded above. You
need to install this rpm on the machines that will run the iSCSI Target and Slicestors. You will need to have root privileges to install the rpm.

3. Removing the dsNet RPM

You should stop the dsgrid-server or dsgrid-iscsi processes if they are running prior to removing the software. To remove the dsNet package issue the following command:
rpm -e dsgrid
NOTE: Files created after rpm installation will not be removed. For example, account credentials and the Java Key Store (JKS) files at '/etc/dsgrid/accounts/' and the vault descriptor and Account Control List files at '/etc/dsgrid/vault/' will not be removed.

On the Slicestors, any files created as a result of backing data will not be removed. For example, any files created under '/var/dsgrid/' will not be removed.

dsNet Configuration

1. Configuring the Slicestors and iSCSI Target

The Slicestor uses two configuration files. One is a simple text file for administrator-oriented configuration options located at
/etc/dsgrid/dsgrid-server.conf
the other is an XML-based file for more low-level and developer-oriented options located at
/etc/dsgrid/slice-server.xml
The iSCSI Target uses one text file located at
/etc/dsgrid/dsgrid-iscsi.conf
Detailed information about the parameters that can be configured with this files can be found on the files directly in the form of comments.

2. Configuring PAM    

One of the authentication options for JAAS that dsNet supports is the Pluggable Authentication Module (PAM) framework. PAM can be used by applications like SSH and Samba for authentication. It makes use of policy files to provide authentication for the applications that make use of it. These policy files are located on the '/etc/pam.d/' directory and dsNet's one can be found at:
/etc/pam.d/dsgrid-server   
NOTE: An administrator will want to modify this file to conform to her organization's authentication needs. For example, by specifying the organization's group(s) that must be granted authentication.
 
The original PAM RFC can be found at:
http://www.kernel.org/pub/linux/libs/pam/pre/doc/rfc86.0.txt.gz 
More information about PAM and how to configure it can be obtained from:
http://www.kernel.org/pub/linux/libs/pam/

3. Configuring Log4j  

The dsNet software uses the Log4j package for logging. Configuration for Log4j is done through the following configuration files:
/usr/share/dsgrid/conf/log4j.xml
/etc/dsgrid/logging/log4j-server.xml
/etc/dsgrid/logging/log4j-iscsi.xml      
The first log4j configuration file is used by dsgrid-create-account and dsgrid-create-vault.

The logging level, format pattern, and output location can be specified through this file. For example, '/etc/dsgrid/logging/log4j-server.xml' specifies that logs should be created in the '/var/log/dsgrid/' directory.
     
NOTE: Log4j is extensibly configurable and more information about this project can found at: http://logging.apache.org/log4j/

4. Configuring the Wrapper Library       

dsNet makes use of the Java Service Wrapper project for daemonization. This library can be configured by the following files:
/usr/share/dsgrid/conf/wrapper-server.conf
/usr/share/dsgrid/conf/wrapper-iscsi.conf      
Normally, you should not need to change these files. But in exceptional circumstances, for example when wanting to have more than one slicestor on a single machine, you can modify them as explained below:
  • Running more than one Slicestor on one machine
NOTE

: This feature is unsupported but can be use testing purposes. In production you should be running individual slice server per machine.

    

Running multiple slice servers can be enabled by changing the following parameter in /usr/share/dsgrid/conf/wrapper-server.conf:

wrapper.java.additional.<n>=-Dorg.cleversafe.storage.ss.xml.configuration=/etc/dsgrid

Instead of:

wrapper.java.additional.<n>=-Dorg.cleversafe.storage.ss.xml.configuration=/etc/dsgrid/slice-server.xml

And add the following parameter:

wrapper.java.additional.<n>=-Dorg.cleversafe.ss.test.servercount=8

Where <n> is the next in the list of parameters.

You also need to create multiple instances of the slice-server configuration file, for example for 8 slice servers you will need to create eight Slice servers by copying the slice-server.xml into:

            /etc/dsgrid/slice-server-1.xml
                        .
                        .
                        .
            /etc/dsgrid/slice-server-8.xml

You need to edit these files and change the location of the stores and descriptors in three places on each of them.

 

This will run the Slicestors on ports 5001 through 5008 instead of 5000 for a single Slicestor.
    
More information about the Java Service Wrapper project can be obtained at: 
http://wrapper.tanukisoftware.org/

 5. dsNet Library Configuration File

This file contains information about the different supported implementations for IDA, connection type, etc. For example, it specifies the types of integrity checks, the slice store types, or information dispersal algorithms available for configuration.
/usr/share/dsgrid/conf/dsgrid-library-configuration.xml    
NOTE: This file is not intended to be changed by an administrator. Only developers should modify this file to include new functionality.