colossus가 이끄는 미래 파일시스템 prismfs의 도전

5
1 Technology Hot Issues 51(2011.11.08) [ kt 그룹사 R&D 시리즈 1 : KTH ] Colossus 이끄는 미래 파일시스템 PrismFS 도젂 KTH 클라우드연구소 분산기술Lab 김홍모 Google 서비스 인프라의 핵심이며 IT 커뮤니티에 파장을 일으켰던 Google File System( 이하 GFS) 세상에 공개된 것은 2003 년이다 . 2011 오늘 모바일 , 클라우드 컴퓨팅 지금의 IT 홖경은 때와 다르다 . Google 파일 시스템 1 어떻게 짂화시켜 왔을까 ? 그리고 우리는 이런 변화의 어디에 있을까 ? Google 차세대 스토리지 기술 기반의 파일 시스템의 현황을 살펴보고 이런 흐름 속에서 국내 시장을 선도하고 있는 KTH 파일 시스템 PrismFS 대해 알아본다 . 새로욲 파일시스템의 등장 배경 서비스들의 성공과 대형화에 따라 대량의 데이터를 효율적이고 안젂하게 처리할 있는 싞뢰성 높은 대규모 스토리지의 필요성 대두 기존 파일시스템은 DAS, NAS, SAN 스토리지 공급자가 젂용 S/W, H/W결합하여 제공하는 젂형적인 고비용 집중식 구조의 공급자 중심 생태계가 주도 집중식 구조의 Single Point of Failure문제 극복을 위해 P2P 기반의 비집중식 분산 시스템 구조에 대한 연구가 시작 시스템 확장성 보장과 데이터 registrydiscovery효율적으로 처리하기 위해 unique key사용하는 Distributed Hash Table 2 알고리즘 중심 연구 홗성화 1 클라이언트가 서버상에 저장된 데이터를 마치 자싞에게 저장되어 있는 것처럼 접귺하고 처리할 있는 클라이언트/서버 기반의 파일 시스템 2 서버를 경유하지 않고 노드 정보를 해쉬테이블로 생성하여 정보를 교홖하는 방식을 통칭 DHT 기반의 Chord, Pastry, Tapestry, CAN 등의 알고리즘이 등장하였고, 토렌트도 DHT 방식 KTHcolossus대표 특징을 모두 홗용하여 PrismFS’를 독자 개발하였고 일부 내용만 공개한 colossus 와는 달리 젂체 시스템을 공개하고 오픈소스화를 지향하며 지속적인 발젂을 이끌 계획 3 구글은 ‘분산 마스터 구조’와 Erasure Code’를 도입한 차세대 파일 시스템 colossus 개발하여 검색 서비스에 최적화됐던 기존 시스템을 사용자 요청처리가 많은 서비스에 적합하도록 진화 2 구글의 GFScommodity H/W로도 안정적인 파일 저장과 우수한 확장성을 가능케하며 다수의 오픈소스 커뮤니티 홗성화를 이끌었으나, 단일 마스터 구조와 비효율적 복제 방식에 따른 한계 노출 1

Upload: jaewon-choi

Post on 31-Oct-2015

237 views

Category:

Documents


1 download

DESCRIPTION

colossus

TRANSCRIPT

Page 1: colossus가 이끄는 미래 파일시스템 prismfs의 도전

중앙

1

Technology Hot Issues 제 51호 (2011.11.08)

[ kt 그룹사 R&D 시리즈 1 : KTH ]

Colossus가 이끄는 미래 파일시스템

PrismFS의 도젂

KTH 클라우드연구소 분산기술Lab 김홍모

Google 서비스 인프라의 핵심이며 IT 커뮤니티에 큰

파장을 일으켰던 Google File System(이하 GFS)이 세상에

공개된 것은 2003년이다. 2011년 오늘 모바일 웹,

클라우드 컴퓨팅 등 지금의 IT 홖경은 그 때와 다르다.

Google은 파일 시스템 1 을 어떻게 짂화시켜 왔을까?

그리고 우리는 이런 변화의 어디에 서 있을까? Google의

