[클러스터] Globus 1.1.4 설치

Globus 1.1.4 설치

작성자: 김상완 (sangwan@kisti.re.kr)

작성일: 2002-04-02

수정한 날짜: 2002-04-20

수정자: 함재균 (jaehahm@hpcnet.ne.kr), 권오경 (okkwon@kisti.re.kr)

수정한 곳: CA인증서 설치등 문서 오류 수정

이 문서는 Globus 툴킷을 리눅스 PC에 설치하는 방법을 설명한다.

RedHat Linux 7.1(Linux 커널 버젼은 2.4.2)을 기준으로 설명하였으며,

Linux 표준 쉘인 bash 쉘을 이용한다고 가정하였다.

‘#’는 root 프롬프트를 의미하고, ‘$’는 사용자 프롬프트를 의미한다.

globus version: 1.1.4

example hostname: sdd114.hpcnet.ne.kr

OS: RedHat 7.1

kernel version: 2.4.2-2

gcc version: 2.96

목차

1. 필요한 소프트웨어

2. SSLeay Install

2.1. Install source code

2.2. configure, clean, makedepend

2.3. compile, test, and install

3. OpenLDAP Install

3.1. Install source code

3.2. configure, makedepend

3.3. compile and install

4. Globus Install

4.1. globus를 위한 계정을 따로 만든다

4.2. Install source code

4.3. Patch for MDS

4.4. Patch for globus gass cache

4.5. globus-install

4.6. globus-setup

4.7. Globus Tookit Deployment

4.8. 게이트키퍼 인증서 요청

4.9. /etc/services 화일 수정

4.10. /etc/xinetd.d/globus-gatekeeper 화일을 만든다.

4.11. 게이트키퍼의 키와 인증서의 소유권을 root로 변경한다.

4.12. MDS service를 위한 설정

4.13. xinetd를 재시작

4.14. globus 시작

4.15. gatekeeper 테스트

4.16. globus 사용자 인증서

4.17. 사용자를 grid-mapfile 화일에 추가한다.

4.18. CA 인증서 설치

4.19. ca-signing-policy.conf 화일 편집

4.20. globus-setup-test

5. Start using Globus

6. 기타

참고문서

1. 필요한 소프트웨어  [[목차]]

– SSLeay 0.9.0

   ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-0.9.0b.tar.gz

   Eric Young 이라는 사람이 개발한 SSL 프로토콜을 지원하기 위한 라이브러리이다.

– OpenLDAP 1.2.7

   ftp://ftp.globus.org/pub/globus/OpenLDAP-1.2.7-globus_060700.tar.gz

– Globus Toolkit 1.1.4

   ftp://ftp.globus.org/pub/globus/globus-1.1.4.tar.gz

– GIIS Patch for Globus 1.1.4

   ftp://ftp.globus.org/pub/globus/patches/globus-1.1.4-giis-update.tar.gz

2. SSLeay Install  [[목차]]

2.1 Install source code  [[목차]]

  압축을 풀 디렉토리로 이동

  # cd /usr/local

  압축을 푼다

  # tar zxvf SSLeay-0.9.0b.tar.gz

  디렉토리로 이동

  # cd SSLeay-0.9.0b/

  자세한 내용은 README,INSTALL 화일등을 참조한다.

  # vi README

  # vi INSTALL

  INSTALL 에 있는 내용과 같이 perl이 /usr/local/bin 아래에 있지 않을

  경우 util/perlpath.pl 을 이용하여 perl의 경로를 지지정하여 준다.

  # perl util/perlpath.pl /usr/bin

  또는 /usr/local/bin/perl –> ‘perl의 경로’로 링크를 만들어 준다.

  /usr/bin/perl을 이용할 경우

  # whereis perl

  perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz

  # ln -s /usr/bin/perl /usr/local/bin/perl

2.2 configure, clean, makedepend  [[목차]]

  Configure 사용법을 보려면,

  # ./Configure

  Usage: Configure [-Dxxx] [-Lxxx] [-lxxx] os/compiler

  pick os/compiler from:

  BC-16              BC-32              FreeBSD            NetBSD-m86        

  NetBSD-sparc       NetBSD-x86         SINIX-N            VC-MSDOS          

  VC-NT              VC-W31-16          VC-W31-32          VC-WIN16          

  VC-WIN32           aix-cc             aix-gcc            alpha-cc          

  alpha-gcc          alpha400-cc        cc                 cray-t90-cc        

  debug              debug-irix-cc      debug-linux-elf    dgux-R3-gcc        

  dgux-R4-gcc        dgux-R4-x86-gcc    dist               gcc                

  hpux-cc            hpux-gcc           hpux-kr-cc         irix-cc            

  irix-gcc           linux-aout         linux-elf          ncr-scde          

  nextstep           purify             sco5-cc            solaris-sparc-cc  

  solaris-sparc-gcc  solaris-sparc-sc4  solaris-usparc-sc4 solaris-x86-gcc    

  sunos-cc           sunos-gcc          unixware-2.0       unixware-2.0-pentium

  linux-elf 로 Configure를 수행한다.

  # ./Configure linux-elf

  참고: IBM RS/6000의 경우 aix-cc 로 하면 된다.

  make를 수행할 준비

  # make clean

  # make depend

2.3 compile, test, and install  [[목차]]

  컴파일

  # make

  테스트

  # make tests

  설치

  # make install

  기본적으로 /usr/local/ssl 에 설치된다.

  설치된 ssleay를 PATH에 추가해도 되지만, 링크를 만들어 두도록 한다.

  # ln -s /usr/local/ssl/bin/ssleay /usr/local/bin/ssleay

3. OpenLDAP Install  [[목차]]

3.1 Install source code  [[목차]]

  압축을 풀 디렉토리로 이동

  # cd /usr/local

  압축을 푼다

  # tar zxvf OpenLDAP-1.2.7-globus-060700.tar.gz

  디렉토리로 이동

  # cd OpenLDAP-1.2.7-globus/

  자세한 내용은 README,INSTALL 화일등을 참조한다.

  # vi README

  # vi INSTALL

3.2 configure, makedepend  [[목차]]

  configure 에서 사용할 환경변수를 설정한다.

  # export CC=gcc

  configure 의 사용법을 보려면,

  # ./configure –help

  configure 실행

  # ./configure –prefix=/usr/local/ldap –enable-slapd –enable-shell \\

    –disable-ldbm –without-threads

  컴파일 준비

  # make depend

3.3 compile and install  [[목차]]

  컴파일

  # make

  설치

  # make install

  –prefix에 지정한 대로 /usr/local/ldap 에 설치된다.

4. Globus Install  [[목차]]

4.1 globus를 위한 계정을 따로 만든다  [[목차]]

  globus라는 사용자를 추가한다.

  # /usr/sbin/adduser globus

  globus의 초기 비밀번호를 설정

  # passwd globus

  globus 설치 디렉토리를 만들고 globus가 사용할 수 있게 권한을 변경한다.

  # mkdir /usr/local/globus

  # chown globus.globus /usr/local/globus

  /etc/hosts 에 호스트의 이름이 등록되어 있는지 확인한다.

  # vi /etc/hosts

  111.222.333.444  hostname.your_full_domain_name

  globusrun을 실행할 때 이 파일을 참조하여 ip 주소를 host name으로 바꾸어 준다.

  hostname 이 FQDN(Fully-Qualified Domain Name)으로 설정되어 있는지 확인한다.

  다음 과정에서 globus-install이 실행되면서 hostname을 읽어 사용하기 때문이다.

  # hostname

  hostname.your_full_domain_name

4.2 Install source code  [[목차]]

  globus 툴킷의 컴파일은 globus 계정으로 한다.

  # su globus

  압축을 해제할 디렉토리로 이동 (globus의 홈디렉토리)

  $ cd /home/globus

  압축을 푼다.

  $ tar zxvf globus-1.1.4.tar.gz

  압축이 해제되면서 globus라는 디렉토리가 만들어진다.

