User Guide
The following procedures were verified in the CentOS 5 and Eucalyptus 2.0.2.
INSTALL PREREQUISITE
It requires library development files from SQLite3 and OpenSSL. Also it needs daemonize-like command.
For Ubuntu, you may install the requirement by:
sudo apt-get install libsqlite3-dev libssl-dev daemon
sudo apt-get install g++-multilib # used by vs_core to output 32-bit binary
For CentOS/Fedora system, you may install the requirement by:
yum install sqlite-devel openssl-devel daemonize
yum install glibc-devel.i386 # used by vs_core to output 32-bit binary
PATCHING EUCALYPTUS PROCEDUCE FOR COMPUTING NODE
It is necessary to patch and recompile Eucalyptus before using CloudVS. This patch (vs_storage.patch) is against Eucalyptus 2.0.2.
To apply the patch, please prepare the source code of Eucalyptus according to
http://open.eucalyptus.com/wiki/EucalyptusInstallationSource_v2.0
cd $UNTAR_PREFIX/eucalyptus-2.0.2/node/
patch -p1 < CLOUDVS_PATH/euca_patch/vs_storage.patch
PRE-CONFIGURE EUCALYPTUS FOR STORAGE NODE
Given the storage node is also installed with manually-compiled version of Eucalyptus
After compilation of Eucalyptus,
cd $UNTAR_PREFIX/eucalyptus-2.0.2/cluster/
patch -p1 < CLOUDVS_PATH/euca_patch/getuserdata.patch
make
cp -a CCclient_full /usr/bin/
Also, make sure the self-compiled library is in the dynamic linked library path by creating /etc/ld.so.conf.d/axis2c.conf:
echo /opt/eucalyptus/packages/axis2c-1.6.0/lib > /etc/ld.so.conf.d/axis2c.conf
echo /opt/eucalyptus/packages/axis2c-1.6.0/modules/rampart >> /etc/ld.so.conf.d/axis2c.conf
ldconfig
CloudVS needs the private key from cloud controller in order to retrive the information of running instance:
scp <<CLOUD_NODE>>:<<EUCA_PREFIX>>/var/lib/eucalyptus/keys/cloud-pk.pem \
<<STORAGE_NODE>>:<<EUCA_PREFIX>>/var/lib/eucalyptus/keys/
INSTALL PROCEDUCE
To install qdelta, which is our developed tools to do delta-encoding using the different schemes:
cd qdelta
make 4096f # it means 4K bytes fixed chunking is used, which is our paper setting
make install
To install CloudVS daemon (located at storage node):
cd vs_daemon
make
make install_server
cd ../vs_core
make
make install
And need to correct the setting of AXIS2C_HOME environment varible in /etc/init.d/cloudvsd
export AXIS2C_HOME=/opt/eucalyptus/packages/axis2c-1.6.0
To install CloudVS client (located at client node):
cd vs_daemon
make
make install_client
(OPTIONAL) INSTALL FALLOCATE FOR SPEEDUP
The patch enables the use of pre-allocation in ext4 which boost the efficency of space allocation in VM preparing process.
However, the coresponding tool is not included in the default CentOS 5 installation. The installation are as follows:
wget http://ftp.ntu.edu.tw/linux/utils/util-linux/v2.17/util-linux-ng-2.17.2.tar.gz
tar xzf util-linux-ng-2.17.2.tar.gz
cd util-linux-ng-2.17.2
./configure --without-ncurses
cd sys-utils/
make fallocate
cp -a fallocate /usr/bin/
USAGE
To start the CloudVS service:
/etc/init.d/cloudvsd start
To stop the CloudVS service:
/etc/init.d/cloudvsd stop
To restart the CloudVS service:
/etc/init.d/cloudvsd restart
To query the status of CloudVS service:
/etc/init.d/cloudvsd status
To start a specific version, do normal startup with embeded user-data option (-d xxx for euca-run-instances), for example:
euca-run-instances -k mykey emi-EDF914AC -t m1.large -n 2 -d 1317216353720013
Webpage Design originally from Minimalistic Design