Upgrade to Pro — share decks privately, control downloads, hide ads and more …

클라우드 볼륨 서비스 가속화 사례

kakao
December 09, 2022

클라우드 볼륨 서비스 가속화 사례

#Storage

카카오의 클라우드 볼륨 서비스를 개선한 사례를 소개합니다.
스토리지 백엔드로 사용해오던 Ceph를 카카오 자체 개발 분산 스토리지 서비스인 Tenth2로 전환한 개발 과정을 공유합니다.

발표자 : max.sohn
카카오에서 클라우드 분산 스토리지를 개발하고 있는 맥스입니다.

kakao

December 09, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. 클라우드 볼륨 서비스 가속화 사례 손성국 max.sohn 카카오 Copyright 2022.

    Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao. if(kakao)2022
  2. - 전문 운영 인력의 부재 - Ceph 이슈의 즉각적인 대응이

    어려움 - Ceph 장애시 영향 받는 볼륨의 파악이 어려움 - 다른 솔루션은 없을까? 운영상 어려움
  3. 후보 1: QEMU Block Driver - 배포시 QEMU 재시작 필요

    (VM 재부팅) - QEMU 안전성 리스크 QEMU VM Block Layer Tenth Driver
  4. 후보 2: QEMU Storage Daemon - 하나의 볼륨에 지연이 생길시

    다른 볼륨도 영향 받음 - 레퍼런스 부족 QEMU VM Tenth Driver Storage Daemon
  5. 후보 3: Virtio - FS - FUSE 프로토콜 요구 -

    성능이 비교적 낮음 QEMU VM Tenth Driver virtiofsd
  6. 후보 4: SPDK vhost QEMU VM Tenth Driver SPDK -

    별도의 사용자 프로세스 - 고성능 - 자체 프로토콜 사용 가능
  7. SPDK 특징 - CPU pinning & hugepages - Polling -

    Zero copy - Lock - free I/O path - Asynchronous
  8. SPDK vhost 서버 구조 QEMU Hugepage Virtqueue & I/O Buffer

    SPDK vhost vhost - SCSI dev Block devices Tenth Driver
  9. Tenth Driver 구조 Hugepage Virtqueue & I/O Buffer Tenth Driver

    ... Volume Tenth Block Block Block ... Object File ... ... Object File Poller Thread Async Thread
  10. Tenth Driver 구조 Hugepage Virtqueue & I/O Buffer Tenth Driver

    ... Volume Tenth Block Block Block ... Object File ... ... Object File Poller Thread Async Thread
  11. Tenth Driver 구조 Hugepage Virtqueue & I/O Buffer Tenth Driver

    ... Volume Tenth Block Block Block ... Object File ... ... Object File Poller Thread Async Thread
  12. Tenth 오브젝트 파일 락 최적화 Object File Tenth Volume Object

    File Block Block Block Block Lock Lock Lock Before After
  13. Tenth 오브젝트 파일 락 최적화 Object File Tenth Volume Object

    File Block Block Block Block Lock Lock Lock Before After
  14. FIO Benchmark MB/s 0 150 300 Block Size 4K 16K

    64K MB/s 0 100 200 Block Size 4K 16K 64K Sequential RW Random RW Tenth Driver Ceph Gateway