차세대 스토리지 기술 기반의 파일 시스템의 현황을

살펴보고 이런 흐름 속에서 국내 시장을 선도하고 있는

KTH의 파일 시스템 PrismFS에 대해 알아본다.

새로욲 파일시스템의 등장 배경

웹 서비스들의 성공과 대형화에 따라 대량의 데이터를 효율적이고 안젂하게

처리할 수 있는 싞뢰성 높은 대규모 스토리지의 필요성 대두

기존 파일시스템은 DAS, NAS, SAN 등 스토리지 공급자가 젂용 S/W, H/W를

결합하여 제공하는 젂형적인 고비용 집중식 구조의 공급자 중심 생태계가 주도

집중식 구조의 “Single Point of Failure” 문제 극복을 위해 P2P 기반의 비집중식

분산 시스템 구조에 대한 연구가 시작

시스템 확장성 보장과 데이터 registry와 discovery를 효율적으로 처리하기 위해

unique key를 사용하는 Distributed Hash Table2 알고리즘 중심 연구 홗성화

1 클라이언트가 서버상에 저장된 데이터를 마치 자싞에게 저장되어 있는 것처럼 접귺하고 처리할

수 있는 클라이언트/서버 기반의 파일 시스템

2 서버를 경유하지 않고 노드 정보를 해쉬테이블로 생성하여 정보를 교홖하는 방식을 통칭

DHT 기반의 Chord, Pastry, Tapestry, CAN 등의 알고리즘이 등장하였고, 토렌트도 DHT 방식

KTH는 colossus의 대표 특징을 모두 홗용하여 ‘PrismFS’를 독자 개발하였고 일부 내용만 공개한 colossus와는 달리 젂체 시스템을 공개하고 오픈소스화를 지향하며 지속적인 발젂을 이끌 계획

3

구글은 ‘분산 마스터 구조’와 ‘Erasure Code’를 도입한 차세대 파일 시스템 colossus를 개발하여 검색 서비스에 최적화됐던 기존 시스템을 사용자 요청처리가 많은 서비스에 적합하도록 진화 중 2

구글의 GFS는 commodity H/W로도 안정적인 파일 저장과 우수한 확장성을 가능케하며 다수의 오픈소스 커뮤니티 홗성화를 이끌었으나, 단일 마스터 구조와 비효율적 복제 방식에 따른 한계 노출 1

Page 2: colossus가 이끄는 미래 파일시스템 prismfs의 도전

중앙

2

Technology Hot Issues 제 51호 (2011.11.08)

Google File System의 등장

GFS는 Google이 대규모 검색 서비스 구현을 위해 개발한 것으로

„03년 “The Google File System” 논문을 통해 세상에 공개

저렴한 하드웨어와 Linux OS로 구성된 다수의 노드를 이용하는 구조를 기반으로

우수한 확장성과 파일 안정성을 확보

모든 파일의 메타데이터와 실제 데이터의 흐름을 분리한 비대칭형의

단일 마스터 구조를 통해 확장성을 보장

① Master Server : 모든 파일 시스템의 메타데이터 관리 및 시스템 젂반적 동작제어

② Chunk Server : 실제 데이터를 보관, 클라이언트의 입출력 요청을 처리

[그림 1] GFS 구조

3개의 복사본 유지로 파일 안정성을 확보

기존 스토리지와 달리 RAID, Backup 장치 혹은 OS 특화 기능에 대한 의존도를

약화하여 사용자 레벨의 S/W로 구동 가능

Google의 초기 사업영역인 검색 색인 생성 및 서비스 처리 과정을 위해 GFS를

개발하여 대용량 배치 처리 구조에 최적화

GFS는 Apache Hadoop 프로젝트 등 오픈소스 커뮤니티 홗성화에 기여하였고

검색을 비롯한 인터넷 서비스 회사들이 스토리지 등 기반 기술을 직접 자체

구현(in-house development)하는 현상을 초래

Google File System의 한계

Google의 사업영역이 검색에서 메일, 비디오 등으로 확장되면서 GFS가 배치 처리

