Hardware Requirements For Nodes

Nothing specific. Dual processor or dual core (preferably both). Lots of memory and disk space. Typical values can be seen in the table below:

Node Memory Processor(s) BogoMIPS OS
calgary.canada.gaia-vxo.org 4GB 1 x AMD Athlon 64 X2 Dual Core Processor 4420 Fedora linux
uk.gaia-vxo.org 4GB 2 x Intel Xeon 2.8GHz 5586 Gentoo linux
sweden.gaia-vxo.org 512MB 1 x Intel Xeon 2.4GHz 4807 Debian linux
finland.gaia-vxo.org 1GB 1 x Intel Xeon 3.0GHz 6010 Ubuntu linux

Disk space will depend on the datasets you wish to store locally. There is no requirement to host all of the datasets. (it's not even necessary to host any datasets!) Allow around 800Mb/year for each data channel for an instrument in continual operation.

Software Requirements

Operating System requirements

Ideally GAIA should be indifferent to the choice of OS, however the following features are required or preferred:

  • Symbolic links are assumed for certain aspects, currently they are:
    • server_config.php, so that the local config file can be referenced by PHP but is outside of the main web directory, thus allow updated versions of GAIA to be installed without overwriting the server_config.php file.

The preferred operating system is linux (tested with Fedora FC5, Fedora FC6, and Gentoo) though any unix-based operating system should work without problems. No development or testing has been performed under MS Windows though it is thought that all of the required components are also available for MS Windows.

Network requirements

For a GAIA node to operate correctly certain ports for input and output must be permitted.

ssh (TCP port 22)

Incoming access on port 22 is never required, though node operators can insist that other nodes mirror data using rsync through an SSH tunnel.

Outgoing access on port 22 is required only when mirroring datasets which define the synchronisation method to be rsync+ssh.

HTTP (TCP port 80 or alternative)

Incoming access is required on port 80 (default) or another port for HTTP. The apache config file defines virtual hosting, allowing multiple web sites to use port 80. HTTP is used for all the web services, serving web pages and possibly for allowing other sites to mirror data from the node. Nodes which may function as the master database node must operate on port 80.

Outgoing connections are made to port 80 on the master node when querying the latest database dump file. Outgoing connections are also made to port 80 or alternative HTTP ports when the node attempts to synchronise any datasets it mirrors.

rsyncd (TCP port 873 or alternative, optional)

Incoming access is preferred on port 873 (default) or another port for rsyncd, for mirroring datasets and database dump files. If rsyncd does not operate on port 873 the node cannot become the database master node. For mirroring datasets it is possible to define incoming connections to tunnel through SSH (provided SSH uses the standard TCP port 22).

Outgoing connections are made by database slave nodes to port 873 as part of the database replication system. When synchronising datasets connections may be made to port 873 or other ports to connect to an rsyncd daemon. Some datasets may demand that synchronisation is performed through an SSH tunnel.

Summary of network ports

Port Service Incoming required Outgoing required Comment
22 SSH No (optional) No (optional) See above
80 HTTP Yes (unless you must use another port) Yes If necessary you can host on a port other than the standard port 80, but see above for limitations.
873 rsync Strongly preferred Yes Use port 2873 for incoming connections only if port 873 cannot be used.
2873 alternative rsync No, use 873 if possible Yes Use only if you cannot use 873 for incoming rsync connections.

Applications and libraries

The components listed below pertain to GAIA. Each component may have additional or more restrictive requirements. If you find any GAIA dependencies not listed below please add them to this list.

Apache

Apache version 2. See also NodeInstallationGuide.

C compiler

Any recent (within last 5 years) version of a C compiler should work, though gcc is preferred.

Cron

Any standard cron should be acceptable. If a windows-based system is used then Task Scheduler can probably be used instead.

(GNU) make

Any recent (within last 5 years) version of make should work. GNU make is preferred (required?). Feedback of which versions work successfully would be appreciated. Versions known to work are:

  • GNU make v3.80.

Imlib2

Imlib2 v1.2.1 or higher. Used for image processing and pseudocolour mapping.

JavaScript libraries

  • Firebug, for web development. firebugx.js is used so that console.X commands can remain in the code without causing errors on systems which do not provide such facilities.
  • Sarissa, cross-browser wrapper library.

libCDF

CDF version 2.7 or higher; only required for nodes that store widebeam riometer data where the source files are in CDF format. You will need to ensure the CDF environment variables are set correctly in order for the GAIA CDF programs to compile.

PHP

PHP version 5. In addition the following modules are required:

  • PDO for PostgresSQL.
  • PECL JSON support (shipped with PHP 5.2) bubble Is it actually used? -- SteveMarple - 24 Sep 2007
  • Readline (only for sync.php script, and then only for interactive use).
  • SimpleXML
  • zip support
  • zlib support (and set zlib.output_compression=1 in php.ini) to allow automatic compression for browsers which accept it (see PHP Cookbook, 1st Edition 8.14).

tip If you are using Gentoo linux then ensure the following flags are set for PHP: apache2 cli curl pdo postgres zip.

PostgreSQL

PostgreSQL version 8. In addition you will need to install the contrib package as the following functions are used:

  • earthdistance

tip The NodeInstallationGuide assumes a local installation of the PostgreSQL database. Network access to a remote database server is also supported.

rsync

rsync. Version 2.6.8 is known to work but older versions should work just as well. Reports on success with older versions would be appreciated.

Subversion

Subversion is used for all software development within GAIA, and also to install the latest version of the software.

sudo

You'll probably need to use sudo in order for the contributed PostgreSQL earthdistance function to be installed. The alternative is for the gaia database user to be a database superuser (not recommended).

unzip

unzip version 5.52 is known to work. Older versions should also work.

Software requirements for developers

xmlstarlet

xmlstarlet is used to validate the web service XML output. Version 1.0.1 is known to work.

Topic revision: r33 - 2010-06-14 - 08:55:04 - SteveMarple
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback