h3 2011 google을 통해 살펴보는 분산 파일 시스템의 현재와...

Post on 24-May-2015

597 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Google을 통해 살펴보는 분산 파일 시스템의 현재와 미래 분신기술Lab I 김홍모

분산 파일 시스템

분산 파일 시스템

분산 파일 시스템

파일 시스템이란? 파일을 저장하고 읽을 수 있는 시스템

분산 파일 시스템

파일 시스템과 창고 관리

분산 파일 시스템

메타 정보란?

box99 ; 1열 2층

물건의 위치를

꼼꼼히 기록해야

잃어버리지 않아요

분산 파일 시스템

파일 시스템

분산 파일 시스템

저장하고자 하는 파일이 너무 많을 경우에는?

분산 파일 시스템

여러 대의 컴퓨터를 이용 한다면?

분산 파일 시스템

분산 파일 시스템이란? 다수의 컴퓨터를

이용해서 구현한 파일 시스템

분산 파일 시스템

많은 웹 서비스들이

분산 파일 시스템을 이용해서

자료를 관리

GFS

Google File System(GFS)

GFS

구글은 얼마나 많은 문서를 가지고 있을까?

GFS

색인된 문서 수 > 25,270,000,000

GFS

문서 하나의 크기를 1KB로 잡으면 총 자료의 크기 >

25,270,000,000 * 1KB = 25.27 TB

GFS

GFS(Google File System)

노트는 필요 없다네

GFS

용도

Gmail 만들기

Gmail 만들기

Gmail 만들기

2004년

Gmail 만들기

Google 최초의 Interactive Web Service

효율 반응속도

Gmail 만들기

Gmail을 만들어 봅시다

Gmail 만들기

재료들

Google File System

Big Table

Google Servlet

Engine

Gmail 만들기

재료 소개 #1 Google Servlet Engine 웹 서버 프로그래밍을 위한 도구

Google Servlet

Engine

Gmail 만들기

재료 소개 #2 BigTable GFS 위에서 구동되는 구글의 DBMS

BigTable

Gmail 만들기

방법 #1 GFS에 메일 자료를 직접 저장

Google File System

Google Servlet

Engine

Gmail 만들기

작은 파일이 너무 많아요! 요즘 두통이 심해

Gmail 만들기

방법 #2 BigTable에 메일 자료를 저장

Google File System

BigTable

Google Servlet

Engine

Gmail 만들기

BigTable에 자료를 저장하는 것은?

Gmail 만들기

GFS가 처리해야 할 파일 수 감소

이것은 선물이야

Gmail 만들기

GFS 단일 마스터 구조

모든 요청은 나를

통해야 하지

Gmail 만들기

방법 #3 이중화

Google File System

BigTable

Google File System

BigTable

Google Servlet

Engine

Gmail 만들기

지금까지 우리는 1) 메일 자료를 잘 처리하며

2) 서버 장애에 강한 시스템을 성공적으로 구축

Gmail 만들기

문제는 비용

Gmail 만들기

비용 분석 GFS 복제 정책

+

Gmail 만들기

비용 분석 GFS 복제 정책 + 이중화 모델

+ ?

Gmail 만들기

2011년 2월 27일 외전

Gmail 만들기

2011년 2월 28일 외전

Gmail 만들기

2011년 3월 1일 외전

Gmail 만들기

2011년 3월 2일 외전

복구 완료

Gmail 만들기

비용 분석 GFS 복제 정책 + 이중화 모델

+ Tape Backup

+ ?

Gmail 만들기

전체 비용?

+

Gmail 만들기

결과는?

GFS를 뛰어넘자

GFS를 뛰어넘자

GFS를 뛰어넘자

이 상황을 극복할 좋은 방법은 없을까?

GFS를 뛰어넘자

GFS의 단점 1) 파일 수 문제

2) 마스터 장애에 취약 3) 고비용

GFS를 뛰어넘자

작은 파일을

잘 처리하기 위해서는?

장애 영향을 줄이려면?

나 홀로 외우기는

이제 그만할래

GFS를 뛰어넘자

다수의 서버로 많은 메타 정보를

효율적으로 관리할 수 있어야

혼자서는 저 많은 자료를

관리할 수 없어요

GFS를 뛰어넘자

#1 메타 정보 꾸러미 도입

이름 사전 순으로