4.3 Patch for MDS  [[목차]]

  MDS service를 사용하기 위해서는 globus tookit을 설치하기 전에 patch를 해야 한다.

  다운받은 giis patch 파일의 압축을 푼다.

  $ cd

  $ tar zxvf globus-1.1.4-giis-update.tar.gz

  globus toolkit에 patch를 수행한다.

  $ cp 1.1.3-giis-patch/grid-info-site-backend.in globus/InformationServices/mds/services/

  patch에 대한 자세한 내용은 1.1.3-giis-patch/README에 있다.

4.4 Patch for globus gass cache  [[목차]]

문제 제기

현재 배포된 globus1.1.4로 기본적으로 globus-gass-cache 프로그램이 제대로 설치되지 않는다.

그리고 이에 관련된 프로그램들이 제대로 작동하지 않는다.

(e.g.) globus-job-get-output을 실행할때 다음과 같은 에러가 뜬다.

/usr/local/globus/tools/i686-pc-linux-gnu/bin/globus-sh-exec: /usr/local/globus/tools/i686-pc-linux-gnu/bin/globus-gass-cache: No such file or directory

이것은 globus1.1.1이전까지의 globus-gass-cache 관련 프로그램이 Ldap기반으로 구축이 되었으나,

이것이 1.1.3으로 넘어 오면서 없어지게 되고 configure.in의 설정을 고치지 않고 있어서 그렇다.

해결

su globus

change directory to globus src root directory

cd ./FileAccess/gass/programs/

만약 autoconf가 설치되어 있다면, configure.in을 열어서 다음과 같이

사항을 수정하고 autoconf를 실행한다.

if test “$globus_cv_ldap_enable” = “yes” ; then

    SUBDIRS=”$SUBDIRS globus_gass_cache”

fi

항목을 삭제 하고, SUBDIRS 변수를 다음과 같이 globus_gass_cache 항목을 추가 한다.

SUBDIRS=”globus_gass_cache globus_gass_server globus_gass_get globus_gass_put globus_url_copy”

autoconf가 설치되어 있지 않고 configure 파일이 존재한다면

configure파일을 configure.in과 같은 방법으로 수정해도 된다.

again, change directory to globus src root directory

4.5 globus-install  [[목차]]

  디렉토리로 이동.

  $ cd globus

  globus-install 사용법을 보려면..

  $ ./globus-install –help

     usage: globus-install [option…] [– config-opt…]

        or: globus-install –dryrun [option…] [– config-opt…]

        or: globus-install –help

    

     This script will refuse to run as root.  See Globus documentation.

    

       available options:

          -enable-64bit                build for 64 bit target on IRIX

          (by default n32 libs are built)

          -with-make=make-prog         use specific ‘make’ program

          (by default the MAKE environment variable is used if set,

           or ‘make’ is searched for in the user’s path)

          -with-umask=octal-umask      use specific umask permission defaults

          (by default the existing umask is used if it gives read access,

           or the user is prompted to use or override the default 022)

          -prompt                      verify before each major step

          -separate-logs               separate error/output logs

          -dryrun                      don’t really build

          -help                        print this usage message

    

       these values will be prompted if not provided:

          -prefix=dir                  install Globus under dir

          -with-ssl-path=dir           use SSL installation under dir

          -enable-parallel-build       build whole components in parallel

          -with-ldap-path=dir          use LDAP installation under dir

    

       these option flags skip default build steps:

          -disable-services            don’t install system services

          -disable-tools               don’t install user tools

          -disable-development         don’t install development files

    

       expert options:

          -with-threads                only build threaded libs

          -with-threads=package[,pack] same as above, set thread package(s)

          -without-threads             only build non-threaded libs

          (by default both non-threaded and threaded libs are built)

          -with-tool-threads[=package] force Globus tools to use threads

    

          -with-domain-name=domain     supply domain name for this host

          (useful for hosts where automatic detection fails)

          -without-standard            skip standard protocol flavor

          -with-mpi                    force MPI  (override detection)

          -with-mpl                    force MPL  (override detection)

          -with-inx                    force INX  (override detection)

          -without-mpi                 ignore MPI (override detection)

          -without-mpl                 ignore MPL (override detection)

          -without-inx                 ignore INX (override detection)

          (by default libs for all applicable message systems are built)

    

    

          -disable-debug               build performance (non-debug) libs

          (by default debug libs are built)

    

          -parallel-make[=flag]        compile in parallel (w/ make flag)

          -development-tests           extra files in development tree

          -builddirs-persist           don’t clean up build space

          -without-ldap                suppress normal ldap checks

          -with-insure                 build with the insure++ memory checker

          (these options are intended for Globus developers)

    

       configure options:

          —  config-opt…             control underlying configure command

          After the ‘–‘ option, experts can specify options they

          wish to have passed to the underlying configure of all builds.

          These options should NEVER include any of the above-mentioned

          option flags as conflicts will surely occur!

    

  $ ./globus-install  -prefix=/usr/local/globus \\

    –with-ssl-path=/usr/local/ssl –with-ldap-path=/usr/local/ldap \\

    –builddirs-persist –disable-parallel-build

  30분에서 1시간 정도 소요된다.

  Globus 설치디렉토리는 –prefix 에 지정한 대로 /usr/local/globus가 된다.

