Ceph 마스터하기 (스토리지 시스템 환골탈태)

Ceph 마스터하기 (스토리지 시스템 환골탈태)

$25.00
Description
Ceph를 사용하기 전에 요구사항을 탐색하고 이에 맞는 기획과 구축 후에 발생할 수 있는 문제점을 해결하기 위한 방법을 모두 다룬다. 여기에는 배포 방법, 새롭게 적용되는 블루스토어의 개념, 스토리지 효율성을 위한 이레이저 코딩, 애플리케이션 작성을 위한 RADOS 라이브러리 사용법, OSD를 이용한 분산 컴퓨팅 수행, 상태 확인을 위한 모니터링, 캐시를 위한 티어 사용법, 성능 향상을 위한 튜닝이 포함된다. Ceph를 사용할 때 꼭 알아둬야 할 내용만을 담았다.
저자

닉피스크

저자닉피스크(NickFisk)는엔터프라이즈스토리지분야에서오랜이력을가진IT전문가다.오랜경력을쌓으면서다양한역할을수행하고방대한기술을접해왔다.2012년에는오픈소스기술에더집중할수있는기회를얻었으며,Ceph를처음접하게됐다.스토리지플랫폼으로Ceph의잠재력과전통적인폐쇄형스택스토리지플랫폼에서벗어나는것의장점을찾았기때문에강한흥미를갖고Ceph를공부했다.
그후몇년동안,여러클러스터배포를하면서Ceph경험을쌓았고,Ceph커뮤니티에서시간을보내면서다른사람들을돕고Ceph의특정영역을발전시켰다.

목차

1장Ceph사용계획
__Ceph란?
__Ceph동작방식
__Ceph사용사례
____기존스토리지어레이를Ceph로교체
____성능
____신뢰성
____상용하드웨어사용
__구체적인사용사례
____오픈스택또는KVM기반가상화
____대용량벌크블록스토리지
__인프라설계
____SSD
____메모리
____CPU
____디스크
____네트워크
____10G네트워킹요구사항
__네트워크설계
____OSD노드크기
____비용
____전력공급
__성공적인Ceph구축을위한방법
____요구사항이해와Ceph에적용
____목표설정을통한성공적인프로젝트점검
____하드웨어선택
____Ceph사용준비
____Ceph가요구사항을잘만족하고있는지PoC수행
____클러스터구축을위한최적예제따르기
____변경점관리절차정의
____백업의생성과복구계획
__요약

2장.Ceph배포
____베이그런트와버추얼박스를이용한환경준비
__오케스트레이션
__앤서블
____앤서블설치
____인벤토리파일생성
____변수
____테스트
__매우간단한플레이북
__Ceph앤서블모듈추가
____앤서블로테스트클러스터배포
__변경점및환경설정관리
__요약

3장.블루스토어
____블루스토어란?
__블루스토어가필요한이유
____Ceph의요구사항
____블루스토어가해결책인이유
__블루스토어동작방식
____RocksDB
____지연쓰기
____BlueFS
__블루스토어사용방법
____테스트클러스터의OSD업그레이드
__요약

4장.더나은스토리지효율성을위한이레이저코딩
__이레이저코딩이란?
____K+M
__Ceph에서이레이저코드동작방식
__알고리즘과프로파일
____Jerasure
____ISA
____LRC
____SHEC
__이레이저코드를사용하는곳
__이레이저코드풀생성
____크라켄에서이레이저코드풀덮어쓰기
____시연
____2147483647오류해결
__요약

5장.librados를통한개발
__librados란?
__librados사용방법
__librados애플리케이션예제
____원자적연산을수행하는librados애플리케이션예제
____와처와노티파이어를사용하는librados애플리케이션예제
__요약


6장.CephRADOS클래스를통한분산컴퓨팅
__예제애플리케이션및RADOS클래스사용의장점
__Lua로작성하는간단한RADOS클래스
__분산컴퓨팅을시뮬레이션하는RADOS클래스작성
____빌드환경준비
____RADOS클래스
____librados애플리케이션클라이언트
____테스트
__RADOS클래스주의사항
__요약

7장.Ceph모니터링
__Ceph모니터링이중요한이유
__모니터링이필요한요소
____Ceph활력
____운영체제및하드웨어
____Smartstats
____네트워크
____성능카운터
__PG상태:좋은,나쁜,이상한
____좋은상태
____나쁜상태
____이상한상태
__collectd를이용한Ceph모니터링
____그라파이트
____그라파나
____collectd
____앤서블을통한colledctd배포
____Ceph를위한그라파이트쿼리예제
____커스텀cephcollectd플러그인
__요약