정리하면 노트 주인만 정하면

됩니다.

하지만 노트들을 어떻게

분배해야 할까요?

A

B

Y

Z

GFS를 뛰어넘자

#2 메타 정보 꾸러미와 서버의 짝 맺음

A

G

M

S

Z D

O

나는 D

U 부터 D 까지 관리

B C E F

H I

J K L N P

Q R

T U V W

X Y D

나는 O

E 부터 O 까지 관리

O

T

나는 T

P 부터 T 까지 관리

GFS를 뛰어넘자

#3 서버에 장애가 발생하더라도

영향을 최소화

A

G

M

S

Z D

O

B C E F

H I

J K L N P

Q R

T U V W

X Y D

오늘부터 휴가

T

나는 D

U 부터 D 까지 관리 나는 T

P 부터 T 까지 관리

추가로 E 부터 O 도 관리

O X

GFS를 뛰어넘자

Distributed Hash Table

GFS를 뛰어넘자

작은 파일을 잘 처리하고

서버 장애 영향 최소화

성공!

GFS를 뛰어넘자

저장 비용을 줄이려면?

GFS를 뛰어넘자

그전에 복제는 왜 할까?

GFS를 뛰어넘자

조선 왕조 실록 외전

세종 8년 등사 해서 분산 보관

춘추관(서울) 충주서고

GFS를 뛰어넘자

조선 왕조 실록 외전

세종 27년 2부씩 추가 등사

춘추관(서울) 충주서고 전주서고 성주서고

GFS를 뛰어넘자

조선 왕조 실록 외전

선조 25년 임진왜란으로 전주를 제외하고 모두 소실

춘추관(서울) 충주서고 전주서고 성주서고

GFS를 뛰어넘자

조선 왕조 실록 외전

1997년 10월 1일 유네스코 세계기록유산으로 등록

전주서고

GFS를 뛰어넘자

복제를 하는 이유는

자료를 잃어버리지 않기 위해서

GFS를 뛰어넘자

자료는 안전하게 보호하지만

비용을 줄이는 방법은 없을까?

신뢰성 비용

GFS를 뛰어넘자

Erasure Code

자료의 일부를 잃어버려도

나머지 자료로 원본을 복구

GFS를 뛰어넘자

Erasure Code 사용 #1

원본을 k 조각으로 분할

D0 D1 D2 Dk-1 …

k Data Slices

D

GFS를 뛰어넘자

Erasure Code 사용 #2

분할된 자료를 이용해 코드 자료 생성

Coding D0 D1 D2 Dk-1 … C0 … Cm-1

k Data Slices m Code Slices

GFS를 뛰어넘자

Erasure Code 사용 #3

분할된 자료 및 코드 자료를 모두 저장

D0 D1 D2 Dk-1 … C0 … Cm-1

k Data Slices m Code Slices

+

GFS를 뛰어넘자

Erasure Code 사용 #4

저장된 자료의 일부를 잃어버려도 원본을 복구

D0 D1 D2 Dk-1 … C0 … Cm-1

k Data Slices m Code Slices

+ D

GFS를 뛰어넘자

시뮬레이션 MTTF = 27216h

MTTR = 24h + alpha

Availability may vary by site env

0

2

4

6

8

10

12

Additional Space (Ratio)

Payload (Ratio)

Availability (# of 9)

GFS를 뛰어넘자

비용 비교 Erasure Code를 이용하면

비용이 절반으로

복제 Erasure Code

가용성 99.99999999% 99.999999999%

비용(원본대비) 300% 150%

GFS를 뛰어넘자

낮은 비용으로

자료를 안전하게 저장하기

성공!

GFS를 뛰어넘자

GFS를 뛰어넘는 두 가지 키워드

1) 분산 메타 관리 체계

2) Erasure Code

GFS를 뛰어넘자

Google의 답안은? Colossus

GFS를 뛰어넘자

KTH의 답안은? PrismFS !!

PrismFS

PrismFS

PrismFS

PrismFS 구조 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

PrismFS

PrismFS 특징

1) 분산 메타 관리 체계 2) Erasure Code 기반 자료 보호 3) REST API 4) 모든 자료에 check-sum 적용 5) 통합된 관리 체계

QnA

QnA

감사합니다. 클라우드연구소 / 분산기술 Lab / 김홍모

aadvarkk@kthcorp.com

top related