Globus Toolkit

De LCAD
Ir para: navegação, pesquisa


Globus Toolkit

Assume-se que o leitor está acostumado com a interface de linha de comando dos sistemas UNIX. Apesar de todos os testes terem sido feitos em plataformas Linux, espera-se que a execução do script seja executada em outros sistemas UNIX.

Instalação a partir do código-fonte

Instalação via script

Para instalação do Globus Toolkit a partir do código-fonte foi criado um script que realiza as tarefas básicas de instalação de configuração do Globus Toolkit nas máquinas do LCAD.

Estando em uma máquina do LCAD, faça o download do script com o seguinte comando:

       wget http://www.inf.ufes.br/~renatoc/globus/globus-install.sh

Para iniciar a instalação, basta executar, como usuário root (assumindo que você está utilizando o shell bash):

       source globus-install.sh

Para redefinição das variáveis de instalação, verifique a página do script de instalação.

Instalação do GSI

Para que a integração com Grid Sinergia funcione, é necessário que a máquina em questão possa aceitar certificados assinados por ele.

Antes de mais nada, verifique se a variável GLOBUS_LOCATION está definida, para isso, execute

       set | grep GLOBUS_LOCATION

Algo semelhante a

       GLOBUS_LOCATION=/usr/local/globus

deve ser exibido. Caso isso não aconteça, verifique no script de instalação qual o valor definido para essa variável, o valor padrão é /usr/local/globus. Para defini-la, execute:

       export GLOBUS_LOCATION=/caminho/definido/para/o/globus

Estando a variável GLOBUS_LOCATION definida, execute:

       export PATH=$PATH:$GLOBUS_LOCATION/sbin
       cd /tmp
       wget http://www.inf.ufes.br/~renatoc/globus/globus_simple_ca_880ec595_setup-0.13.tar.gz
       gpt-build globus_simple_ca_880ec595_setup-0.13.tar.gz gcc32dbg
       gpt-postinstall

Neste ponto a instalação está concluída.

Solicitação de Certificados

Por enquanto o cluster Enterprise aceita somente certificados assinados pelo Grid Sinergia. É possível que no futuro o LCAD tenha seu próprio CA e, nesse caso, certificados assinados por ele serão aceitos também.

Certificado do Gatekeeper

  • Logue como usuario root.
  • Caso não estejam definidas as variaveis $GPT_LOCATION e $GLOBUS_LOCATION, defina.
  • Execute:
        cd $GLOBUS_LOCATION/setup/globus_simple_ca_880ec595_setup && ./setup-gsi -default
  • Ao final do script selecione a opção de confirmação (q)
  • Requisitar o certificado do gatekeeper com o seguinte comando:
        grid-cert-request -service host -host <GCHN>

Onde <GCHN> significa Globus Canonical Host Name, nome completo que identifica um recurso Globus. (ex.: lcad1.lcad.inf.ufes.br)

  • Enviar o arquivo de requisição /etc/grid-security/hostcert_request.pem para o endereço de e-mail ca-sinergia_em_ic_ponto_uff_ponto_br.

Substitua: _em_ por @ e _ponto_ por .

  • Ao receber o retorno, salvar o conteúdo do e-mail em /etc/grid-security com o nome hostcert.pem.
  • Fazer uma cópia de segurança dos arquivos hostcert.pem e hostkey.pem, preferencialmente em outra máquina.

Certificado do MDS

  • Solicitar o certificado do servidor LDAP através do comando
        grid-cert-request -service ldap -host <GCHN>

Onde <GCHN> significa Globus Canonical Host Name, nome completo que identifica um recurso Globus. (ex.: lcad1.lcad.inf.ufes.br)

  • Enviar o arquivo de requisição /etc/grid-security/ldap/ldapcert_request.pem para o endereço de e-mail ca-sinergia_em_ic_ponto_uff_ponto_br.

Substitua: _em_ por @ e _ponto_ por .

  • Ao receber o retorno, salvar o conteúdo do e-mail em /etc/grid-security/ldap com o nome ldapcert.pem.

Configuração do Globus Toolkit

Configuração dos Serviços

Configuração do Gatekeeper

(para sistemas que utilizam xinetd)

  • Como usuário root, utilizando um editor de texto, criar no diretório /etc/xinetd.d um arquivo chamado globus-gatekeeper com o seguinte conteúdo:
        service gsigatekeeper
        {
                socket_type = stream
                protocol = tcp
                wait = no
                user = root
                env = LD_LIBRARY_PATH=$GLOBUS_LOCATION/lib
                server = $GLOBUS_LOCATION/sbin/globus-gatekeeper
                server_args =-conf $GLOBUS_LOCATION/etc/globus-gatekeeper.conf
                disable = no
        }

Substituindo $GLOBUS_LOCATION pelo caminho completo do diretório de instalação. (ex: /usr/local/globus)

  • Adicionar ao final do arquivo /etc/services a linha gsigatekeeper 2119/tcp # Globus Gatekeeper utilizando:
        echo "gsigatekeeper 2119/tcp # Globus Gatekeeper" >> /etc/services
Configuração do MDS
  • Para que o servidor LDAP do MDS seja iniciado junto do sistema, execute (como root):
        cat << EOF >> /etc/rc.d/rc.local
        # Start the Globus Toolkit´s GRIS/GIIS for Grid Sinergia
        $GLOBUS_LOCATION/sbin/globus-mds start

OBS.: Substitua $GLOBUS_LOCATION pelo caminho completo do diretório de instalação. (ex: /usr/local/globus)

  • Para disparar imediatamente o servidor ldap, execute:
        $GLOBUS_LOCATION/sbin/globus-mds start
Configuração do GridFTP
  • Como usuário root, utilizando um editor de texto, criar no diretório /etc/xinetd.d um arquivo chamado globus-gatekeeper com o seguinte conteúdo:
        service gsiftp
        {
                 instances = 1000
                 socket_type = stream
                 wait = no
                 user = root
                 env = LD_LIBRARY_PATH=$GLOBUS_LOCATION/lib
                 server = $GLOBUS_LOCATION/sbin/in.ftpd
                 server_args = -l –a –G $GLOBUS_LOCATION
                 log_on_success += DURATION USERID
                 log_on_failure += USERID
                 nice = 10
                 disable = no
        }

Substituindo $GLOBUS_LOCATION pelo caminho completo do diretório de instalação. (ex: /usr/local/globus)

  • Adicionar ao final do arquivo /etc/services a linha gsiftp 2811/tcp # Globus FTP utilizando:
        echo "gsiftp 2811/tcp # Globus FTP" >> /etc/services

Submissão de jobs para o cluster Enterprise

A submissão remota de jobs para o cluster enterprise se dá utilizando o Globus Toolkit. <math>Inserir fórmula aqui</math>