h3 2011 google을 통해 살펴보는 분산 파일 시스템의 현재와...
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 / 김홍모