Contents 네이버의페타바이트데이터 서비스방안 저장시스템개발팀 김태웅부장 2010.11.23 1/27
Contents Ⅰ 스토리지요구사항스토리지요구사항 Ⅱ OwFS 개요 OwFS 개요 Ⅲ OwFS 의특장점 OwFS 의특장점 Ⅳ 데이터의안전한보존문제데이터의안전한보존문제 2/27
Ⅰ 스토리지요구사항 3/27
네이버 / 한게임현황 구분 지표 수치 네이버 회원수 3,400만명 1일 Unique Visitors 1,700만명 1일 Page Views 10억 한게임 회원수 3,000만명 최고동시접속수 29만명 1일 Unique Visitors 300만명 * 2010 년 7 월현재 4/27
대규모파일서비스 많은서비스들이파일기반의서비스 메일, 카페, 블로그의첨부파일 포토, 동영상파일 N드라이브 ( 개인용무료 10GB 저장공간 ) 5/27
스토리지에대한요구사항 고가용성 서비스중단없는유지보수 확장성 ( 성능 / 용량 ) 높은처리량 TB 당구축비용 낮은운영비용 6/27
동향 1: 자체스토리지솔루션 Low cost server + SATA disk 에기반한자체솔루션 7/27
동향 2: 메타데이터와데이터저장분리 Master File s chunk map File metadata lookup Active Standby GFS client Chunk location Chunk I/O 파일 고정된 chunk 단위로쪼개져저장됨 Chunk servers 8/27
NHN 의해결책 자체분산파일시스템의솔루션확보 SATA 디스크의 low cost 기반서버채용 메타데이터와데이터저장을분리 OwFS (Owner-based File System) 파일 upload/download 환경에적합한파일시스템 파일접근패턴 : WORM (Write-Once-Read-Many) 파일의개수가수십억개이상으로늘어남 개개의파일의크기는작음 ( 수 KB ~ 수십 MB이대부분 ) 단일서비스의저장공간이수십 Petabyte 이상으로늘어남 9/27
ⅠⅡ OwFS 개요 10/27
설계시고려사항 개별파일의저장 파일은분할해서저장하지않고전체를저장 파일은 3 개의복제본가짐 HDD/ 서버고장에대응 파일쓰기부담은늘어나지만, 읽기부하는분산가능 파일시스템의메타데이터 ( 파일의복제본정보 ) 개별파일단위로복제본정보를저장하지말고모아서관리 서로관련된파일들을모아놓은것이 Owner Owner는분산과복제의기본단위 OwFS (Owner-based File System) 에서파일의경로 (Owner이름, Pathname) 11/27
Owner 란? 사진 _2008 년 사진 _2007 년 문서 _ 매뉴얼 사진 _2008 년 내문서 사진 2007 년 2008 년 2009 년 문서 다운로드 매뉴얼 PT 자료...... 문서 _PT 자료 사진 _2009 년 사진 _2008 년 문서 _ 매뉴얼 사진 _2007 년 문서 _ 다운로드 문서 _ 매뉴얼 사진 _2007 년 문서 _ 다운로드 사진 _2009 년 문서 _PT 자료 문서 _ 다운로드 X 문서 _ 다운로드 사진 _2009 년 문서 _PT 자료 12/27......
OwFS 의구조및동작 Owner map 캐쉬 Owner 조회 Owner 의복제본정보 메타데이터서버 (MDS) Owner map Owner이름 복제본 홍길동 1,2,3 이몽룡 3,4,5 성춘향 2,5,6 변학도 1,4,6 DS1 DS2 DS3 파일 I/O 응용서버 DS4 DS5 DS6 데이터서버 (DS) 13/27
OwFS API Owner 연산 Owner 생성 / 삭제 (undelete 도가능 )/ 이름변경 / 리스트조회 파일연산 파일생성 / 덮어쓰기 /append 파일의중간부분변경은지원하지않음 파일읽기 파일삭제 (undelete도가능 ) 파일이름변경 파일속성읽기 파일존재여부확인 디렉토리연산 디렉토리생성 / 삭제 / 이름변경 / 파일리스트조회 14/27
파일쓰기동작 응용서버 1 Owner 홍길동 의저장위치는? 3 3 개서버에파일 A 를각각저장 2 (DS1, DS2, DS3) A A A DS1 DS2 DS3 메타데이터서버 (MDS) DS4 DS5 DS6 데이터서버 (DS) 15/27
파일읽기동작 응용서버 1 Owner 홍길동 의저장위치는? 2 (DS1, DS2, DS3) 3 파일 A 의복제본중하나를읽음 A DS1 DS2 DS3 메타데이터서버 (MDS) DS4 DS5 DS6 데이터서버 (DS) 16/27
ⅠⅢ OwFS 의특장점 17/27
고장에대한대응 Internet 네트워크스위치이중화 Core switch Distribution switch Access switch 3 벌의복제본을 fault domain 별로분리하여배치 18/27
고장유형과데이터동기화 고장유형 일시적고장 영구적고장 변경연산 ( 파일생성또는삭제 ) 일시적고장에서회복 복제본상태는 복구중 X 홍길동 동기화 홍길동 홍길동 19/27
서비스중단없는유지보수 Internet Core switch Access switch 펌웨어업그레이드또는불량포트교체 Distribution switch Access switch 스위치증설작업도온라인에가능 20/27
확장성 용량확장성 저장공간을늘리려면데이터서버를추가로설치 데이터서버가추가되면서버당저장용량배분작업수행 관리자에의해설정된임계점에도달하면자동으로용량배분작업이기동됨 용량배분작업은데이터서버에추가 I/O 부담을주기때문에부하수준을제어할수있는방법제공 Owner 에대한이름공간은그대로유지됨 성능확장성 Owner 공간의분배가공평하다면, 각데이터서버는비슷한수준의파일연산처리 서버를증설하면전체파일연산수와처리량이선형적으로증가 21/27
비용절감 OwFS 는스토리지운영상의다양한장점을가지면서 TCO (Total Cost of Ownership) 절감도가능 Commodity 서버의내장 SATA 디스크채용 표준화된서버와네트워크스위치구성관리 기존네트워크스토리지에비해 TB 당 TCO 절감 22/27
ⅠⅣ 데이터의안전한보존문제 23/27
HDD 의고장률 HDD 의 Datasheet MTTF (Mean Time To Failure) = 1M ~ 1.5M hours AFR (Annual Failure Rate) < 0.88% 그러나, 실제환경에서는 4% 이상의 AFR 을나타낼수있음 HDD 의고용량화로인해 RAID-5 구성에서디스크고장발생시데이터 rebuilding 시간이길어짐 2TB 디스크로구성된 RAID-5 볼륨은 rebuilding 하는데 3-4 일이걸릴수있음 디스크고장발생시데이터손실의위험이커짐 인터넷서비스에서 long tail 데이터의보존시 RAID-5 protection 은신뢰하기힘들다. 저장비용이낮으면서신뢰성을높일방법필요 2 개이상 m 개의고장을감내할수있는방안필요 24/27
데이터의저장방법의예 : IDA D: 데이터 (n x 1 행렬 ) A: (n+m) x n 행렬 Vandermonde 행렬 D = D1 D2... Dn 임의의 n 개의행을선택하여도역행렬이존재 아래의계산을통해얻은 n+m 개의 fragment 를저장 D1 F1 D2 = F2 A D = A...... Dn F n+m n+m 개의 fragment 중임의의 n 개의 fragment 만있으면데이터 D 를복원가능 Michael O. Rabin, Efficient Dispersal of Information for Security, Load Balancing, and Fault Tolerance, Journal of ACM, 1989. 25/27
26/27 IDA 방법에서데이터복구 예 ) n = 4, m = 2, A 는 6 x 4 Vandermonde 행렬 A 는 A 행렬에서 2 번째, 4 번째행을제거한 4 x 4 행렬 = = 6 2 1 4 3 2 1 F... F F D D D D D A A 2, F 4 F 고장난경우의복구방법 = 6 5 3 1 F F F F A' D A = D 6 5 3 1 1 F F F F ') ( 데이터는 A 의역행렬을이용하여복원
저장비용효율 가용성을위한저장효율 = (n+m)/n RAID-5 의경우는 parity 가 1 이므로 (n+1)/n n 이크면효율이좋으나신뢰성문제 복제본의경우는 m = (k-1) x n, k 는복제본수 가용성은좋으나비용이많이든다. n 과 m 값을적절하게선택하여가용성과비용을조정 1 < (n+m)/n < 2 27/27
Q & A 28/27
Thank you! 29/27