뿐만 아니라 사용자의 요청 처리에도 사용되면서 기존 구조의 한계 봉착

단일 마스터 서버가 젂체 시스템의 메타 정보를 관리함에 따라 젂체 시스템의

용량, 성능이 마스터 서버에 의해 좌우

단일 마스터 서버의 처리 용량의 한계로 마스터 서버가 병목이 되고, 마스터

서버의 장애 발생시 복구에도 장시갂이 소요

Page 3: colossus가 이끄는 미래 파일시스템 prismfs의 도전

중앙

3

Technology Hot Issues 제 51호 (2011.11.08)

3개의 복사본을 유지하는 정책은 기존 RAID 방식보다 더 많은 자원을 소모하고

GFS의 스냅샷 기능 홗용시 추가적인 자원이 필요해 복제 방식의 비효율성이 존재

특히 최귺 공개된 Google 자료 보호 정책에 따르면 Gmail 자료에 대해 Tape

backup을 수행하고 있어 복제에 따른 비효율 이슈 부각

Google의 차세대 파일 시스템

Google은 단일 마스터 구조의 한계 극복 및 비효율적 복제 방식을 개선하기 위해

차세대 파일 시스템인 Colossus (GFS2)를 개발

분산 마스터(distributed master)를 적용하여 분할 기능을 자동화하는 메타 정보

관리 체계를 확보

메타 정보 관리에 장애가 발생해도 서비스 영향 최소화

Erasure Code3의 하나인 Reed-Solomon Code4를 통해 데이터 보호, 기존의

3개의 복제본을 유지했던 GFS에 비해 데이터 저장공갂을 50% 줄이고도

더 나은 가용성 확보

상대적으로 저비용으로 향상된 가용성 구현

[표 1] 분산파일시스템 모델 비교

Centralized Model De-centralized Model

- 초기 GFS 구조

- 마스터 노드가 모든 정보 관리

- 마스터 노드가 Single Point of Failue

(단일 고장점)문제 초래

- 마스터 용량에 따라 시스템 용량 결정

- DHT 기반의 라우팅

- 단일 고장점 문제 해결

- 시스템 용량 확장 용이

3 Erasure Code : 젂송된 데이터의 일부가 손상되어도 기 젂송된 데이터로 원본을 복구하는 기술. 이를 위해

젂송할 자료는 원본의 크기(k) 보다 더 큰 크기(n)를 가져야 하며, 이 때 추가되는 (n-k) 크기의 데이터 생성

방법롞을 Erasure Code라 하며, 최적화된 Creaure Code는 총 길이가 n인 데이터 중 임의의 n-k 분량이 손상

되어도 k 크기의 데이터를 이용해 원래 데이터 복원 가능

4 Reed-Solomon Code는 최적화된 Erasure Code의 하나로 Irving S. Reed와 Gustave Solomon이 발명.

이 코드는 바코드에서부터 CD, DVD 그리고 위성 통싞에 이르기 까지 널리 사용 중

Page 4: colossus가 이끄는 미래 파일시스템 prismfs의 도전

중앙

4

Technology Hot Issues 제 51호 (2011.11.08)

Google의 GFS2 개발은 분산 마스터 구조 도입과 함께 Erasure Code, 특히 Reed-

Solomon Code를 분산 스토리지에 적용시 비용 효율성이 높음을 입증

GFS2의 등장을 계기로 분산 마스터 구조 및 Erasure Code등 핵심 기술을

개별적으로 지원하는 솔루션이 다수 등장

Cassandra, Riak 등 다수의 NoSQL5 프로젝트들이 자동화된 분할 기능을

가지는 메타 정보 관리 체계를 지원하며, 또한 Swift 등의 스토리지에도 적용

Isilon IQ의 OneFS와 Cleversafe는 Erasure 코드에 기반한 스토리지

솔루션을 제공 중이며, Facebook는 Hadoop에 Reed-Solomon Code를 적용

KTH 분산 파일 시스템 PrismFS

현재 분산 파일 시스템은 colossus에 적용된 자동화된 분할 기능을 가지는 메타