4.6 globus-setup  [[목차]]

  홈디렉토리의 .bashrc (bash 쉘 사용자 환경 설정 화일)에 GLOBUS_INSTALL_PATH

  변수를 추가하고, 현재 쉘로 읽어 들인다.

  $ vi ~/.bashrc

  …

  export GLOBUS_INSTALL_PATH=/usr/local/globus

  …

  $ source ~/.bashrc

  GLOBUS_INSTALL_PATH가 설정된 것을 확인한다.

  $ echo $GLOBUS_INSTALL_PATH

  /usr/local/globus

  globus 설치 디렉토리로 이동

  $ cd /usr/local/globus

  다음 화일들의 설정을 확인한다.

  $ vi etc/grid-info.conf

  $ vi etc/grid-info-hosts.conf

  $ vi etc/grid-security.conf

  $ vi etc/globus-gatekeepers.conf

  $ vi etc/globus-services.conf

  globus-setup을 실행한다.

  $ ./sbin/globus-setup

   M D S   :   S E T U P   P R O C E D U R E

This script will ask some questions about site specific

information.  The answers to these questions will help

to setup your local MDS infrastructure.

Pressing RETURN in response to such a question will enable the default.

This script will overwrite the file:

     /usr/local/globus/etc/grid-info.conf

Do you wish to continue (y/n) [y] : y

(1) Hostname for site’s organization server: [ mds.hpcnet.ne.kr ]

(2) Port number for site’s organization server: [ 2167  ]

(3) DN for the organization: [ dc=kr, o=Grid ]

(4) Save settings

(5) Quit

========================================================================

  (h)elp

========================================================================

5

   G S I   :   C O N F I G U R A T I O N   P R O C E D U R E

Before you use the Grid Security Infrastructure, you should first

define the DN (distinguished name) that should be used for your

organization’s X509 certificates.  If you do not define a DN,

a default DN will be assigned to you.

This script will ask some questions about site specific

information. This information is used to configure

the Grid Security Infrastructure for your site.

For some questions, a default response is given in [].

Pressing RETURN in response to such a question will enable the default.

This script will overwrite the file —

     /usr/local/globus/etc/grid-security.conf

Do you wish to continue (y/n) [y] : y

========================================================================

(1) Base DN for user certificates

         [ ou=hpcnet.ne.kr, o=Globus, o=Grid ]

(2) Base DN for host certificates

         [ o=Globus, o=Grid ]

========================================================================

(q) save, configure the GSI and Quit

(c) Cancel (exit without saving or configuring)

(h) Help

========================================================================

q

