Contents
Pre-requisites
KNU Tier-2를 이용하기 위해서는 Grid 환경에 접속하기 위한 인증서를 공식 인증 사이트를 통해 획득한 후 LCG VO에 등록하고 KNU Tier-2에 사용계획서 및 유저 등록을 통해 계정을 부여받는다.
1. CERN 및 CMS User 등록
CERN & CMS User Registration
2. Certificate
DOE Certificate 인증 사이트를 통해 인증서 획득
3. VO(Virtual Organisation) 등록
LCG User Registration LCG VO에 인증서를 등록
4. Getting KNU Tier-2 Account
1) http://t2-cms.knu.ac.kr/ 에서 KNU Account Registration을 클릭한 후 신청서 양식을 작성하여 등록한다. 2) 사용계획서(hwp)를 작성하여 email(lcg_knu@knu.ac.kr)로 발송한다.
5. SiteDB Regisration - CERN 및 CMS User 등록 후 CMS SiteDB에 가입하여 자신의 DN(distinguished name) 을 등록한다. 4번까지의 절차 이후 KNU Tier-2 UI에 접속하여 확인 후 CMS SiteDB에 등록한다.
$ voms-proxy-init Your identity: /DC=org/DC=doegrids/OU=People/CN=XXXXXXXX <--------- DN(distinguished name)
KNU Tier-2 Login
1. Linux 에서 접속하기
터미널을 열어서 원격로그인(SSH)으로 접속한다. ssh -X username@cms.knu.ac.kr( or username@cms02.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 설정시 유의사항
Login Password는 알파벳, 숫자, 특수문자 등을 섞어서 사용하여 기억하기 쉬우면서도 길게 만드는 것이 해킹방지에 용의하다. (간단한 단어 또는 숫자만의 조합은 극히 위험함.)
CMSSW(CMS Software) Installation
- KNU Tier-2의 CMS UI 환경의 기본 쉘은 bash 이다. CERN의 lxplus 와 같은 환경으로 작업하기 위해서는 csh 으로 전환한다.
$ csh
CMSSW 을 설치하기 위해 먼저 설치 환경을 설정한다.
$ source /opt/exp_soft/cms/cmsset_default.csh
설치하고자 하는 버전의 CMSSW 를 확인한 후 개인 <working-directroy> 로 이동하여 설치한다. (x.y.z 는 버전을 나타낸다)
$ scramv1 list CMSSW $ cd <working-directory> $ scramv1 project CMSSW CMSSW_x_y_z
CRAB(CMS Remote Analysis Builder) Installation
CRAB online manual and tutorial
위 링크사이트의 'how to get crab' 부분을 참조하여 가장 최근의 CRAB tar ball file 을 다운로드 받는다. 다운로드 받은 파일을 <working-directory> 로 옮겨 압축을 풀고 설치한다.
$ cd <working-directory> $ tar vfx CRAB_x_y_z.tgz $ cd <working-directory>/CRAB_x_y_z $ ./configure
Setting Environment
$ source /opt/exp_soft/cms/cmsset_default.csh
- CMSSW 4_X_X 버전을 사용하기 위해서는 아래 환경설정을 추가로 입력
$ setenv SCRAM_ARCH slc5_amd64_gcc434
- 환경 설정시 필수 유의사항
1. CMSSW 환경 설정은 반드시 CMSSW_x_y_z directory 아래에서 시행되어야한다. 2. CRAB을 사용하는 경우 환경 설정 순서는 반드시 CMSSW 환경설정을 우선하여 시행한다.
CMSSW 환경 설정
$ cd CMSSW_x_y_z $ cmsenv (= eval `scramv1 runtime -csh`)
CRAB(CMS Remote Analysis Builder) 환경설정
$ source <working-directory>/CRAB_x_y_z/crab.csh $ setenv PYTHONPATH ${PYTHONPATH}:${GLITE_LOCATION}/lib
Starting GRID Job Submission
CRAB(CMS Remote Analysis Builder)이란?
CRAB 사용 및 간단한 명령어
$ cd <working-directory>/CMSSW_x_y_z/src/<data-directory> $ grid-proxy-init (Grid initialization) 예)Your proxy is valid until: Thu Jun 4 21:35:26 2009 CRAB 기본 명령어 $ crab -create -submit (Grid job 생성 및 submit) $ crab -status (수행중인 job 의 상태 확인) $ crab -getoutput (완료된 job 의 output 을 확인)
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
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/managerv1?SFN=/pnfs/knu.ac.kr/data/cms/store/user/(본인계정)
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
Storage Element (SE) Manual
CRAB 등을 사용하여 얻은 데이터를 보관할 수 있는 저장 공간을 Storage Element (SE)라 한다. 이곳에 데이터를 저장하기 위해서는 몇가지 특수한 명령어를 사용해야 한다.
- 현재 srm 명령어 관련 csh 에서의 환경설정이 구성되어있지 않으므로, srm 관련 명령어는 bash 환경의 터미널을 따로 열어서 사용하시기 바랍니다.
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의 사용자 디렉토리로 복사하기
$ 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) 복수의 파일을 동시에 전송하기
$ srmcp -copyjobfile=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
- 원본경로 대상경로를 포함하는 목록 파일을 생성한뒤, -copyjobfile 옵션을 사용하면 복수의 파일을 동시에 전송할수 있다.
5) 복사가 정상적으로 이루어졌는지 확인 또는 디렉토리의 목록 확인
$ srmls srm://cluster142.knu.ac.kr:8443/srm/managerv2?SFN=/pnfs/knu.ac.kr/data/cms/store/user/username
6) 파일 또는 디렉토리 삭제
$ 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
- 저장공간은 모든 유저들이 공유하는 공간이므로 절대 다른 유저의 디렉토리를 함부로 건드려서는 안된다. (작업은 반드시 사용자의 디렉토리에서 )
- 너무 오랜기간 파일들을 방치함으로써 저장공간을 포화상태로 만들어서는 안된다.