middleware:Unicore/64

From Dgiref
Jump to: navigation, search

Contents

Introduction

Screenshot unicore.jpg UNICORE (UNiform Interface to COmputing REsources) is a Grid computing technology that provides seamless, secure, and intuitive access to distributed Grid resources such as supercomputers or cluster systems and information stored in databases. UNICORE was developed in two projects funded by the Federal ministry for education and research (BMBF).
Simplified Unicore 6 architecture

The UNICORE system consists of several components which interact over the network

  1. A provider site.
  2. Resources sites.
  3. The user uses the UNICORE client to access the resources.
  4. All connections need to pass the Gateway, which authenticates the user and routes the connections to one of the UNICORE/X or other services.
  5. The XNJS uses the Incarnation Database (IDB) to map jobs on the local system.
  6. When the user is authorized as described in the UNICORE User Database (XUUDB), the UNICORE/X forwards the job to the Target System Interface (TSI).
  7. The TSI in turn uses the local resource management system of the resource, a Local Resource Management System (LRMS), usually batch system, to submit the job to Worker Nodes (WNs).

UNICORE/X is a container for the UNICORE 6 atomic services (UAS) comprising a TargetSystemFactory (TSF), TargetSystemServices (TSS), StorageManagementServices (SMS), JobManagementServices (JMS) and FileTransferServices (FTS). It also includes a Registry service for finding available service instances. In addition, you can use it as a basis for developing your own WSRF-based services if you wish to extend UNICORE. It supports the following specifications.

  • WS-Resource, WS-ResourceProperties, WS-ResourceLifetime
  • Service Group
  • WS-BaseNotification
  • JSDL 1.0

The XNJS is the component that deals with the actual job execution and file access. It is configured using XML files.


Package:    Unicore 6.4
 os:             Scientific Linux version 5.6 64 bit
 server:        dgiref-unicore.fzk.de
 manuals:   unicore v.6.4 / extensions
 monitoring: monitoring page


Archive links
Information links
Download links
Guidelines links


Note-icon.png
  
There exists an elaborate UNICORE 6 FAQ which might help to solve problems. Bugs should be reported in Bug Tracker. Further questions on UNICORE can be posted to the d-grid support mailing list (unicore<nospam>d-grid.de).



Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

Unicore 6.4

Prepare

Software
  • Scientific Linux version 5.6 64 bit
  • Sun Java Runtime Environment version >= 1.6.0
  • Perl version >= 5.8.8
  • Torque Client
  • UMD repo

Optimizing the configuration:


Use minimal operating system installation without firewall. To verify installed packages use the command

  • rpm -qa | grep package_name

Install the following additional packages:

  • yum -y install wget yum rpm make gcc gcc-c++ tar sed zlib openssl

After the installation is complete, turn off any unnecessary services (like gpm, sendmail, cups, haldaemon, messagebus, pcmcia, anacron, atd) with the following command:

  • chkconfig <SERVICE> off

Configure the following settings for the server:

Users
  • A userid to start and administer the above services (not root!)
  • A userid to execute status queries to the local resource management system (qstat) (not root!)
Others
  • NFS-Export of users home directories
  • Register your Resource with GRRS: Web Form.
Firewall configuration

The UNICORE Gateway is the entry to a site, it authenticates the users and forwards all client requests to the corresponding local service. The Gateway's port (8080 by default) needs to be accessible from the Internet. Therefore is must be open in the firewall for incoming https connections.

The unicorex service registers with the central UNICORE Registry with Port 9110. unicorex must be able to make a connection to this system on the given port, so that the firewall should allow that outgoing connection (how to open port in firewall).

Install

  • Install Unicore components unicore-unicorex, unicore-xuudb, unicore-gateway, unicore-tsi from UMD
  • Install Unicore ucc client from UMD

Configure

  • Truststore configuration
  • Gateway configure
    • Customization of connections.properties
    • Customization of gateway.properties
    • Customization of security.properties
  • Unicorex configure
    • Don't change jmxremote.password, logging.properties, security_policy.xml, ucc.logging.properties, xacml.config, xnjs.xml,
    • Change an user name in simpleuudb
    • Adapt of site-info.glue for site configurations
    • Configure uas.config
    • Configure wsrflite.xml
    • Configure xnjs_legacy.xml
    • Configure simpleidb
    • Change registry server in uas.config
    • Adapt wsrflite.xml
  • xuudb configure
    • Customization xuudb_client.conf
    • Customization acl list /etc/unicore/xuudb/xuudb.acl
  • tsi files tsi.properties and xuudb_server.conf customization
  • Convert grid-mapfile to xuudb_in
config file usage dynamically reloaded
uas.config General properties, startup behaviour,registry, file transfer properties yes
wsrflite.xml Services to be deployed, SSL settings, Web server settings yes
simpleidb Backend, installed applications, resources yes
xnjs.xml Back end properties no
xnjs_legacy.xml Back end properties preconfigured for the Perl TSI no
logging.properties logging levels, logfiles and their properties yes
security_policy.xml Access control policy for securing the web services via xacml.config (do 'touch xacml.config' to trigger)
xacml.config Configure the access control component yes
Note-icon.png
  
For details use Unicorex manual
Note-icon.png
  
Registry server is not a part of Referece Installation. For configuration see Registry manual

Proceed

  • Start unicore-gateway unicore-tsi unicore-unicorex unicore-xuudb
  • Import users to xuudb
  • Change owner of log files
  • Make unicore-gateway unicore-tsi unicore-unicorex unicore-xuudb as a services for OS and add put to autoboot system. So will be started during boot.

Initial test

  • Check state of process from server side
  • Submit job from client side:
    • Grid user auth
    • Prepare preferences for client
    • Prepare test job
    • Test ucc connect
    • Test run job

Update

For update just use yum update for unicore packages. The update will be automatically use rpm repo

Personal tools