From T3_KR_KNU
Jump to: navigation, search
(Starting GRID Job Submission)
(Setting Environment)
Line 117: Line 117:
 
CRAB(CMS Remote Analysis Builder) 환경설정
 
CRAB(CMS Remote Analysis Builder) 환경설정
 
  $ source <working-directory>/CRAB_x_y_z/crab.csh
 
  $ source <working-directory>/CRAB_x_y_z/crab.csh
$ setenv PYTHONPATH ${PYTHONPATH}:${GLITE_LOCATION}/lib
 
  
 
== Starting GRID Job Submission ==
 
== Starting GRID Job Submission ==

Revision as of 11:52, 21 April 2014

1 Pre-requisites

KNU Tier-2를 이용하기 위해서는 Grid 환경에 접속하기 위한 인증서를 공식 인증 사이트를 통해 획득한 후 LCG VO에 등록하고 KNU Tier-2에 사용계획서 및 유저 등록을 통해 계정을 부여받는다.

1. CERN 및 CMS User 등록

 CERN & CMS User Registration

2. Certificate

 CERN 인증서 웹사이트에 접속하여 Certificate를 발급받는다.  
 Certificate가 발급되면 인증서를 개인 PC 웹브라우저에 Import 한 후, 
 Import된 인증서를 웹브라우저 설정 메뉴 중 Public key 관련탭에서 개인 PC로 Export할 수 있다. 
 (인증서를 Export할 시 확장자는 ".Pfx"로 선택하시기 바랍니다.) 
 Export된 인증서 파일은 cms UI(cms.knu.ac.kr)의 본인 디렉토리에 복사한 후
 아래의 순서대로 인증서와 키를 만들어 .globus 디렉토리에 넣으시기 바랍니다.
  $ mkdir .globus
  $ openssl pkcs12 -in usercert.pfx -clcerts -nokeys -out .globus/usercert.pem
  $ openssl pkcs12 -in usercert.pfx -nocerts -out .globus/userkey.pem
  $ chmod 644 .globus/usercert.pem
  $ chmod 400 .globus/userkey.pem

3. VO(Virtual Organisation) 등록

  CERN Certificate를 다운로드 받은 웹브라우저(인증서가 import 되어 있는)로
  LCG CMS VO에 접속하여 인증서를 등록. (참고: VO 등록방법 안내 자료)
  이메일등 신상 정보를 입력하고, role을 선택한 후 신청서를 제출하면, 담당자가 등록 결과를 이메일로 보내줌. CMS VO 등록 여부 확인 홈페이지

4. Getting KNU Tier-2 Account

  1) KNU Account Registration 웹페이지에서 신청서를 작성, 제출한다.
  2) 사용계획서(hwp)를 작성하여 e-mail(lcg_knu@knu.ac.kr)로 발송한다.
  발급 받은 임시 비밀번호를 이용해 KNU Tier-2 UI에 접속한 후 그리드 프록시가 정상적으로 생성되는지 확인한다.
  (임시 비밀번호는 아래 안내문을 참고해서 반드시 변경하십시오)
  $ voms-proxy-init
  Your identity: /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=XXXXXXXX    <--------- DN(distinguished name)

5. SiteDB 등록

  CRAB을 이용하려면 반드시 SiteDB에 DN을 등록해야 함
  SiteDB Regisration 웹페이지에 자신의 DN(distinguished name)을 등록한다.(하이퍼뉴스 가입, 사바나 가입 후 사바나에서 등록 요청 해야 함.)
  (1) CMS Hypernews 가입
  hypernews 서버에 최초 접속하면 패스워드 물어오고, 입력하면 곧바로 가입처리 되면서 자동으로 서버에서 로그아웃 됨
  [lxplus]$ ssh hypernews.cern.ch
  Set Password: **********
  (2) Savannah 가입
  사바나 회원 등록 웹페이지(https://savannah.cern.ch/account/register.php )에서
  ID(CERN account), Real Name, Email, Password 입력 ("use CERN based authentication" 체크하면 CERN 계정과 동일한 Password 사용)
  등록한 Email로 본인 확인 편지가 도착함. 이메일 내용에 있는 인증 웹페이지로 접속하여 로그인하면 가입처리 완료
  (3) SiteDB DN 등록요청 글 작성
  CMS Computing Infrastructure Support 프로젝트의 Support 메뉴
  (https://savannah.cern.ch/support/?func=additem&group=cmscompinfrasup&category_id=117&assigned_to=4435&summary=Add+DN%2FHN+mapping+SiteDB&custom_sb1=100&custom_sb2=102 )에
  SiteDB의 사용자 정보(DN) 등록 요청 글 작성 (Site: T2_KR_KNU 선택하고, ID(Hypernews account), Email, DN 을 본문에 기입해서 제출)
  관리자가 등록해줌
  (4) 등록 확인: SiteDB 홈페이지(https://cmsweb.cern.ch/sitedb/prod/people )에서 자기 이름이 등재되어 있는지 확인
  - 기타 안내자료
  SiteDB for CRAB: https://twiki.cern.ch/twiki/bin/view/CMS/SiteDBForCRAB

2 KNU Tier-2 Login

1. Linux 에서 접속하기

터미널을 열어서 원격로그인(SSH)으로 접속한다. 
ssh -X username@kcms-t2.knu.ac.kr( or username@cms.knu.ac.kr, username@cms01.knu.ac.kr)

2. Windows OS 에서 접속하기

Windows OS 에서 linux 서버로 접속하려면 원격 로그인을 사용할 수 있는 특정 프로그램이 필요하다.
   예) Putty, SSH Secure Shell Client (프리웨어 또는 정식 서비스를 찾아 설치가능) - SSH Secure Shell Client 예시 화면
또한, Event display 및 ROOT을 사용하기 위해서는 다음과 같은 X 서버를 별도로 설치하여야 한다.
   예) Xming, Cygwin/X11, Hummingbird, Xmanager(유료)
  • 첫 로그인 후 개인 Password 및 shell 설정시 유의사항
1) 패스워드 변경시 passwd 명령 대신 yppasswd 를 사용.
   $ yppasswd
