Google's Disk Failure Experience

yundream7의 이미지


... 그림이 안나오네요... 파일첨부시키기는 귀찮고..
그래프를 포함한 내용은 http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Google/Service/Disk_Failure_Experience 에서 확인할 수 있습니다.

구글은 수백테라 이상의 정보를 유지하기 위해서 sotrage 가상화를 이용, 하드디스크를 하나의 논리적인 디스크로 묶어서 사용하고 있다. 이 가상화된 저장공간에는 캐쉬된 웹페이지 원본, 색인정보, Gmail, 이미지, 동영상 등이 저장된다. 이러한 거대한 정보를 유지하기 위해서는 엄청난 양의 Disk가 필요할 것이다.

이번에 (2007/2) 구글은 100,000 개의 디스크드라이버를 운영하면서 분석한 정보를 토대로 작성된 논문을 공개했다. 상당히 흥미로운 내용을 담고 있어서 문서를 읽어 보기로 했다. 이 문서는 요약된 정보만을 제공한다. 자세한 내용은 문서를 직접 읽어보기 바란다.

원문 : http://labs.google.com/papers/disk_failures.pdf

분석을 위해 사용된 기술
100,000개의 하드디스크에 대한 몇년간의 정보를 수집하고 분석하는 것만해도 엄청난 작업일 것이다. 이를 위해서 구글은 다음과 같은 분석시스템을 구축했다.

figure_1.png

우리나라에서 이러한 시스템관리적인 일은 SE의 업무분야일건데, 위와 같은 분석시스템까지 갖추고 논문까지 만들어서 제출한다는 자체가 대단한 일이라고 생각된다.

시스템의 건강체크를 위한 하부구조를 만들기 위해서 모든 구글의 서버로 부터 전달되는 값을 저장하기 위한 분산 시스템이 준비된다. 이 분산 시스템은 분산 연산을 하기 위한 소프트웨어로 묶여 있다.

첫번째 계층은 Collection 계층으로 데이터를 수집하고 저장하기 위한 분산 저장환경을 유지한다. Collection의 소프트웨어는 구글서버에 설치되어 있는 시스템관리 데몬으로 부터 다양한 정보를 수집한다.

이 정보들은 광범위한 분석작업을 위해서 Bigtable로 압축이 된다. Bigtable는 필요없는 데이터를 제거하고 압축해서 빠른 데이터 분석이 가능하도록 만들어진 데이터 레이아웃이다. 1,000,000 명의 유저 데이터간의 유사성을 찾아내기 위해서 1,000,000 * 1,000,000의 2차원 테이블의 데이터를 분석해야 한다고 가정해보자. 유저의 도서구입 목록을 분석해서 비슷한 성향의 다른 유저가 즐겨보는 책을 추천해야 하는 시스템을 만들어야 할 경우에 사용될 수 있을 것이다. 아마존과 같은 세계규모의 온라인서점이라면, 이러한 류의 시스템이 갖추어져야 한다. Web2.0 서비스를 위한 기술이라는 점을 눈치챌 수 있을 것이다.

이렇게 Bigtable화 된 데이터는 Analysis계층에서 읽어들여서 분석을 하게 된다. 분석할 양이 방대하기 때문에, MapReduce 프로그래밍 모델을 적용한 엔진을 이용해서 분석을 하게 된다. 최종 결과물로 통계데이터와 그래프가 만들어지게 된다.

분석할 장비
구글의 서비스를 위해서 사용되는 수십만개의 하드디스가 목표가 되었다. 이들은 대략 5400에서 7200rpm의 속도를 가진 80G에서 400G까지의 크기를 가지는 ATA 하드디스크들로 이루어졌다. 모델도 다양해서 9개의 서로 다른 제조업체에서 만들어진 모델들이 사용되었다.

결과
처음이 힘들다
다음은 AFR결과다. 연간 오류발생율 이라고 해석하면 될거 같다. 일단 사용한지 2년째가 되는 시점부터 갑자기 오류발생율이 증가하는 것을 볼 수 있는데, 그뒤로는 딱히 별다른 움직임을 보이지 않는걸 알 수 있다. 특이한 점은 1년내에서 봤을 때, 처음 3개월때의 오류발생율이 가장 높고 1년까지 서서히 감소한다는 점이다.

