Procedura di Installazione per Globus 1.1.4 su Red Hat 7.1 beta (Wolverine)

"Ingredienti" utilizzati:

NOTE:

PROCEDURA:

  1. Scompattare gli archivi di OpenLDAP e SSLeay (dopo averli copiati in /root)
    [root@roma root]#tar xvfz SSLeay-0.9.0b.tar.gz
    [root@roma root]#tar xvfz OpenLDAP-1.2.7-globus-latest.tar.gz
  2. Rimuovere il pacchetto RPM openldap-devel-2.0.7-12, presente di norma nella distribuzione
    [root@roma root]# rpm -ev openldap-devel
  3. Aggiungere un link da /usr/bin/local/perl a /usr/bin/perl altrimenti ./Configure di SSLeay non lo trovera' e non potra' operare correttamente
    [root@roma root]# ln -s /usr/bin/perl /usr/local/bin/perl
  4. Installare SSLeay proprio di globus:
    [root@roma root]# cd SSLeay-0.9.0b
    [root@roma SSLeay-0.9.0b]# ./Configure linux-elf
    [root@roma SSLeay-0.9.0b]# make clean
    [root@roma SSLeay-0.9.0b]# make depend
    [root@roma SSLeay-0.9.0b]# make
    [root@roma SSLeay-0.9.0b]# make rehash
    [root@roma SSLeay-0.9.0b]# make test
    [root@roma SSLeay-0.9.0b]# make install
    [root@roma SSLeay-0.9.0b]# cd ..
  5. Creare la directory per installare OpenLDAP versione personalizzata per globus ed installarlo
    [root@roma root]# cd OpenLDAP-1.2.7-globus
    [root@roma OpenLDAP-1.2.7-globus]# mkdir /opt/ldap/
    [root@roma OpenLDAP-1.2.7-globus]# ./configure --prefix=/opt/ldap --enable-slapd --enable-shell --disable-ldbm --without-threads
    [root@roma OpenLDAP-1.2.7-globus]# make depend
    [root@roma OpenLDAP-1.2.7-globus]# make
    [root@roma OpenLDAP-1.2.7-globus]# make install
  6. Creare l'utente ed il gruppo globus (se necessario cambiare il numero del gruppo da 600 ad un numero localmente non utilizzato)
    [root@roma root]# /usr/sbin/groupadd -g 600 globus
    [root@roma root]# /usr/sbin/useradd -c "Globus Toolkit" -g 600 -m -n globus
    [root@roma root]# passwd globus
  7. Modificare /etc/hosts per aggiungere il dominio; con un editor di testi, per esempio joe, modificare le righe relative ad ogni macchina della grid da 192.168.0.11 ROMA
    in modo che diventino
    192.168.0.11 roma.dei.unipd.it roma
  8. Modificare tramite linuxconf hostname e domain: [root@roma dexter]# /sbin/linuxconf
    Scendere nel menu: Config->Networking->Client tasks->Host name and IP network devices e modificare la voce:
    Host name + domain: roma.dei.unipd.it
  9. Verificare con il comando hostname il cambiamento del dato:
    [root@roma root]# hostname -f
    roma.dei.unipd.it
    Se la risposta e' solo il nome dell'host, per esempio roma, ricontrollare di aver correttamente eseguito il passo precedente.
  10. Creare la directory di installazione per globus e assegnarla all'utente globus
    [root@roma root]# mkdir /opt/globus-install
    [root@roma globus]# chown globus /opt/globus-install
    [root@roma globus]# chgrp globus /opt/globus-install
  11. Assumere l'identita' dell'utente globus
    [root@roma root]# su globus
    [globus@roma root]$ cd
    [globus@roma globus]$
  12. Scompattare i sorgenti (dopo aver copiato il relativo archivio nella directory corrente)
    [globus@roma globus]$ tar xvfz globus-1.1.4.tar.gz
    [globus@roma globus]$ cd globus
  13. lanciare globus-install con i seguenti parametri:
    -prefix=<directory di installazione> /opt/globus-install
    -with-ssl-path=<directory dove e' installato ssleay> /usr/local/ssl
    -with-ldap-path=
    <directory dove e' installato ldap> /opt/ldap
    -with-domain-name=dei.unipd.it
    (per supplire alla mancanza del dns)
    --disable-parallel-build

    [globus@roma globus]$ ./globus-install -prefix=/opt/globus-install -with-ssl-path=/usr/local/ssl -with-ldap-path=/opt/ldap --disable-parallel-build -with-domain-name=dei.unipd.it

    E' normale che questo comando occupi diversi minuti, e che termini con la frase:
    The installation is complete.
  14. 8) Configurare globus
  15. Creare la directory per il deployment ed assegnarla all'utente globus:
    [globus@roma globus]$ su
    [root@roma globus]# mkdir /opt/globus
    [root@roma globus]# chown globus /opt/globus
    [root@roma globus]# chgrp globus /opt/globus
    [root@roma globus]# exit
  16. Impostare le variabili d'ambiente
    [globus@roma globus]$ GLOBUS_INSTALL_PATH=/opt/globus-install
    [globus@roma globus]$ export GLOBUS_INSTALL_PATH
  17. Eseguire il deployment:
    [globus@roma globus]$ /opt/globus-install/sbin/globus-local-deploy /opt/globus
    Rispondere "n" alla domanda "Do you want to register this host with the Globus Project? (y/n) [n]"
  18. Spedire la richiesta di certificato a ca@globus.org. Copiare la risposta nel file /opt/globus/etc/globus-gatekeeper.cert
  19. Diventare root
    [globus@roma globus]$ su
  20. Per un bug negli script che eseguono il deployment, nel file /opt/globus/etc/globus-jobmanager.conf alcune opzioni risultano mancanti. Per risolvere il problema, modificare le righe:
    -globus-host-manufacturer
    -globus-host-osname
    -globus-host-osversion

    in:
    -globus-host-manufacturer unknown
    -globus-host-osname Linux
    -globus-host-osversion 2.4.1
  21. Aggiungere il servizio globus-gatekeeper in /etc/services, aggiungendo in coda al file la riga
    globus-gatekeeper 2119/tcp # Globus Gatekeeper
  22. Aggiungere il servizio globus-gatekeeper sotto la direzione di xinetd, creando il file /etc/xinetd.d/globus-gatekeeper con questo contenuto:
    service globus-gatekeeper
    {
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    server = /opt/globus/sbin/globus-gatekeeper
    server_args = -conf /opt/globus/etc/globus-gatekeeper.conf
    disable = no
    log_type = FILE /var/log/globus-gatekeeper-xinetd.log
    log_on_success = PID HOST EXIT DURATION
    log_on_failure = HOST ATTEMPT
    }
    Le ultime tre voci, log_type, log_on_success, log_on_failure, potranno essere rimosse in un secondo momento, ma possono essere utili finche' il sistema non e' funzionante. Il path /opt/globus/ nelle voci server e server_args e' quello impostato prima come path di deployment. il file /var/log/globus-gatekeeper-xinetd.log conterra' un log dettagliato di tutte le attivazioni del server.
  23. Far si' che xinetd rilegga la configurazione:
    [root@roma globus]# killall -USR1 xinetd
  24. Cambiare i permessi di alcuni file:
    [root@roma globus]# chown root /opt/globus/etc/globus-gatekeeper.key
    [root@roma globus]# chown root /opt/globus/etc/globus-gatekeeper.cert

    Nota: in caso sia necessario aumentare la sicurezza, andranno analogamente cambiati i permessi anche di:
    /opt/globus/sbin
    /opt/globus/sbin/globus-gatekeeper-controller
    /opt/globus/sbin/globus-gatekeeper
    /opt/globus/libexec
    /opt/globus/libexec/globus-k5
    /opt/globus/etc
    /opt/globus/etc/grid-mapfile
    /opt/globus/etc/globus-services
    /opt/globus/etc/globus-gatekeeper.conf
  25. In rc.d, creare link simbolici allo startup script di Globus nelle directory di tutti i runlevel in cui si vuole rendere disponibile Globus stesso; ripetere il procedimento per lo shutdown script. Si consiglia di assegnare allo startup script un numero alto (ad esempio 96), in modo che Globus sia uno degli ultimi servizi ad essere avviato.
    Ad esempio, per rendere disponibile Globus nei runlevel 3 (Multi-user/Text/Full network) e 5 (Multi-user/Graphical) eseguire i seguenti comandi:
    [root@roma /root]# cd /etc/rc.d
    [root@roma rc.d]# ln -s /opt/globus/sbin/SXXglobus rc3.d/S96globus
    [root@roma rc.d]# ln -s /opt/globus/sbin/SXXglobus rc5.d/S96globus
    [root@roma rc.d]# ln -s /opt/globus/sbin/KXXglobus rc0.d/K04globus
    [root@roma rc.d]# ln -s /opt/globus/sbin/KXXglobus rc1.d/K04globus
    [root@roma rc.d]# ln -s /opt/globus/sbin/KXXglobus rc2.d/K04globus
    [root@roma rc.d]# ln -s /opt/globus/sbin/KXXglobus rc4.d/K04globus
    [root@roma rc.d]# ln -s /opt/globus/sbin/KXXglobus rc6.d/K04globus

    Nota: 04= 100 - 96
  26. Avviare globus:
    [root@roma rc.d]# /opt/globus/sbin/SXXglobus start
    Controllare la presenza di eventuali errori nei file di log che si trovano in /opt/globus/var/
  27. Testare il gatekeeper, eseguendo il seguente comando come "root":
    [root@roma root]# /opt/globus/sbin/globus-gatekeeper -c /opt/globus/etc/globus-gatekeeper.conf -test
    Se il test ha esito positivo, il programma termina con il messaggio:
    Gatekeeper test complete : Success!
  28. Impostare le variabili d'ambiente.
    Per ogni account locale da cui verra` utilizzato Globus, aggiungere le seguenti righe al file .bashrc:
    GLOBUS_INSTALL_PATH=/opt/globus-install
    GLOBUS_PATH=/opt/globus
    PATH=$PATH:$GLOBUS_PATH/bin:$GLOBUS_INSTALL_PATH/tools/i686-pc-linux-gnu/bin
    export GLOBUS_INSTALL_PATH GLOBUS_PATH PATH
    Il file .bashrc si trova nella home directory dell'utente. Le modifiche saranno attive al successivo login dell'utente.
  29. Ottenere i certificati per gli utenti globus.
    Se un utente ha gia` una chiave e un certificato, allora questi possono essere riutilizzati. La chiave si trova nel file /home/utente/.globus/userkey.pem, mentre il certificato dell'utente e` in /home/utente/.globus/usercert.pem.
    Se un utente (ad esempio, "retiuser") e` sprovvisto di certificato, allora bisogna farne richiesta lanciando il comando:
    [retiuser@roma retiuser]$ grid-cert-request -int
    e inviando il file /home/retiuser/.globus/usercert_request.pem a ca@globus.org. La risposta a questo messaggio conterra` il certificato e andra` copiata in /home/retiuser/.globus/userkey.pem.
  30. Eseguire il mapping tra utenti Globus e utenti locali:
    Per ogni utente fisico di Globus (univocamente identificato dal distinguished name nel suo certificato) deve essere inserita in /opt/globus/etc/grid-mapfile una riga che specifichi quale account corrisponde a quell'utente. Ad esempio, l'utente "Utente Reti" puo` essere associato all'account locale "retiuser" eseguendo come "root" i seguenti comandi:
    [root@roma /root]# GLOBUS_INSTALL_PATH=/opt/globus-install
    [root@roma /root]# export GLOBUS_INSTALL_PATH
    [root@roma /root]# /opt/globus/sbin/grid-mapfile-add-entry -dn "/O=Grid/O=Globus/OU=dei.unipd.it/CN=Utente Reti" -ln retiuser
  31. Testare globus nella sua interezza (end-to-end test)
    Usando il login di un utente locale dotato di certificato (ad es. "retiuser"), eseguire il seguente comando:
    [retiuser@roma retiuser]$ /opt/globus/sbin/globus-setup-test
    Se il test ha esito positivo, l'output del programma sara` simile al seguente:
    Checking certificate directory ..........done.
    Checking user certificate setup .........done.
    Checking user key setup .................done.
    Creating proxy certificate ..............
    .Enter PEM pass phrase:
    verify OK
    ........+++++
    ..+++++
    .........................................done.
    Checking user proxy setup ...............done.

    Testing "jobmanager" service on roma.dei.unipd.it
    Authentication test .....................Success!
    Submission test .........................Success!
  32. Preparare l'installazione della libreria mpich.
    Come per gli altri tool di supporto (SSLeay e OpenLDAP), l'installazione va eseguita come root.
    A causa di un baco nel compilatore gcc fornito con la Red Hat, il file delle patch (mpich_patch.all) va necessariamente installato, altrimenti la compilazione non andra` a buon fine.
    [root@roma /root]# tar -zxvf mpich.tar.gz
    [root@roma /root]# cd mpich-1.2.1
    [root@roma mpich-1.2.1]# patch -p0 < ../mpich_patch.all
    [root@roma mpich-1.2.1]# mkdir /opt/mpich
    [root@roma mpich-1.2.1]# GLOBUS_INSTALL_PATH=/opt/globus-install
    [root@roma mpich-1.2.1]# export GLOBUS_INSTALL_PATH
    [root@roma mpich-1.2.1]# ./configure -device=globus2 -prefix=/opt/mpich
  33. Includere nel file util/machines/machines.LINUX i nomi di tutte le macchine che useranno mpich. Ad esempio, se verranno usate le macchine "berlino", "mosca" e "roma" il file conterra`:
    roma.dei.unipd.it
    berlino.dei.unipd.it
    mosca.dei.unipd.it
  34. Compilare e installare mpich
    [root@roma mpich-1.2.1]# make
    [root@roma mpich-1.2.1]# make install
  35. Creare il file /opt/mpich/bin/machines, in cui, ancora una volta, sono elencate tutte le macchine della grid che utilizzeranno mpich. Ad esempio, se verranno usate le macchine "berlino", "mosca" e "roma" il file conterra`:
    "roma.dei.unipd.it"
    "berlino.dei.unipd.it"
    "mosca.dei.unipd.it"

    Le virgolette sono obbligatorie.
  36. Aggiungere /opt/mpich/bin al path di tutti gli utenti che dovranno usare mpich.
  37. Felicitarsi: COMPLIMENTI!!! Ora Globus + MpiCH e` installato!!!

Mauro Michele
Carlo Fantozzi
Last modified: Wed May 30 19:17:33 GMT-1 2001