Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Gfs Kyu

2.077 Aufrufe

Veröffentlicht am

Veröffentlicht in: Bildung
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

Gfs Kyu

  1. 1. File System
  2. 2. Reviewer: KIM YongUk
  3. 3. 만든 사람들
  4. 4. Sanjay Ghemawat
  5. 5. Howard Gobioff
  6. 6. Shun-Tak Leung
  7. 7. Google!
  8. 8. Google 도 몰라요 ?
  9. 11. 대용량 데이터 처리 필요 <ul><li>최대 규모의 검색 , 최대 규모의 동영상 서비스 </li></ul>
  10. 13. 컴포넌트의 고장은 일반적 <ul><li>여러 저가 장비에 자료를 분산시키고 관리해야 했다 . </li></ul>
  11. 15. 시간에 따라 추가되는 컨텐츠 <ul><li>블로그 , 동영상 , 검색 등의 구글 서비스는 랜덤 접근 보다 순차적인 추가가 많았다 . </li></ul>
  12. 16. 설계의 전제
  13. 17. 많은 값싼 상품
  14. 18. 큰 파일
  15. 19. 큰 스트리밍 읽기 , 적은 랜덤 읽기
  16. 20. 동일한 파일에 대한 append
  17. 21. Bandwidth > Latency
  18. 22. POSIX 같은 표준 API 는 없음 .
  19. 23. <ul><li>만들기 </li></ul><ul><li>지우기 </li></ul><ul><li>열기 </li></ul><ul><li>닫기 </li></ul><ul><li>읽기 </li></ul><ul><li>쓰기 </li></ul>
  20. 24. 아직 더 있습니다 . 안 끝났으니깐 울지 말아요 .
  21. 25. 갑싼 복사 스냅샷
  22. 26. 내용을 추가하는 record append
  23. 27. 구조
  24. 28. Metadata 저장 마스터 서버
  25. 29. Metadata <ul><li>영구적 (Operation Log) </li></ul><ul><ul><li>파일과 Chunk 네임스페이스 </li></ul></ul><ul><ul><li>청크와 파일의 연결 정보 </li></ul></ul><ul><li>Chunkserver 에게 문의 </li></ul><ul><ul><li>청크의 복사본 위치 </li></ul></ul><ul><ul><li>Chunkserver 가 시작될 때 . </li></ul></ul>
  26. 30. 하나의 Chunk 는 여러 서버에 저장 .
  27. 32. Chunk – 64MB 의 작은 조각
  28. 33. <ul><li>한번 요청시 64MB 을 전송 . </li></ul><ul><li>순차적인 파일에서 재 요청 필요없음 . </li></ul><ul><li>작은 랜덤 읽기시에도 캐쉬되어 사용 . </li></ul><ul><li>마스터 서버와 네트워크 부하를 줄임 . </li></ul><ul><li>메타 데이터 캐쉬 가능 . </li></ul><ul><li>용량의 낭비가 생길 수 있다 . </li></ul>
  29. 34. Chunk server 들의 위치를 물음
  30. 35. Chunk server 들에게 데이터 전달
  31. 36. Chunk server 들에게 데이터 전달
  32. 37. Secondary Replication 복제 확인
  33. 38. Client 에게 성공했다고 알림
  34. 39. <ul><li>한 파일이 여러 서버에 Chunk 로 분산 . </li></ul><ul><ul><li>여러 서버로 부터 전송되어 빠르게 받음 . </li></ul></ul><ul><li>한 Chunk 가 3 개의 서버에 분산되어 저장 . </li></ul><ul><ul><li>오프라인 서버가 발생시 해결 . </li></ul></ul><ul><ul><li>손상된 청크 발견시 해결 . </li></ul></ul><ul><li>Chunk 복제시 동기화 </li></ul><ul><ul><li>백업 알고리즘의 단순화 . </li></ul></ul><ul><ul><li>모든 서버가 기록이 완료되어야 함 -> 성능저하 </li></ul></ul>
  35. 40. 이름영역 관리 <ul><li>디렉토리 별로 자료 구조를 가지지 않음 . </li></ul><ul><li>파일이나 디렉토리의 별명을 사용안함 . </li></ul><ul><ul><li>하드 링크 </li></ul></ul><ul><ul><li>심볼링 링크 </li></ul></ul><ul><li>논리적으로 전체 경로이름을 연결 . </li></ul>
  36. 41. 락킹 <ul><li>/home/user 가 /save/user 의 스냅샷 /home/user/foo 를 만들 경우 home, save: read lock / user: write lock </li></ul><ul><ul><li>부모 디렉토리에는 read lock 만 필요 . </li></ul></ul><ul><ul><li>여러 파일 생성시 write lock 에 의해 대기 . </li></ul></ul><ul><li>read lock 은 삭제 , 변경 , 스냅샷을 막음 . </li></ul>/home /user / foo /save /user / foo
  37. 43. 쓰레기 수집 <ul><li>마스터 서버에 삭제 시간 정보를 기록 </li></ul><ul><li>숨겨진 이름으로 변경 . </li></ul><ul><li>이름을 변경하면 파일이 복구될 수 있음 . </li></ul><ul><li>3 일 이상된 히든 파일을 마스터에서 삭제 . </li></ul><ul><ul><li>마스터가 모르는 청크는 “쓰레기” </li></ul></ul><ul><li>쓰레기 수집기가 쓰레기를 제거 . </li></ul><ul><ul><li>단순하고 신뢰할 수 있음 . </li></ul></ul><ul><ul><li>배치 작업으로 효과적 . </li></ul></ul>
  38. 44. 상한 복사본 발견 <ul><li>청크 서버가 작동하지 않는 동안 해당 서버의 청크는 변화하지 않음 . </li></ul><ul><li>마스터는 청크의 버전 번호를 붙여서 상한 복사본을 관리 . </li></ul><ul><li>청크 번호가 맞지 않은 청크 서버를 재시작시켜서 관리 . </li></ul>
  39. 45. 튼튼합니다 . GFS
  40. 46. 장애 허용성 <ul><li>빠른 복구 </li></ul><ul><ul><li>마스터와 청크서버는 상태를 저장하고 복구하도록 설계됨 . </li></ul></ul><ul><li>청크 복제 </li></ul><ul><ul><li>각 청크는 다른 장비에 복제되어 보호됨 . </li></ul></ul><ul><li>마스터 복제 </li></ul><ul><ul><li>마스터의 로그와 체크포인트를 여러 서버에 복제하여 신뢰성을 향상 . </li></ul></ul>
  41. 47. 보안은 어떻게 되나요 ? <ul><li>논문에 언급이 없음 . </li></ul><ul><li>클론 Hadoop 은 보안 문제 있음 . </li></ul><ul><ul><li>IP 와 PORT 를 알면 접근 가능 </li></ul></ul>
  42. 48. MapReduce: 병렬처리도 가능해요 .
  43. 49. FUSE: 파일 시스템 대체
  44. 50. GFS 는 구글만 쓰나요 ? Open source GFS Clone
  45. 51. Coda: GFS 와 비슷한 파일 시스템 - 캐쉬를 통해 읽는 속도 향상 - 볼륨 단위의 복제
  46. 52. Question and fin.

×