확인사항

  • 먼저 자신의 지역(site)가 Tier3를 지원할 수 있는지에 대하여 조사를 해야한다.
  1. 컴퓨터 서버 최소 4대 (Phedex 사용 안하거나 인증 편법을 쓴다면 3대)
  2. UI용으로 쓸 적당한 컴퓨터( 개인 PC도 상관 없음 )
  3. 각 서버들에게 지정할 공인IP(public IP)
  4. 도메인 네임서버 2대(전산실에서 지원한다면 수정 요청을 할 수 있을 것. 반드시 2대 이상이여야 함. Revese DNS 가 반드시 가능 해야 함.)

준비과정

  • 각 노드들(CREAM, SE, site-BDII, VOBOX)을 설치하기 전에 각 노드들에 대한 hostcert(hostcert.pem, hostkey.pem)를 발급받아 /etc/grid-security 디렉토리에 넣어두어야 한다.
    • hostcert는 CERN CAKISTI CA에서 발급 받으면 된다. 자세한 내용은 해당 사이트에서 확인 요망.
    • KISTI CA는 CERN 유저가 아니더라도 면접을 통해 발급 받을 수 있으니 CERN 유저가 아니라 할지라도 등록이 가능하다.
    • 유저 인증서와는 달리 서버 인증서는 KISTI<->CERN 통용이 가능하다. AP PMA에 가입되어 있기 때문이라고 한다.
  • 노드들을 설치한다. 자세한 내용은 Configuration for EMI3 참고
    • lcg-CA의 버전은 항상 최신버전을 이용해야 한다. lcg-CA는 EGI-trustanchors.repo 을 이용한 경로에서 다운 받도록 한다.
    • 머신을 제작시 공인IP와 사설IP를 동시에 사용할 경우 공인IP가 eth0 로 되게끔 시스템을 구축할 것. 잘은 모르지만 eth0의 IP를 기반으로 시스템이 구성되는 느낌이 있음.
    • 가장 주의해야할 것이 /etc/hosts 파일을 적절히 구성하는 것임. 사설IP만 접근 가능한 머신들(eg. WN )의 경우 /etc/hosts파일에다가 다른 머신(CE,SE)에 대한 사설IP를 입력하지 않는다면 접근이 가능하지 않으므로 정상작동 하지 않는다. * CE와 SE, BDII 머신은 공인아이파와 사설 아이피 2개를 가지고 있어야 하며, WN은 각 머신들의 풀 호스트 네임(FQDN)에 대해서 사설 IP로 접근 하도록 작성되어야 한다. *
       
      ###########EGI-trustanchors.repo############
      # EGI Software Repository - REPO META (releaseId,repositoryId,repofileId) - (2483,-,241)
      
      
      [EGI-trustanchors]
      name=EGI-trustanchors
      baseurl=http://repository.egi.eu/sw/production/cas/1/current/
      enabled=1
      gpgcheck=1
      gpgkey=http://repository.egi.eu/sw/production/cas/1/GPG-KEY-EUGridPMA-RPM-3
      
      ###########EGI-trustanchors.repo############
      
      

  • 노드들의 설치 후 Tier3를 준비하기 위해서는 먼저 상위 기관과 계약을 해야한다.
    • 아시아 태평양 사이트들을 타이완을 중심으로 등록하게 된다. Sinica Taiwan에 e-mail 연락을 하면 신청서류라고 하면서 서류를 보내준다.
    • 센터장의 성함과 사인 등 채울 것을 채우고 해외fax(00700 886 2 2783 7653)로 보내주면 된다.
    • 위 계약서를 보내줘야 GOCDB에 자신의 사이트를 등록하게 되며, 등록 후에 dteam vo를 발급 받을 수 있다. 신청을 하자.
      • dteam VO는 KISTI 인증서를 사용하든가, CERN 인증서를 사용하든지 원하는대로 하면 됨.
  • https://twiki.cern.ch/twiki/bin/view/EMI/GenericInstallationConfigurationEMI3 을 참조하도록 하자. Installing the Operating System 부분의 내용들은 모든 노드들 공통사항으로 전부 설치해줘야 한다.