The setup is complete.

$

MDS service를 이용하기 위해서는 MDS Setup을 해야 한다.

MDS SETUP에서 1번에는 등록하고자 하는 MDS 서버 이름을 적고, 2번에는

GIIS서비스를 위한 포트 번호로서 2167을 적는다. 그리고 3번에는 MDS서버의

DN을 적는다.

4.7 Globus Tookit Deployment  [[목차]]

  deploy 디렉토리를 만들기 위해 슈퍼유저로 전환한다.

  $ su root

  /opt/globus 디렉토리를 만든다.

  # mkdir /opt/globus

  /opt/globus 의 소유권을 globus로 바꾼다.

  # chown globus.globus /opt/globus

  다시 globus 유저로 돌아온다.

  # exit

  GLOBUS_INSTALL_PATH 변수를 다시 한번 확인한다.

  $ export GLOBUS_INSTALL_PATH=/usr/local/globus

  설치 디렉토리로 이동하고,

  $ cd /usr/local/globus

  globus-local-deply 의 사용법을 보려면,

  $ sbin/globus-local-deploy -help

Usage:  [options]

    Options

     -help, -usage

        Displays usage.

     -version

        Displays version.

     -server

        Sets up additionals files to run globus server programs

        (for example, the heartbeat monitor data collector).

        Default is not to setup servers.

     -server-only

        Sets up only the globus server programs.

        These are the programs that recieve information.

     -cert

        Use the file  as the gatekeeper’s certificate

        (Must be used with the -key argument)

     -key

        Use the file  as the gatekeepers key

       (Must be used with the -cert argument)

     -host hostname

        Force the use of ‘hostname’ instead of the value returned

        by globus-hostname

     -port portnumber

        Use the given portnumber for the Grid Resource Information Server

        instead of the IANA default.

     -force

        Overrides the check for a local filesystem.

     -email who@domain.org

        Specifies the default e-mail address to which a message

        should be sent when a daemon dies.

        The default is to send no e-mail notification.

     -group groupname

        Defines gid of the files that are deployed.

        The default is

     -classic

        Use the Globus V. 1.1.2 MDS scheme

    Required Argument:

    

        the full path to where system related files are to be stored.

        This file _should_ be located on a local file system for fault-

        tolerance, security, and efficiency reasons. You may use the

        \\”-force\\” option to override this constraint.

  globus-local-deploy를 실행한다.

  $ sbin/globus-local-deploy /opt/globus

  Do you want to register this host with the Globus Project? (y/n) [n] n

  Making deployment directories ………… done.

  Initializing data files ……………… done.

  Initializing log files ………………. done.

  Initializing nologin files …………… done.

  Installing files …………………….

  ….. done.

  Setting up the gatekeeper …………….

    Generating a certificate

    This may take a while! …………….. done.

  done.

  Configuring a “fork” jobmanager

  To complete the deployment process, a number of system

  related operations must be perform.

  … (SKIP) …

  $

  Globus deploy 디렉토리는 /opt/globus가 된다.

  /opt/globus/tmp/globus-root-instructions 의 내용이 출력되고,

  이 화일에 적혀 있는 대로 따라하면 된다.

  다음 과정 4.8 – 4.12 이 위의 과정을 따라하는 절차이다.