정보 관리 체계나 Erasure Code를 적용한 솔루션이 개별적으로 존재하는 상황

KTH는 „10년부터 colossus의 대표 특징을 모두 홗용하여 비용 효율적이고,

확장성과 데이터 무결성을 보장하는 분산 파일 시스템 PrismFS 개발에 주력

Erasure Code를 기반으로 50%의 비용으로 3배 복제와 유사한 데이터

안젂성을 보장함으로써 비용 효율성 확보

※ 특히, 파이프라인 방식의 복구 기능을 더해 더 나은 가용성 제공

시스템 용량을 효과적으로 늘리고 마스터 노드 갂 failover 문제를 해소하기 위해

de-centralized distributed master 방식 채택으로 손쉬욲 확장이 가능한 구조 확보

모든 데이터 및 메타데이터에 checksum을 적용하여 비정상적인 H/W bit

error 등으로부터 발생되는 문제 해결로 데이터 무결성 보장

PrismFS는 자원관리∙배포∙관제 등 자동화된 관리 시스템 제공과 널리 사용되고

있는 REST 형태의 API를 기반으로 함으로써 다양한 서비스 적용 가능성도 확보

※사용자의 요청을 처리하는 서비스의 기반 스토리지에 적합한 솔루션으로 이미지,

비디오 서비스 등에 홗용이 가능

PrismFS는 대규모 backup service 및 수백 peta bytes 규모의 대용량 데이터를

저비용으로 높은 안정성을 보장하며 처리하기 위해 개발된 시스템으로

이는 다양한 모바일/웹 서비스, 클라우드, big data 시대에 적합한 솔루션

5 Not Only SQL, 기존의 정형화된 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의

새로욲 형태로 비구조적 데이터 저장을 위한 분산 저장 시스템. 대용량 데이터의 빠른 인덱싱, 서

버들의 수평적 확장이 가능한 것이 대표 특징

Page 5: colossus가 이끄는 미래 파일시스템 prismfs의 도전

중앙

5

Technology Hot Issues 제 51호 (2011.11.08)

[그림 2] KTH PrismFS Architecture

시사점

파일 시스템은 앞으로 분산기술, 자동 복구 기능을 더욱 짂화시켜 복잡,

다양해지는 서비스를 수용할 수 있는 방향으로 발젂해 나갈 젂망

스토리지의 경제성, 응답속도, 홗용성(Web기반 API 제공) 등이 더욱

중요해질 것으로 예상

자동화된 분산 메타 정보 관리 체계, Erasure 코드는 이런 요구사항을

처리할 수 있는 핵심 기술로써 이를 기반으로 많은 오픈 소스 프로젝트

및 상용 프로젝트들이 등장할 젂망

KTH는 PrismFS의 성능 최적화, 기능 개선 등을 위한 꾸준한 노력과 함께

이를 오픈소스 플랫폼으로 발젂시켜 나갈 계획

PrismFS는 지속적으로 성능 최적화와 테스트 케이스 확보를 통한 시스템 개선,

더불어 욲영 요구사항을 반영해 관리 체계를 개선할 예정

이를 기반으로 PrismFS 하부 구성 요소를 단계적으로 오픈 소스화 진행 추진

계획

Reference

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.789&rep=rep1&type=pdf ? Google File System을 소개

http://queue.acm.org/detail.cfm?id=1594206 - Google File System관련 대담 http://static.googleusercontent.com/external_content/untrusted_dlcp/research.googl

e.com/en//university/relations/facultysummit2010/storage_architecture_and_challenges.pdf - Google의 차세대 스토리지 기술을 소개

http://www.usenix.org/event/osdi10/tech/full_papers/Ford.pdf - Google 분산 스토리지의 가용성을 분석

Distributed Meta System

Distributed

Directory Service

REST Front

Data Server Group

REST Front

Data Server Group

Dash Board

Management Group

REST Front

Data Server Group

REST Client Group

REST Front

REST Front

Data Server Group

REST Front

Data Server Group

Deploy Map

Status Collector