From T3_KR_KNU
Contents
dcap을 이용하여 SE 사용하기
- dcap(dCache Access Protocol)은 SE인 dCache에서 사용하는 파일전송 프로토콜입니다.
- dcap은 다른 프로토콜에 비해 상대적으로 빠르고 간편합니다.
- dcap은 읽기 전용이나 인증없이 사용할 수 있고 쓰기를 위해서는 그리드인증이 추가된 gsidcap 프로토콜을 사용할 수 있습니다.
- dcap을 이용하면 일반 프로그램 및 root 프로그램에서 SE의 데이터를 바로 읽을수 있습니다.
- SE의 사용자 홈디렉토리의 dcap 경로는 다음과 같습니다.
dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/{userid}
dccp
- dcap 을 이용한 파일 복사 툴입니다. 자세한 옵션의 사용법은 다음과 같습니다.
$ dccp -h DiskCache Copy Program. LibDCAP version: 2.47.10-1 Usage: dccp [-H] [-d <debugLevel>] [-h <replyhostname>] [-i] [-P [-t
- SE의 파일을 현재 디렉토리에 복사하는 예제 입니다. -H 옵션은 진행바를 나타냅니다.
$ dccp -H dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/tmp/test.transfer .
일반 프로그램에서 dcap을 이용하여 SE의 데이터를 읽기
- 다음과 같이 LD_PRELOAD 설정을 사전에 하면 ls와 cp 같은 일반 프로그램에서 SE의 데이터를 읽을 수 있습니다.
$ export LD_PRELOAD=/usr/lib64/libpdcap.so $ ls dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/test/ test.transfer test.transfer.20161005112625 $ cp -v dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer . `dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/test/test.transfer' -> `./test.transfer'
dcap을 이용하여 root에서 SE의 Data 접근하기
- dcap은 읽기 전용의 프로토콜이며 그리드 인증이 필요한 gsidcap은 읽기 뿐만 아니라 쓰기도 가능합니다.
# 읽기 $ TFile *f = TFile::Open("dcap://cluster142.knu.ac.kr//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root"); $ # 쓰기 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/dcap $ root -l root [0] TFile *f = TFile::Open("gsidcap://cluster142.knu.ac.kr:22128//pnfs/knu.ac.kr/data/cms/store/user/(username)/test.root", "RECREATE"); root [1] f->Close(); root [2] .q $