4.8 게이트키퍼 인증서 요청  [[목차]]

  deploy 디렉토리의 etc 디렉토리아래에 게이트키퍼 인증 요청서(CSR)가 만들어

  진다.

  $ cat /opt/globus/etc/globus-gatekeeper.request

  …

  =========================================================================

  Certificate Subject:

      /O=Grid/O=Globus/CN=sdd114.hpcnet.ne.kr

  …

  —–BEGIN CERTIFICATE REQUEST—–

  MIIBfTCB5wIBADA+MQ0wCwYDVQQKEwRHcmlkMQ8wDQYDVQQKEwZHbG9idXMxHDAa

  …

  eOwQmAsn2R09cjbB+7twJCJMpPes2JMWKkfEjMtNw6QzJUtM+G4CzqXPbnx8glMQ

  SQ==

  —–END CERTIFICATE REQUEST—–

  $

  위의 화일에서 인증요청서에 해당되는 부분 (BEGIN 이 포함된 라인에서부터

  END가 포함된 라인까지)를 인증기관(CA)에게 보내어 게이트키퍼 인증서를

  얻는다. 이 인증서를 /opt/globus/etc/globus-gatekeeper.cert에 설치한다.

  $ cat /opt/globus/etc/globus-gatekeeper.cert

  위의 지시에 따르면 ca@globus.org 로 인증요청서를 보내도록 되어 있지만,

  단지 테스트 용도로 사용하거나, 독자적으로 CA를 운영할 수도 있다.

  이에 관련된 내용은 별도의 다른 문서에서 다루기로 한다.

  일단은 인증요청서를 CA에게 보내어 인증서를 받아온다는 것만 기억하자.

4.9 /etc/services 화일 수정  [[목차]]

  $ su

  /opt/globus/etc/etc.services.modifications 화일의 내용을 /etc/services에

  추가한다. 2119번 포트를 globus-gatekeeper가 사용하도록 한다.

  # vi /etc/services

  # 다음 한줄을 마지막에 추가한다.

  globus-gatekeeper 2119/tcp # Globus Gatekeeper

  :wq

4.10 /etc/xinetd.d/globus-gatekeeper 화일을 만든다.  [[목차]]

  xinetd 데몬에 대한 설정으로 /etc/xinetd.d/globus-gatekeeper 화일을 만들어

  준다.

  # vi /etc/xinetd.d/globus-gatekeeper

  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

  }

  :wq

  참고: RedHat 6.x 버젼에서는 /etc/inetd.conf에 한줄을 추가하면 된다.

  # vi /etc/inetd.conf

  … (skip) …

  globus-gatekeeper stream tcp nowait root /opt/globus/sbin/globus-gatekeeper

    globus-gatekeeper -conf /opt/globus/etc/globus-gatekeeper.conf

  :wq

4.11 게이트키퍼의 키와 인증서의 소유권을 root로 변경한다.  [[목차]]

  # chown root.root /opt/globus/etc/globus-gatekeeper.cert

  # chown root.root /opt/globus/etc/globus-gatekeeper.key

4.12 MDS service를 사용하기 원한다면 해당 configuration 파일들을 수정해야 한다.

  MDS 설치 및 설정을 참조.

4.13 xinetd를 재시작  [[목차]]

  xinetd를 재시작하려면,

  # /etc/rc.d/init.d/xinetd restart

  또는, xinetd가 설정화일을 다시 읽도록 하려면

  # /etc/rc.d/init.d/xinetd reload

  # killall -USR1 xinetd

4.14 globus 시작  [[목차]]

  # /opt/globus/sbin/SXXglobus start

  # ps -ax | grep globus

참고로, globus를 끝내기 위해서는 다음과 같은 명령어를 사용한다.

  # /opt/globus/sbin/KXXglobus stop

OS의 시작과 종료시 globus를 함께 시작 및 종료하려면 다음과 같이 위의 파일들을

해당 시스템 디렉토리에 위의 파일들을 복사해두면 된다.

  – /etc/rc.d/rc5.d/S[nn]globus

    /etc/rc.d/rc5.d/K[nn]globus (RedHat)

  – /etc/rc3.d/S[nn]globus

    /etc/rc3.d/K[nn]globus (Solaris)

  – /sbin/rc3.d/S[nn]globus

    /sbin/rc3.d/K[nn]globus (HPUX)

4.15 gatekeeper 테스트  [[목차]]

  # /opt/globus/sbin/globus-gatekeeper \\

    -conf /opt/globus/etc/globus-gatekeeper.conf -test

Testing gatekeeper

Local user id (uid)      : root

Home directory           : /opt/globus

Libexec directory        : /opt/globus/libexec

Gatekeeper subject name  : “/O=Grid/O=Globus/CN=cluster.hpcnet.ne.kr”

Gatekeeper test complete : Success!

Gatekeeper shutting down!

4.16 globus 사용자 인증서  [[목차]]

  globus 사용자로 돌아온다.

  # exit

  grid-cert-request 명령을 이용하여 사용자 인증 요청서를 만든다.

  -cn 옵션뒤에 사용자 이름을 적어준다.

  $ /usr/local/globus/tools/i686-pc-linux-gnu/bin/grid-cert-request -cn “Globus Tester”

A certificate request and private key is being created.

You will be asked to enter a PEM pass phrase.

This pass phrase is akin to your account password,

and is used to protect your key file.

If you forget your pass phrase, you will need to

obtain a new certificate.

Using configuration from /usr/local/globus/etc/globus-user-ssleay.conf

Generating a 1024 bit RSA private key

..+++++

……………+++++

writing new private key to ‘/home/globus/.globus/userkey.pem’

Enter PEM pass phrase: 인증서 암호

Verifying password – Enter PEM pass phrase: 암호 확인

A private key and a certificate request has been generated

with the subject:

/O=Grid/O=Globus/OU=hpcnet.ne.kr/CN=Globus Tester

…(SKIP)….

  $

  CN은 해당 인증기관 내에서 사용자를 유일하게 식별해주는 이름으로

  이미 존재하는 이름이어서는 안된다. 또한 CN에는 특수문자를 사용하지 않도록 한다.

  홈디렉토리의 .globus 디렉토리 아래에 userkey.pem과 usercert_request.pem이

  만들어 진다.

  인증요청서 usercert_request.pem을 인증기관(CA)로 보내고,

  인증서를 받아온다. 이 인증서를 usercert.pem에 설치한다.

4.17 사용자를 grid-mapfile 화일에 추가한다.  [[목차]]

  $ vi /opt/globus/etc/grid-mapfile

  “/O=Grid/O=Globus/OU=hpcnet.ne.kr/CN=Globus Tester” globus

  참고:

  Using the grid-mapfile-add-user program, add the globus user into

  /opt/globus/etc/grid-mapfile

  http://www.globus.org/Security/v1.1/grid-mapfile.html

  grid-mapfile의 역할은 globus user의 CN을 내부계정(여기서는 globus)으로 mapping해준다.

4.18 CA 인증서 설치  [[목차]]

  CA의 인증서는 공개되어 있으며, CA가 제공하여 준다.

  CA의 인증서를 /opt/globus/share/certificates/에 설치한다.

  CA인증서의 화일명은 8자리의 hash code에 .0를 붙여 사용한다.

  CA의 인증서가 cacert.pem이라면 다음 명령의 결과 출력되는 값이 hash 값이

  된다.

  $ cd /opt/globus/share/certificates/

  $ ssleay x509 -hash -in cacert.pem -noout

  82da68f0

  cacert.pem의 이름을 바꾸어 주면 된다.

  $ mv cacert.pem 82da68f0.0

  인증서 디렉토리 설정

  인증서 디렉토리는 X509_CERT_DIR 환경변수로 지정되어 있야야 하는데,

  환경변수가 지정되어 있지 않을 경우 기본적으로

  /etc/grid-security/certificates가 사용된다.

  환경변수를 지정하거나, /etc/grid-security/certificates 링크를 만들어 준다.

  $ su

  # mkdir /etc/grid-security

  # ln -s /opt/globus/share/certificates /etc/grid-security/certificates

  # exit

  또는

  $ export X509_CERT_DIR=/opt/globus/share/certificates

  $ echo $X509_CERT_DIR

4.19 ca-signing-policy.conf 화일 편집  [[목차]]

  CA에 대한 entry를 추가한다.

  $ vi /opt/globus/share/certificates/ca-signing-policy.conf

#————————————————————————

#  token type  | def.authority |                value

#————–|—————|—————————————–

# EACL entry #1|

access_id_CA  X509    ‘/C=US/O=Globus/CN=Globus Certification Authority’

pos_rights    globus  CA:sign

cond_subjects globus  ‘”/C=US/O=Globus/*” “/O=Grid/O=Globus/*”‘

# EACL entry #2|

access_id_CA  X509    ‘/C=KR/O=Globus/CN=KISTI Supercomputing Center CA’

pos_rights    globus  CA:sign

cond_subjects globus  ‘”/C=KR/O=Globus/*” “/O=Grid/O=Globus/*”‘

# end of EACL

  In the EACL entry #2 of the ca-signing-policy.conf,

  The first one “/C=KR/O=Globus/*” is for the CA authorization,

  and the second one “/O=Grid/O=Globus/*” is for the Globus user.

  i.e.

  CA identity  : /C=KR/O=Globus/CN=My Certificate Authority  –> “/C=KR/O=Globus/*”

  User identity: /O=Grid/O=Globus/OU=hpcnet.ne.kr/CN=MyUser  –> “/O=Grid/O=Globus/*”

4.20 globus-setup-test  [[목차]]

  $ /opt/globus/sbin/globus-setup-test

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 cluster.hpcnet.ne.kr

Authentication test …………………Success!

Submission test …………………….Success!

Testing Completed!

  $

  If you meet an error message in the Submission test.

  마지막 Submission test가 실패할 경우

  /opt/globus/etc/globus-jobmanager.conf 화일의 맨 마지막줄에

  “-save-logfile always”를 추가한다.

  $ echo “-save-logfile always” >> /opt/globus/etc/globus-jobmanager.conf

5. Start using Globus  [[목차]]

  글로버스 사용자 환경을 만들어 주기 위한 스크립트를 .bashrc 화일에

  추가 시킨다.

  $ vi ~/.bashrc

  …(skip)…

  export GLOBUS_INSTALL_PATH=/usr/local/globus

  .  $GLOBUS_INSTALL_PATH/etc/globus-user-setup.sh

  :wq

  $ echo $GLOBUS_INSTALL_PATH

  $ globus-version

  $ which globus-setup-test

  $ globus-setup-test <hostname>

  $ /opt/globus/sbin/globus-setup-test

  $ grid-proxy-init

  $ grid-proxy-info -all

  $ grid-proxy-destroy

  $ grid-proxy-init

  $ globusrun -a -r host.domain

  $ globus-job-run host.domain /bin/echo Hello World

  $ globusrun -a -r host.domain/jobmanager

  $ grid-info-host-search -h localhost  ‘&(objectclass=*)’

  $ home/globus/globus/globus-build/services/i686-pc-linux-gnu/ \\

    ResourceManagement/gram/programs/gatekeeper/globus-gatekeeper \\

   -d                # debug mode run in foreground

   -p -port (port number)

   -e (exec_dir)     # default /usr/local/globus/services/i686-pc-linux-gnu/libexec

  $ globusrun -a -r host:port

6. 기타  [[목차]]

6.1 시간 맞추기  [[목차]]

globus를 실행하려는 기계의 현재 시각이 인증서 발급 시간보다 이전인 경우,

인증서는 유효하지 않게 된다. 따라서 기계의 현재 시각을 올바로 세팅해야 한다.

  # date

  # rdate -s time.kriss.re.kr

[참고] time.kriss.re.kr은 표준과학연구원에서 제공하는 time server이다.

6.2 globus user password변경  [[목차]]

  $ grid-change-pass-phrase

  read RSA private key

  Enter PEM pass phrase:                       ==> 원래 암호

  writing RSA private key

  Enter PEM pass phrase:                       ==> 새 암호

  Verifying password – Enter PEM pass phrase:  ==> 한번 더

참고문서  [[목차]]

1. Globus Toolkit 1.1.3 System Administration Guide, Dec. 2000

2. Globus Quick Start Guide for 1.1.3 and 1.1.4 June 2001

3. Mailing list discuss@globus.org

   (http://www-unix.globus.org/mail_archive/discuss/threads.html)

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.