주의사항

  • 사이트의 머신들을 점검하기 위해서는 dteam VO를 사용할 것. OPS는 sam 테스트를 위한 것으로 사이트 관리자에게는 필요가 없다고 공지 받음.
    • 실제로 사이트를 작동시키고 살펴보면 외부에서 SAM 테스트를 위해 ops 계정을 이용하는 것을 볼 수 있다. CMS Tier3가 되려면 반드시 허용 VO 목록에 ops가 있어야 한다. (cms, dteam, ops)
  • glite들은 2012년 10월을 기준으로 모두 emi2(emi1은 2013/3월까지) 혹은 umd로 이전하도록 권고되었다.
  • gLite->emi 이전시 모든 glite 패키지를 삭제하고 emi를 설치해야 정상 작동을 한다. 서버를 포맷하는 것을 추천. 살려야겠다면, glite, lcg, edg, vdt, globus로 검색된 모든 패키지를 삭제하고 시도해볼 것.
    • 추가석으로 /opt 밑에 glite 관련 패키지들도 rpm -qf 등으로 조사한 후 삭제해준다.(yaim제외)
    • SRM_PATH가 /opt/glite 경로로 잡혀 있다면 실행이 되지 않는다. /usr/share 쪽으로 변경된 것을 확인해보자.

Node 상세

emi-cream-ce

emi-cream-ce 이란?

  • 그리드 머신들 중 CE 혹은 CREAM은 그리드 시스템의 자원 중 컴퓨팅 자원(Computing element, CE)에 관련한 노드이다.
  • 일반적인 클러스터에서 헤드노드(HN) 혹은 마스터 노드라고 생각되는 노드와 하는 역할이 동등하다고 보면 된다. Resouce ldap 정보를 site-BDII에 보고를 하는 것만이 기존의 Job manager의 마스터 노드들과 다른 점이다.

설치과정

yum install emi-cream-ce emi-torque-server emi-torque-utils emi-apel
/opt/glite/yaim/bin/yaim -c -s /pnfs/etc/siteinfo/site-info.def -n APEL -n creamCE -n TORQUE_utils -n TORQUE_server

주의사항

  • CE머신은 반드시 스왑 공간을 만들 것. 추후 따로 만드는 것도 무방하나, 스왑공간을 만들지 않았다면 스왑공간을 다 사용했다고 더이상 job을 받지 않도록 drain모드로 전환됨.
    • glite-ce-allowed-submission 명렁어 참고할 것
  • /opt/glite/var/log/glite-ce-bupdater.log 파일 확인 => /var/spool/pbs/server_logs 디렉토리 생성 할 것
  • CE머신의 /home 디렉토리가 원격일 경우 문제가 생길 수도 있다. 로컬유저용(cms001 등) 아이디의 홈페이지를 생성하기 때문. CE머신은 유저관리를 UI머신들과는 별도로 한다고 생각하도록 하자.
  • emi-APEL을 같이 설치한다. GOCDB에다가 apel 노드로 추가 등록을 한다. glite-apel 노드가 아니다.
  • UID 155(glite) GID 155(glite), 162 그룹이 필요하다. 기존에 존재하는 그룹이라면 변경해야 할듯. 각 노드간 유저ID가 다르더라도 작동은 가능하다. 다만, munge 같은 경우에는 주의가 필요. munge가 사용해야할 디렉토리가 ID 숫자 때문에 munge가 아닌 다른 유저 소유로 되어 있는 경우가 있으니 확인을 해야 한다. 자세한 내용은 WN노드 참고.

필수 설정 설명

emi SE node

SE node란?

  • 그리드 머신들 중 SE(Storage Element)는 스토리지에 관련한 노드이다. CMS에서의 경우 CRAB 사용시 srm-cms.cern.ch 노드를 이용하여 castor를 이용하게 되는데, 마찬가지 방법으로 각 노드들의 스토리지는 glite-SE머신을 이용하여 서로가 통신을 하게 된다.
    • 대표적으로 사용되는 DPM서버나 SRM서버를 사용하게 되는데, DPM이 소규모 사이트들에서 보다 더 편리한 방법이다. 테이프 저장 시스템이 없다면 SRM을 사용할 필요가 없다.

설치방법