figure_22.png

4년째 까지는 AFR의 편차가 작은데, 5년째부터 변동폭이 커지는걸 볼 수 있다. 이는 대략 5년 정도를 사용하게 되면, 하드디스크 제조업체에 따른 내구도가 드러나기 시작하는 것으로 봐도 될거 같다.

가능한 빡세게 굴려라
또하나 특이한 점은 열심히 일한 하드디스크라고 해서 오류율이 증가하지는 않는다는 점이다. 아래의 그래프는 주간 read/write의 크기별, 오류율을 나타낸 것이다.

figure_2.png

놀고 있는 얘나 열심히 일한 얘나 별차이가 나지 않음을 보여주고 있다. 시스템 관리자 입장에서는 가능한 빡세게 돌리는게 여러모로 이익일거 같다.

냉방장치에 많은 돈을 들일 필요가 없다
온도가 높으면 고장율도 높아진다라는 건 당연하게 생각되고 있다. CPU는 어떤지 모르겠지만 하드디스크의 경우에는 별로 연관성이 없는거 같다.

figure_3.png

오히려 예상과는 다르게 낮은 온도에서 더 높은 오류율을 보여주는걸 확인할 수 있다. 그래프 결과를 봐서는 40이하면 오류율에 큰 영향을 미치지 않는 것으로 보인다.

aero의 이미지

USENIX( http://www.usenix.org )
의 Fast ( File and Storage Technology) 그룹 2007년도 컨퍼런스( http://www.usenix.org/events/fast07/ ) 에서
발표된 논문에 관련된 기사입니다.

* Google 이 제출한 논문
HDD 고장, 사용빈도 및 온도에 영향 없다?
http://www.kbench.com/news/?no=38224

* Dr. Schroeder의 논문 ( FAST07에서 최고의 논문으로 선정 )
당신의 하드 디스크에 대한 상식 모두 틀렸다
http://www.kbench.com/news/?no=38277

관련 slashdot기사
http://hardware.slashdot.org/hardware/07/02/21/004233.shtml

찬찬히 읽어보면 재미있습니다.

SE/SA분야에서도 이런 분석논문이 나올 수 있는 미국의 IT저변이 부럽군요.

candinate의 이미지

한번 국내의 포탈도 하드 몇개나 사용하는지 적어보죠.

포탈 시스템관리자들끼리 경험을 비교해보면 비교할만한 좋은 결과가 나올거 같습니다

대충 때려 짐작컨데..

다음: 3,000 개
네이버: 10,000 개

정도 될거 같습니다만 실제 관계자분들의 데이터는?

빨간푸들의 이미지

다음은 커뮤니티인 성격으로 데이터량이 상상을 초월합니다.
스토리지가 많을 수 밖에 없죠.
반면에 네이버는 다음에 비하면 상상 이하로 스토리지가 작습니다.
다음은 님께서 생각하시는 거에 10배 이상으로 생각하시면 될 것이고,
네이버는 말씀하신 수량정도로 보심 되요. 이상.
서버 인터널 디스크는 그냥 묻어두죠.

익명사용자의 이미지

작년에 아마 서버가 6천대 넘었고

올해는 10,000대까지 증설된다고 알고 있는데

하드디스크는 더 많겠죠..

stadia의 이미지

서버당 평균 사용 디스크를 3개라고 치면 네이버는 18000개 이상을 사용하고 있네요.

oldbell의 이미지

다음IDC에 가보니 많은 서버(당)에서 스토리지를 연결, 하드가10장 이상씩 꽂혀 있더군요.
어떤 거는 렉 1대에 서버 10대도 안되던걸요!

인생의 무게를 느껴라. 아는 만큼 보이는게다.

wildcat의 이미지

메일도 이용자가 제일 많을테고,
카페도 만만찮을텐데... 3천개가지곤 안될듯..

유사이래 어디서나 적용가능한 최고의 병법은 바로
물량공세 아니겠습니까 -,.-

싸이는 또 몇개쓰나 궁금해지네요,
대한민국에 싸이 가진사람이 많다던데.

--------------------------------------
자유와 권리