2) Login Password는 알파벳, 숫자, 특수문자 등을 섞어서 사용하여 기억하기 쉬우면서도 길게 만드는 것이 해킹방지에 용의하다.
   (간단한 단어 또는 숫자만의 조합은 극히 위험함.)
3) 기본 쉘 변경을 원하는 경우 csh 대신 ypchsh 명령을 통해 기본 쉘을 csh 로 변경 가능  
   $ ypchsh

3 CMSSW(CMS Software) Installation

  • KNU Tier-2의 CMS UI 환경의 기본 쉘은 bash 이다. CERN의 lxplus 와 같은 환경으로 작업하기 위해서는 csh 으로 전환한다.
$ csh

CMSSW 을 설치하기 위해 먼저 설치 환경을 설정한다.

$ source /cvmfs/cms.cern.ch/cmsset_default.csh

설치하고자 하는 버전의 CMSSW 를 확인한 후 개인 <working-directroy> 로 이동하여 설치한다. (x.y.z 는 버전을 나타낸다)

$ scramv1 list CMSSW
$ cd <working-directory>
$ scramv1 project CMSSW CMSSW_x_y_z

4 CRAB(CMS Remote Analysis Builder) Installation

CRAB online manual and tutorial

위 링크사이트의 CRAB releas note 부분을 참조하여 CRAB tar ball file 을 다운로드 받는다. 다운로드 받은 파일을 <working-directory> 로 옮겨 압축을 풀고 설치한다.

$ cd <working-directory>
$ tar vfx CRAB_x_y_z.tgz
$ cd <working-directory>/CRAB_x_y_z
$ ./configure

5 Setting Environment

$ source /cvmfs/cms.cern.ch/cmsset_default.csh
  • CMSSW 5_X_X 버전(64 bit)을 사용하기 위해서는 아래 환경설정을 추가로 입력
$ set SCRAM_ARCH=slc5_amd64_gcc462
  • 환경 설정시 필수 유의사항
1. CMSSW 환경 설정은 반드시 CMSSW_x_y_z directory 아래에서 시행되어야한다. 
2. CRAB을 사용하는 경우 환경 설정 순서는 반드시 CMSSW 환경설정을 우선하여 시행한다.

CMSSW 환경 설정

$ cd /cvmfs/cms.cern.ch/slc5_amd64_gcc462/cms/cmssw/CMSSW_x_y_z
$ cmsenv (= eval `scramv1 runtime -csh`) 

CRAB(CMS Remote Analysis Builder) 환경설정

$ source <working-directory>/CRAB_x_y_z/crab.csh

6 Starting GRID Job Submission

CRAB(CMS Remote Analysis Builder)이란?

CRAB 사용 및 간단한 명령어

$ cd <working-directory>/CMSSW_x_y_z/src/<data-directory>
$ voms-proxy-init --voms cms
     예)Your proxy is valid until Tue Apr 22 06:03:51 KST 2014
 
CRAB 기본 명령어    
$ crab -create -submit   (Grid job 생성 및 submit) 
$ crab -status           (수행중인 job 의 상태 확인)
$ crab -getoutput        (완료된 job 의 output 을 확인)

crab.cfg 관련 document

http://cmsdoc.cern.ch/cms/ccs/wm/www/Crab/Docs/crab-v2.7.8.html

CRAB 사용시 유의 사항

  • CRAB_x_y_z/python/crab.cfg, <analysis file(***.py)> 두 파일을 <working-directory>/CMSSW_x_y_z/src/ 디렉토리에 복사한다.
  • File editing - <analysis file(***.py)> 과 crab.cfg 파일의 input file 이름, output file 이름, # of events 를 반드시 확인해야 한다.
  • How to use CRAB to publish - https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideCrabForPublication
Modify the crab.cfg
https://twiki.cern.ch/twiki/bin/viewauth/CMS/CrabNewHowTo 사이트 참조
dbs_url_for_publication = "https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet"
  • T2_KR_KNU 사이트에 데이터를 저장하려면 crab.cfg 파일 설정을 아래와 같이 바꿔줘야 한다.
storage_element = cluster142.knu.ac.kr
storage_path = /srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)
  • MC sample들을 CMS에 publish 하였는데 CRAB에서 Data를 읽을 수 없는 문제 해결 방법
HyperNewsUserName(User Name)과 CMS의 ID가 다를 경우 상기 문제가 발생합니다.
publication의 설정을 조정하여 해결 가능합니다. (기본 설정은 HyperNewsUserName과 CMS ID가 같은 경우에 정상 동작합니다.)

설정하는 방법은 크게 두 가지로 나뉩니다.

1. Official CMS site
2. non Official CMS site

1의 방법은 HyperNewsUserName과 CMS ID가 같은 경우에 정상 동작합니다.
만약 HyperNewsUserName과 CMS ID가 상이한 경우, 2의 내용과 같이 설정을 바꾸어 주시기 바랍니다.


1. Stage out and publication to a "Official CMS site"
(기본 세팅, HyperNewsUserName과 CMS ID가 같은 경우)

storage_element = T2_KR_KNU
#storage_path = empty
#user_remote_dir = empty

위와 같이 설정하면 srm://cluster142.knu.ac.kr:8443//srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/HyperNewsUserName 에 파일이 저장되고 publish 까지 가능합니다.
하지만 HyperNewsUserName 과 CMS ID가 다른 경우 문제가 발생합니다.
(/store/user/HyperNewsName 에 저장되고 publish 도 할 수 있지만 T2_KR_KNU 에서 자신이 사용하고 있는 ID와 다르므로 Crab에서 사용할 수 없게 됩니다.)

 [주의 : storage_path와 user_remote_dir을 활성화하고 내용을 기입해도, 그 설정이 적용되지 않습니다. 그러므로 HyperNewsUserName 과 CMS ID가 서로 다른 분은 반드시 2의 내용대로 설정하셔야 합니다.]


2. Stage out and publication to a "non Official CMS site"
(HyperNewsUserName과 CMS ID가 다른 경우)
 
storage_element = cluster142.knu.ac.kr
storage_path = /srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms
user_remote_dir = /store/user/CMSID

(참고 : user_remote_dir의 설정 중에 CMSID 는 CMS에서 사용하고 있는 자신의 ID입니다.)

위와 같이 user_remote_dir 가 /store/user 로 시작하면 srm://cluster142.knu.ac.kr:8443//srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/CMSID 에 파일이 저장됩니다.
publish 가 정상적으로 이루어지며, Crab 에서도 파일을 읽을 수가 있습니다.

[추가설정 : 자신의 홈디렉토리 하위 특정 폴더에 데이터를 저장하시려면, CMSID 뒤에 경로를 추가하시면 됩니다.]

7 How to use KNU Tier-3

1. KNU Tier-3 Center 자원 안내

  Tier-3 Farm은 약 20개의 CPU 코어(Opteron280 2.4GHz)로 이루어진 Analysis Farm입니다.
  현재 자원이 넉넉하지 못하므로 너무 많은 양의 job 혹은 무거운 job의 실행은 Tier-2를 이용해 주시기 바랍니다.
  추후 자원 증설 예산을 최대한 반영하여 자원 확보에 노력하겠습니다.

2. Grid 환경에서 작업 실행하기

  기본적인 작업 실행 방법은 기존 Tier-2의 방법과 동일합니다.
  다만, Crab 설정에서
  [GRID]
  ce_white_list = cluster118.knu.ac.kr
  을 추가해 주시면 Tier-3 Farm에 작업이 할당됩니다.
  