8장.Ceph티어구축
__티어와캐시
____Ceph티어기능동작방식
__블룸필터
__티어모드
____지연쓰기
____포워드
____프록시
__사용예
__Ceph에서티어생성
__티어튜닝
____플러시와퇴거
____승급
__승급쓰로틀링
____모니터링매개변수
____이레이저코드풀티어구축
____대체적인캐시기재
__요약

9장.Ceph튜닝
__지연시간
__벤치마크
____벤치마크도구
____Fio
____Sysbench
____Ping
____iPerf
____네트워크벤치마크
____디스크벤치마크
____RADOS벤치마크
____RBD벤치마크
__추천하는튜닝
____CPU
____파일스토어
____PG분리
__스크럽
__OP우선순위
__네트워크
__일반적인시스템튜닝
__커널RBD
____큐깊이
____미리읽기
____PG분산
__요약

10장.문제해결
__비일관성객체고치기
__OSD가득참
__Ceph로깅
__느린성능
____원인
____모니터링
____진단
__극도로느린성능또는IO처리불가
____OSD플래핑
____점보프레임
____디스크고장
____느린OSD
__다운상태의PG분석
__커진모니터데이터베이스
__요약

11장.피해복구
__피해란?
__데이터손실피하기
__운영중지나데이터손실이발생하는원인
__RBD미러링
____저널
____rbd-mirror데몬
____RBD미러링설정
____RBD장애극복실행
__RBD복구
__사라진객체와비활성PG
__완전한모니터실패로부터복구
__Ceph객체스토어도구사용
__어썰트분석
____어썰트의예
__요약

출판사 서평

★이책에서다루는내용★
■Ceph의고급기능을사용할때와그방법
■버추얼박스및베이그런트를이용한가상머신과앤서블을통한테스트클러스터구축
■librados와공유객체클래스를사용해서방대한문제를해결하기위한솔루션구축
■이레이저코드풀의올바른매개변수선택과설정
■블루스토어를구축하고서로다른하드웨어와상호작용하기위한방법
■튜닝,모니터링,피해복구장치의강약조절을통한지속적인Ceph운영

★이책의대상독자★
이책의내용을활용하기위해서는Ceph에대한기본적인사전지식이있어야한다.자세한내용을알고싶다면언제나Ceph공식문서http://docs.ceph.com/docs/master/에서주요구성요소에대한내용을읽어기본적인것들을빠르게따라잡을수있다.
이책은기본적으로Ceph클러스터관리자를대상으로한다.Ceph클러스터를이미사용하고있다면이책은더나은이해를얻는데도움을줄것이다.

