Installing Mono on a Rocks Cluster

From BeSTGRID

Jump to: navigation, search

[edit] Introduction

Mono allows the execution of .NET applications on Linux, and for grid computing this allows the development of .NET 4.0 (with Mono 2.8) console applications to be run on a Rocks cluster. This procedure will allow the execution of .NET console applications written in either C# or Visual Basic via Mono on a Rocks Cluster.

[edit] Installation

Mono can be compiled specifically for your cluster environment, but it is recommended that Mono is installed from the precompiled rpm packages available from Novell

  • Log into the head node of your Rocks cluster
  • Download all the precompiled packages for your architecture from the Novell ftp site the noarch packages will also be required.
  • Copy all the rpm files to /export/rocks/install/contrib/5.2/<arch>/RPMS/, including the noarch packages.
  • Edit /export/rocks/install/site-profiles/5.2/nodes/extend-compute.xml and make the following changes
  • In the packages section add the following <package> statements:
<package>mono-addon-core</package>
<package>mono-addon-basic</package>
<package>mono-addon-libgdplus</package>
  • In the <post> section add the lines to copy and clean up the mono environment:
cp /opt/novell/mono/bin/mono-addon-environment.sh /etc/profile.d
sed -i '/PS1="\[mono-addon\] $PS1"/d' /etc/profile.d/mono-addon-environment.sh
  • Rebuild the Rocks distribution and update the yum cache
cd /export/rocks/install
sudo rocks create distro
sudo yum makecache

Rocks should now be automatically installed on the compute nodes on reinstallation.

[edit] Manual Installation

Once Mono is included into a Rocks cluster's yum repository (as per the method above) Mono can be manually installed on the head node with:

sudo yum install mono-addon-core mono-addon-basic mono-addon-libgdplus

Following manual installation either:

  • add the mono environment to /etc/profile.d
sudo cp /opt/novell/mono/bin/mono-addon-environment.sh /etc/profile.d
sudo sed -i '/PS1="\[mono-addon\] $PS1"/d' /etc/profile.d/mono-addon-environment.sh
  • run the mono environment script prior to using mono
source /opt/novell/mono/mono-addon-environment.sh