3. 배치 작업(Torque) 실행하기

  1) Tier-3 UI 접속하기
    터미널을 열어서 원격로그인(SSH)으로 접속한다. 
    ssh -X username@kcms-t3.knu.ac.kr( or username@cms02.knu.ac.kr)
  2) 작업 실행하기
    ① 쉘을 bash로 전환한다.
       bash
    ② SCRAM_ARCH를 slc5로 설정한다.
       export SCRAM_ARCH=slc5_ia32_gcc434
    ③ cms 환경을 설정한다.
       source /cvmfs/cms.cern.ch/cmsset_default.csh
    ④ 자신이 작업하고자 하는 CMSSW이 설치된 폴더로 이동한다.
       cd CMSSW_version/src
    ⑤ 실행할 파일을 확인한다.
       scram runtime -sh
    ⑥ 자신에게 맞는 CMSW 버전, 작업 디렉토리, 결과 저장 디렉토리, 이메일 주소 등을 job_template_cmssw에 기록한다. (job_template_cmssw 파일은 작업 할당 폴더에 위치 시킨다.)
       참조 : http://www.physics.purdue.edu/Tier2/files/job_template_cmssw.txt
    ⑦ createjobs 파일을 생성하고 읽기, 쓰기, 실행 권한을 부여한다.
       참조 : http://www.physics.purdue.edu/Tier2/files/createjobs.txt
    ⑧ 작업을 실행(submit)한다.
       ./createjobs.sh jobname #event #job #submitjob cfgfilename nameofcluster
    ⑨ 실행(submit)한 작업의 상태를 관찰한다.
       qstat cms
  ※주의 : 배치 작업(Torque) 실행은 Tier-3에서만 가능합니다.

8 CRAB Feedback & CMS Computing Manual

  • CRAB 사용시 발생하는 문제점 및 해결방법은 아래 사이트를 참조
https://hypernews.cern.ch/HyperNews/CMS/get/crabFeedback.html
  • CMS Computing Manual
https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBook

9 Storage Element (SE) Manual

CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 한다. 이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 한다.

  • srm* 명령어들 보다 lcg-* 명령어들이 가볍고 빠르게 동작하기 때문에 lcg-* 명령어들을 추천합니다.
  • csh 에서는 관련 명령어들을 사용할때 경로 인자에 반드시 "" 를 사용해주시기 바랍니다.

1) voms 인증 후 사용할수 있다.

$ voms-proxy-init --voms cms

2) SE의 사용자 디렉토리

$ srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)

3) 로컬 디렉토리의 test.file 파일을 SE의 사용자 디렉토리로 복사하기

$ lcg-cp -b -v -l -D srmv2 srm://cluster142.knu.ac.kr:8443/.../Src     srm://cluster142.knu.ac.kr:8443/.../Dest 

or

$ /opt/d-cache/dcap/bin/dccp /SourcePath/test.file dcap://cluster142.knu.ac.kr/pnfs/knu.ac.kr/data/cms/store/user/(username)/test.file

or

$ srmcp -debug=true -srm_protocol_version=2 file:////`pwd`/test.file srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test.file

4) xrootd 를 활용한 SE Data 접근 방법

$ xrdcp root://cluster142.knu.ac.kr//store/user/(username)/test.file /some/local/path/test.file
  (참조 : http://xrootd.org/doc/prod/Syntax_config.htm)

5) root에서 SE Data 접근 방법

$ TFile *f = TFile::Open("dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root");


6) 복수의 파일을 동시에 전송하기

$ /usr/local/bin/lcgcp_copyfiles list.txt
$ cat  list.txt 
srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy1 file:///localdir/sh1
srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy2 file:///localdir/sh2
srm://myhost.mydomain.edu:8443//dir1/dir2/sh-copy3 file:///localdir/sh3
  • lcg_cp는 기본적으로 복수파일 전송을 지원하지 않으나 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, 위의 스크립트를 사용하면 복수의 파일을 전송할수 있다.

7) 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인

$ lcg-ls -b -D srmv2 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)

or

$ srmls srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)

8) 파일 또는 디렉토리 삭제

$ lcg-del -l -b -D srmv2 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test/test.file
$ lcg-del -l -b -d -D srmv2 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test

or

$ srmrm srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test.file
$ srmrmdir srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(username)/test
  • 저장공간은 모든 유저들이 공유하는 공간이므로 절대 다른 유저의 디렉토리를 함부로 건드려서는 안된다. (작업은 반드시 사용자의 디렉토리에서 )
  • 너무 오랜기간 파일들을 방치함으로써 저장공간을 포화상태로 만들어서는 안된다.

9) lcg 명령어 사용 요약

 $ voms-proxy-init --voms cms 로 proxy 생성후 아래 명령어를 수행하시면 됩니다.
 $ 조회 : lcg-ls -b -v -l -D srmv2 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName
 $ 복사 : lcg-cp srm://cluster142.knu.ac.kr:8443/.../FileNameSrc    srm://cluster142.knu.ac.kr:8443/.../FileNameDest
 $ 삭제 : lcg-del -b -v -l -D srmv2 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName/FileName
 $ 디렉토리 삭제 : lcg-del -b -v -l -d -D srmv2 srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/MyAccount/FolderName
  • 명령어 뒤의 Option은 매뉴얼 페이지를 참고 바랍니다. (ex. man lcg-ls)