★이책의구성★
1장,'Ceph사용기획'에서는Ceph의기본동작방식,기본구조,훌륭한사용사례를알아본다.또한Ceph를실제로구현하기전에설계목적,개념증명및인프라설계를포함한계획수립단계에대해알아본다.
2장,'Ceph배포'에서는Ceph클러스터의설정방법에대한간단명료한단계별지침을제공한다.테스트를위한ceph-deploy도구를다루고,앤서블(Ansible)까지알아본다.변경관리에대한내용도포함돼있으며,대규모Ceph클러스터의안정성을위해필수적인부분에대해설명한다.또한이책의후반에예제로사용할공용플랫폼을제공한다.
3장,'블루스토어'에서는Ceph가데이터및메타데이터에대한원자적연산을제공할수있어야하며,표준파일시스템위에서이러한보장을제공하기위해파일스토어가어떻게빌드되는지를설명하고,이런접근방식에대한문제점을다룬다.그다음블루스토어(BlueStore)를소개하고동작방식과이것으로해결가능한문제를설명한다.이에는구성요소와다른종류의스토리지장치와상호작용하는방식을포함한다.또한RocksDB를포함해블루스토어가사용하는키-값스토어(key-valuestore)에대해개괄적으로설명한다.일부블루스토어설정과다른하드웨어설정과의소통방식에대해서도알아본다.
4장,'더나은스토리지효율성을위한이레이저코딩'에서는RADOS풀(pool)매개변수와이레이저코딩(erasurecode)프로파일에대한설명을포함해이레이저코딩동작방식및Ceph구현방식에대해다룬다.크라켄(Kraken)배포판에서의변경사항을보면이레이저코드풀에RBD가직접작용할수있게하는이레이저풀에대한추가덮어쓰기가능성을제공하는것을알수있다.성능고려사항도설명하는데,요구되는성능을만족하게하는블루스토어에관한내용을포함한다.마지막으로풀에이레이저코드를실제로설정하는방법에대한단계적지침을제공하며,이지침은시스템관리자를위한기계참조로사용될수있다.
5장,'librados를통한개발'에서는librados가Ceph클러스터와직접소통하는애플리케이션을빌드하기위해어떻게사용되는지를설명한다.그런다음원자적처리를포함해사용방식에대한아이디어를제공하기위해다른언어로librados를사용하는몇가지예제를살펴본다.
6장,'CephRADOS클래스를통한분산컴퓨팅'에서는분산컴퓨팅을효율적으로수행하기위해처리절차를직접OSD로옮기는경우의이점에대해알아본다.그런다음루아(Lua)로간단한클래스를제작해RADOS클래스로시작하는방법을다룬다.그리고자신만의C++RADOS클래스를Ceph소스트리에빌드하는방법을다루고,클라이언트와OSD의처리에대한벤치마크를수행한다.
7장,'Ceph모니터링'에서는모니터링이중요한이유에대한설명으로시작해경고와모니터링의차이점을알아본다.그런다음모든Ceph구성요소에서성능카운터를얻는방법을다루고,일부주요카운터의의미와사용가능한값으로변경하는방법을알아본다.
8장,'Ceph티어구축'에서는Ceph에서RADOS티어(tier)가동작하는방식,사용위치및위험성에대해알아본다.Ceph클러스터에서티어를설정하기위한단계를살펴보고,마지막으로이티어를위해최고성능을내는튜닝옵션을다룬다.그라파이트(Graphite)를사용하는예제에서는그래프형태로더의미있는결과를제공하기위해캡처된데이터를처리하는데대한가치를입증한다.
9장,'Ceph튜닝'에서는Ceph와운영체제를튜닝하는방법에대한간략한개요로시작한다.병목현상이아닌것을튜닝하려는시도를피하기위한기본개념도다룬다.또한튜닝할수있는영역을다루고,튜닝의성공여부를판단하는방법도설명한다.마지막으로Ceph를벤치마크하는방법과기준측정방식을보여줌으로써달성된결과가의미있음을확인한다.여러도구와벤치마크가실제성능과어떻게관련돼있는
지도알아본다.
10장,'문제해결'에서는Ceph가스스로를관리하고실패에서회복하는데대체로자율적이지만경우에따라인간의개입이필요하므로,일반적인오류와실패에대한문제해결을통해건강하게Ceph를회복시키는방법을알아본다.
11장,'피해복구'에서는Ceph가서비스나데이터의완전한손실이발생할정도의상태에있는상황을다룬다.클러스터로의접근권한을복원하고,데이터를복구하는데익숙하지않은복구기술이필요하므로,이런상황에서회복을시도하기위한지식으로무장시켜준다.

★옮긴이의말★
Ceph는오픈스택과함께폭발적으로성장한대표적인분산스토리지솔루션이다.초기의오픈스택부터Ceph와잘결합돼발전했기때문에세계의많은개발자가오픈스택의개발과함께Ceph에도많은기여를해왔다.현재,초기보다안정성이많이향상되고,통합되는플랫폼도오픈스택뿐아니라여러플랫폼을지원한다.물론플랫폼에통합해사용하지않더라도객체스토리지,블록스토리지,파일시스템을모두지원해단독으로사용할수도있다.성능도개선되고있어현재개발되고있는분산스토리지솔루션제품에서도사용할만한오픈소스스토리지솔루션중하나다.
이책은상대적으로적은지면수에비해Ceph를구축하는데미리생각해둬야할것부터실운용시맞닥뜨릴수있는몇가지문제상황을해결방법까지폭넓게다루고있다.이뿐만아니라몇가지핵심기능의개념및라이브러리사용에대해서설명하고,풍부한예제및스크린샷을통해실제환경에서어떻게보이는지를고려한다.따라서이책은Ceph를구축하기를원하는엔지니어뿐아니라,Ceph를이용하고자하는애플리케이션개발자,Ceph의구성요소에관심있는엔지니어및학생에게도좋은내용이다.