yum install emi-dpm_mysql emi-dpm_disk
/opt/glite/yaim/bin/yaim -c -s /pnfs/etc/siteinfo/site-info.def -n emi_dpm_mysql -n emi_dpm_disk

주의사항

  • CE머신으로 작업을 던졌는데 이상하게 결과파일이 SE에 써지지 않을 때, SE머신의 gridmap file을 확인할 것. 그 안에 자신의 DN이 없다면 작동하지 않음.
    • 가장 쉽게 gridmap을 재생성하는 방법은 yaim을 한번 더 세팅하는 것임. (물론 추후에 검색을 통해 다른 명령어를 찾을 수 있을 것임)
    • dteam 등에 가입되어 있지 않다면 자신의 머신들 사이에서 던지는 작업도 실행되지 않음. 착각하기 쉬운 것은 gridmap에 없더라도 이상하게 직접 파일쓰기는 된다는 점.
    • 원래는 Batch Server 와 CE_HOST를 달리 정할 수 있을 거 같으나, 실제로 해보면 문제가 된다. 어쩔수 없이 WN의 /etc/hosts 파일을 수정해야 한다.
    • FileSystem?을 지정해줄 수 있다. (마운트된 하드디스크의 경로) 경로가 이상하면 곤란한 경우에 도달할 수 있으니 주의.(예를 들면 디렉토리가 없다거나.)

emi-site_BDII

emi-site_BDII란?

  • site-BDII는 사이트들에 관련한 상태 정보를 담고 있는 ldap서버이다. Top-bdii가 없다면 GOCDB에 적어야 하는 GIIS 서버의 정보는 이 사이트를 기준으로 한다.
    • eg) ldap://uosaf0006.sscc.uos.ac.kr:2170/mds-vo-name=KR-UOS-SSCC,o=grid
  • site-BDII는 각 자원 노드들(CE, SE, VOBOX)와의 통신이 항상 원활해야 한다. 또한, 사이트 체크도 이 머신을 기준으로 체크되어야 한다.
  • Sinica Taiwan에서 Top-bdii를 제공해주고 있다. ( bdii.grid.sinica.edu.tw ) 하나의 서버라도 아낄려면 최대한 활용해주자.

설치방법

yum install emi-bdii-site emi-apel
/opt/glite/yaim/bin/yaim -c -s /pnfs/etc/siteinfo/site-info.def -n BDII_site -n APEL

주의사항

  • emi-APEL을 반드시 같이 설치하자. GOCDB에다가 glite-apel 등록을 한다.
  • 나중에 glexec 관련 오류(로컬 유저 아이디 관리)가 발생시에는 이 머신에서 gap publisher를 사용하자. 똑같이 Apel 깔려 있다고 CREAM머신에서 하려고 하면 로그인이 안된다고 나옴.

emi-UI

emi-UI란?

  • UI머신은 실제로 사용자들이 그리드 환경을 사용하기 위해 필수 유틸리티들이 설치되어 있는 클라이언트 서버이다. 사용자들은 그리드 명령어를 UI에서 작동시키도록 유도되어야 한다.

설치방법

yum install emi-ui
/opt/glite/yaim/bin/yaim -c -s /pnfs/etc/siteinfo/site-info.def -n UI

주의사항

  • 설치방법이 다른 머신들과는 조금 다르다. 주의하도록 하자.

emi-WN

emi-WN란?

  • WN머신은 CREAM/CE머신의 하부구조로 들어가 실제로 연산을 수행하는 머신들이다. WN머신들은 그 자체만으로 작동이 되도록 구성이 되어야 한다. (CMSSW 미리 설치, 환경변수 세팅 등)
  • 여러번 설치를 하는 수고를 가지지 않기 위해서라도 /opt는 nfs 등을 이용하여 공유하도록 하자.
  • munge의 권한 설정에 관한 문제가 발생할 수 있다. /var/run/munge /var/log/munge /etc/munge /var/lib/munge의 소유권이 munge에 있도록 한다.

설치방법

yum install emi-wn emi-torque-client
/opt/glite/yaim/bin/yaim -c -s /pnfs/etc/siteinfo/site-info.def -n WN -n TORQUE_client

주의사항

  • 위에서도 몇 번 언급하였는데 반드시 /etc/hosts를 제대로 구성하도록 하자.
    • 대개 WN머신은 내부망만을 이용하도록 구성되기 때문에 CREAM과 SE머신 접근을 내부망을 통하여 통신하도록 수정해야 한다.
    • 혹은 인터넷 접속이 가능하도록 설정을 해야 한다.

노드 외 추가설치가 필요한 프로그램들

phedex

PheDex란?

  • Phedex는 CMS DataSet 단위의 전송을 요청할 수 있는 데이터 전송 요청 시스템이다.

설치

등록

  • 위 사이트에 사바나 티켓을 이용한 관리자 등록 부분을 잘 처리해줘야 한다.

    Site name (e.g. Pisa)  // 적당히 아무 이름도 상관 없음. 단지 설명란에 나온다는 점만 생각하면 됨.
    CMS name (e.g. T2_IT_Pisa) // 이건 T2 냐 T3냐에 따라 적절히 바꿔 쓰면 됨.
    SAM name. This should be the same thing as the GlueSiteName attribute published in BDII.
        EGEE sites: this corresponds to the site name in GOCDB (e.g. INFN-PISA for T2_IT_Pisa)
        OSG sites: this corresponds to the Resource Group name in OSG Resource Group Summary NOTE: you should provide the Resource Group name (e.g. MIT_CMS_T3) rather than the Resource name (e.g. MIT_CMS_T3-CE1)   // SAM name 은 EGEE소속일 경우에는 GOCDB 이름과 반드시 같도록 넣어야 한다. 
    City/Country
    Site tier (e.g. Tier 2)
    Storage Element host (e.g. cmsdcache.pi.infn.it)
    Storage Element kind (e.g. Buffer, MSS, Disk)               // 테이프 시스템이 없다면 버퍼, MSS가 아니므로 Disk 선택.
    Storage Element technology (e.g. dCache, Castor, DPM, Disk, Other)      // 시립대의 경우 DPM
    Computing Element host(s) (e.g. gridce2.pi.infn.it gridce.pi.infn.it )    
    Associated Tier 1 (e.g. INFN)                                                         // Associated Tier 1. 위의 절차 대로 했다면 타이완.
    Grid type (e.g. LCG, OSG)                                                            // LCG 선택
    Data Manager name, e-mail, phone, certificate DN                           // 밑에 4항목은 관리자가 될 사람의 GRID CA DN을 넣어주면 됨.
    CMS.PhEDEx Contact name, e-mail, phone, certificate DN
    Site Admin name, e-mail, phone, certificate DN
    Site Executive name, e-mail, phone, certificate DN 

Agent 설정

  • 사이트 등록 후 운영자로 지정되면 티켓에 포함해서 올렸던 USER CA Public KEY를 이용하여 암호화한 DBParam을 이메일로 받게 된다.
  • openssl 명령어로 풀어주면 DBParam 설정 파일이 나온다. phedex 아이디와 암호가 들어있다. ( 유출되면 절대 안됨. )
  • CMSSW 설치 후에 Global tag 사용을 위해 SITECONF 디렉토리를 다운 받은 사람들은 디렉토리 중 JobConfig? 쪽만 사용했을테지만, Phedex 관리자들은 PhEDEx? 디렉토리의 자료들도 수정해야 함.
  • 설명에 나오는 대로 아래 파일들의 수정이 필요하다. ( 전부 사용되는 것은 아니나, 이런식으로 구성된다.)
    Config
    ConfigPart.Common
    ConfigPart.Export
    ConfigPart.FTSDownload
    ConfigPart.SRMDownload (only for non-LCG sites)
    FileDownloadSRMVerify
    ProxyRenew 
  • 가장 핵심이 되는 설정은 Config 로, Prod/Debug/Dev Agent 별로 따로 만드는 것을 추천.
    • IMPORT는 앞에 ###가 있으면 적용, ####가 있으면 적용X. 주석인 줄 알면 큰일난다.
    • 사용되는 환경변수는 추후 DBParam에 나오는 Section 이름을 매칭할 수 있어야 한다. ( Prod/T3KRUOS 라면 $PHEDEX_LABEL=T3KRUOS 로 지정하고 ConfigPart?.Common의 PHEDEX_DBPARAM에다가 지정해주면 됨. )
  • Common, Export 는 건들이지 않아도 무방. ( 둘다 임포트 )
  • 아래 Download 들 중에서 선택을 하게 된다. 선택 원칙은 간단한데, srmcp 명령어가 잘 작동하느냐 lcg-cp 명령어가 잘 작동하느냐로 구분하면 된다.
  • srmcp가 잘 작동하면, ConfigPart?.SRMDownload 를 임포트 하고 default =off 부분을 지워준다. ( ###부분에 있다. ###은 적용. ####은 비적용.) 또한, ConfigPart?.Download의 download-remove 에이젼트만 남기고 지운 후 임포트.
  • lcg-cp가 잘 작동하면서 fts 서버를 이용하지 않는 경우라면 ConfigPart.SRMDownload는 임포트 하지 않고, download-prod라는 에이젼트를 만들어주는데, 자세한 설정은 ConfigPart.Download 설정 참조. 이 에이젼트는 FileDownloadLCG, FileDownloadLCG.sh, FileDownloadLCG.conf의 다운로드 관련 파일 3개와 FileDownloadVerify, FileDownloadDelete 같은 지원 파일도 작성한다.
  • Agent 설정 중에 옵션으로 -d 가 있다면 잘 확인해볼 것. 전송 후 삭제 옵션이 있기 때문.
  • 각각의 파일은 쉘 상에서 입력해도 작동할 정도로 작성을 해둬야 에러가 발생하지 않는다.
  • 잘 작성했다면 에이젼트를 켜보자.
#!/bin/bash
eval `/phedex/PHEDEX/Utilities/Master -config /phedex/SITECONF/T3_KR_UOS/PhEDEx/Config environ`
/phedex/PHEDEX/Utilities/Master -config /phedex/SITECONF/T3_KR_UOS/PhEDEx/Config start
  • 접속이 안되면 DBParam 설정 에러. 실행파일 Master의 경로는 잘 찾아보자.
  • phedex 사이트의 컴포넌트 쪽을 가보면 에이젼트가 접속이 되었는지 확인할 수 있다.
  • LoadTest07을 해보길 추천. TMDB 올리지 않으면 LoadTest? 요청 자체가 불가능하다. 반드시 체크할 것. ( Debug 쪽에다가 )
  • 데이터 요청 한후, Prod_ 디렉토리에 log, state 디렉토리가 생기고 이를 보면 에러를 잡을 수 있다.

주의사항

  • NFS ,Lustre 같은 네트워크 드라이브 상태에서는 Lock 문제로 작동을 하지 않을 수 있다.
    • /etc/fstab 파일에다가 해당 디스크의 마운트 옵션에 flock,_netdev 을 넣어주면 잘 작동한다.

CMS Frontier Squid

Frontier Squid란?

  • CMSSW에서 사용된 Global Tag에 관련한 정보는 CMS 중앙 서버에서 저장되어 관리된다. 문제는 각 노드들에서 이를 이용하려면 생각보다 시간이 오래 걸린다는 점이다. 이를 해결하기 위해서는 각 사이트 별로 Frontier Squid를 설치해야만 한다.
  • https://twiki.cern.ch/twiki/bin/view/Frontier/InstallSquid 참조
  • Frontier Squid 서버도 사바나 티켓을 발부하여 등록해야 한다. 등록된 사이트 말고 다른 사이트에 설치할 경우 메일이 오는 경우가 있음.

주의사항

  • configure 부분을 잘 다뤄야 한다. UOS 사이트의 경우 210.219.52.0/24 부분을 허용 아이피 대역대에 넣어줘야 한다.

Puppet install

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

Puppet master

yum install puppet-server

Puppet agent

yum install puppet

-- GunmoRyu - 24 Aug 2011

Edit | Attach | Watch | Print version | History: r18 < r17 < r16 < r15 < r14 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r18 - 2015-09-16 - GunmoRyu
 
KOREA-CMS
This site is powered by the TWiki collaboration platform Powered by Perl 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 KoreaCmsWiki? Send feedback