CIO / How To / 개발자 / 비즈니스|경제 / 빅데이터 | 애널리틱스 / 스토리지 / 애플리케이션
LHC 실험의 대용량 데이터 스토리지 기술 – LCG SE, SRM, CASTOR, dCache, DPM, StoRM
이제 LHC 컴퓨팅 그리드에서 사용되는 분산 스토리지 시스템 기술이 어떤 것들이 있는지, 그리고 이 분산 스토리지 시스템 기술들이 어떻게 다양한 그리드 사이트의 저장 장치 자원을 통합하는지 같이 살펴보도록 하자.
LHC 컴퓨팅 그리드 구축 당시에 가장 확장성 있는 스토리지 기술은 SAN 스토리지였지만, SAN 스토리지 장비는 저장 용량당 단가가 가장 비쌌고 구축 비용이 많이 들었기 때문에 분석용 데이터를 위한 모든 스토리지를 SAN으로 구축할 수 없었다. LHC 컴퓨팅 그리드에 참여하는 기관별로 컴퓨팅 및 스토리지 자원에 투자할 수 있는 예산이 달랐기 때문에, 예산이 넉넉하지 않은 공동 연구 기관의 데이터센터에서 SAN으로 그리드 스토리지 시스템을 구성하는 것은 어려웠다.
LHC 컴퓨팅 그리드 구축 당시에는 요즘 기업들이 저지연(low latency) 데이터 I/O를 위해 도입하는 SSD나 플래시 스토리지 시스템이 없었기 때문에, 가장 빠른 데이터 I/O 성능을 보이는 스토리지 제품은 하드 디스크 어레이 스토리지였다. 당시 EMC 및 넷앱 등의 기업은 고성능 디스크 어레이 스토리지 제품을 내놓고 있었다. 예산과 컴퓨팅 시스템의 투자에 여유가 있는 데이터센터에서는 IBM의 HPSS(High-Performance Storage System)와 같은 고가의 스토리지 시스템을 사용하기도 하였다.
디스크 어레이나 서버의 로컬 디스크들을 묶어서 대용량 스토리지를 만들기 위해 당시에는 병렬 클러스터 컴퓨팅을 지원하기 위한 병렬 파일 시스템이 많이 쓰였다. 1994년부터 클러스터 병렬 컴퓨팅 기술이 발전하기 시작하면서 네트워크로 연결된 컴퓨팅 노드에 있는 로컬 스토리지들을 묶어 하나의 대용량 스토리지 시스템으로 만들고, 여러 노드에서 동시에 파일에 접근해도 연산 성능이 보장되도록 하는 병렬 파일 시스템 소프트웨어 기술이 발전하고 있었다. 당시 가장 확장성과 성능이 좋았던 IBM의 상용 병렬 파일 시스템인 GPFS(현재의 스펙트럼 스케일)와 오픈소스로 공개되었던 루스트르(Lustre)가 클러스터 병렬 컴퓨터에서의 병렬 파일 시스템으로 많이 쓰였다.
LHC 실험과 같이 영상 빅데이터가 많은 고에너지 물리학, 천문학, 지구과학 등의 데이터 집중(data-intensive) 과학 실험에서는, 일반 고성능 컴퓨팅과는 다른 저장 장치 요구 사항을 가지고 있었다. 이 때문에 GPFS와 같은 상용 병렬 파일 시스템과 Lustre와 같은 오픈소스 병렬 파일 시스템으로 해결할 수 없는, 데이터 보관의 신뢰성과 확장성(scalability) 요구 사항을 만족하기 위해 고에너지 물리학 연구소 및 국립 데이터센터들을 중심으로 확장성 있는 대용량 분산 파일 시스템 소프트웨어 기술이 개발되었다.
미국 로렌스 버클리 국립 연구소의 과학 데이터 관리 연구그룹(Scientific Data Management Research Group)에서는 확장성 있는(scalable) 데이터 관리를 위한 버클리 스토리지 매니저(Berkeley Storage Manager; BeStMan)를 개발하였다[3]. 로렌스 버클리 연구소의 과학 데이터 관리 연구 그룹은 아래에 설명할 그리드 저장 장치 인터페이스 표준인 저장 자원 관리 인터페이스(Storage Resource Manager; SRM) 표준 제정을 그리드 컴퓨팅 커뮤니티 내에서 주도하기도 했다.
미국의 페르미 국립 연구소(Fermilab), 독일의 국립 전자 싱크로트론 연구소(DESY)와 노르웨이 데이터 그리드 서비스(Nordic DataGrid Facility; NDGF)에서는 단일화된 네임공간(namespace)에서 이종(heterogeneous) 저장 장치 자원에서의 디스크 자원을 통합하고 관리할 수 있도록 하기 위한 분산 저장 장치 관리 시스템인 dCache를 공동 연구개발하였다[5].
dCache는 POSIX API를 비롯한 FTP, Kerberos GSSFTP, GSIFTP, HTTP, dCap, 그리고xRootD등의 다양한 프로토콜을 지원하여, 디스크 어레이 스토리지를 자주 쓰이는 핫 데이터(hot data; 데이터 I/O 빈도가 높은 파일)를 위한 저장 장치 자원으로, OSM, Enstore[6], TSM, HPSS[7], DMF, Castor[4]와 같은 테이프 저장 장치 시스템을 자주 쓰이지 않는 콜드 데이터(cold data; 데이터 I/O 빈도가 낮은 파일들을 말함)의 저장 장치로 하는 계층화된 저장 장치 시스템 구성이 가능하도록 만들어졌다. 이 때문에 LHC 컴퓨팅 그리드에서 다양한 저장 장치 시스템 통합을 위해 새로운 서비스나 데이터 접근 프로토콜을 추가하기에 알맞은 확장성 있는 아키텍처를 가지고 있다.
dCache는 또한 데이터 집중 과학(data-intensive science)에서 자주 요구되는 데이터 저장의 신뢰성(reliability)과 고가용성(high-availability)을 보장하기 위해 부하 분산(load balancing)과 데이터 복제(replication)를 지원한다. 하둡의 분산 파일 시스템인 HDFS가 데이터 복제 기능과 네임 노드 이중화를 통해 신뢰성과 고가용성을 지원하기 시작한 것을 생각해보면 dCache의 데이터 신뢰성, 고가용성 보장 기술은 하둡보다 앞선 것이다.
LHC 컴퓨팅 그리드를 기초로 범유럽 그리드 인프라를 만드는 EGEE 프로젝트에서는 Tier-2 데이터센터에서 디스크 저장 장치 자원을 대용량 저장 장치로 손쉽게 통합할 수 있는 DPM(Disk Pool Manager)이라는 분산 저장 장치 관리 시스템을 개발했다. DPM은 그 이름에서도 알 수 있듯이 테이프 저장 장치가 포함된 계층화된 저장 장치 시스템 구성을 지원하지는 않고, 디스크 저장 장치 자원만을 통합할 수 있다.
DPM은 계층화된 네임공간(hierarchical namespace)을 구성할 수 있도록 지원하며, 물리적인 파일 이름과 경로를 DPM에 저장된 파일의 사이트 파일 이름과 경로(Site File Name)와 매핑하여 관리한다. Globus 그리드 미들웨어의 파일 전송 프로토콜인 GSIFTP를 이용해 데이터를 전송하며, RFIO를 이용해 POSIX 파일 시스템 규약에 준하는 파일 접근과 조작이 가능하다. Xrootd 프로토콜을 지원하여 ROOT에서 DPM 기반의 분산 저장 장치 자원을 손쉽게 통합하여 데이터에 접근할 수 있도록 한다.
StoRM(Storage Resource Manager)은 이탈리아 국립 핵물리 연구소(Istituto Nazionale di Fisica Nucleare(Italian Institute for Nuclear Physics); INFN)와 UN 산하 UNESCO와 IAEA의 후원을 받는 압두스 살람 국제 이론 물리 연구소(The Abdus Salam International Centre for Theoretical Physics; ICTP)에서 경제학과 재무 연구를 위한 EGRID 프로젝트를 지원하기 위해 만든 SRM 2.2 표준을 구현한 분산 저장 장치 관리 소프트웨어이다. Storm은 IBM의 GPFS와 루스트르(Lustre)와 같은 최신 병렬 파일 시스템 기술을 지원할 수 있도록 개발되었다.