Ceph 검색 결과

1개 발견
  1. 미리보기
    2018.09.17 - mr.november11

    [Ceph] Ceph Storage Architecture 구성 가이드 (H/W)

[Ceph] Ceph Storage Architecture 구성 가이드 (H/W)

2018. 9. 17. 21:34 - mr.november11

Ceph Storage Architecture 구성 가이드 (H/W)

Ceph Server H/W 관점

Network

  • Cluster 기반 대용량 Storage 를 제공하기 위해 10Gbps 급 Interface 사용이 권장된다.

    특히, Rack 단위 대규모 장애 시 Rebalance 및 Recover를 위해서 대규모 대역폭이 꼭 필요하다.

    Redhat에서 권장하는 NIC 대역폭은 12개 OSD 당 10Gbps 이다.

    OSD 노드에 12개 이상의 OSD는 수용하지 않기 때문에 10Gbps NIC를 LACP로 이중화하면 구성하면 무난하다.

  • 분리된 NIC 을 통한 Public / Cluster Network 별도 구성이 권장된다.

    • Public Network(Front-side) : Storage 연동 Client Traffic 및 MON 노드 통신 구간

    • Cluster Network(Back-side) : OSD Heartbeat, Replication, Backfilling, Recovery Traffic 전용 구간

  • Network 최적화를 위해 Jumbo frame 사용이 권장된다.

    • Jumbo frame 은 TCP 패킷의 MTU(최대 패킷 Size)를 9,000 바이트로 지정하는 것을 말한다.

      Ceph, Gluster 와 같이 IP 기반의 Storage Cluster 최적화를 위해 많이 사용된다.

      Jumbo frame 은 출발지, 목적지 서버 및 중간 스위치 구간에서 모두 Jumbo frame 지원해야 한다.

RAID

  • Ceph 에는 Replica 또는 Erasue Code 를 통해 Redundancy를 제공하고 있다.

    RAID 1 또는 5, 6을 활용한 Disk Redyndancy 는 일반적으로 사용하지 않는다고 한다.

    다량의 Disk를 Grouping하여 하나의 OSD로 만들 경우에는 RAID0 을 사용한다.

Disk

  • 'Redhat Ceph Storage Hardware Selection Guide'에서는 IOPS/Throughput/Capacity optimized 3가지 유형으로 나누어 구분하고 있으나 일반적으로는 SSD 기반 구성/HDD 기반 2가지 구성으로 나누어 생각해볼 수 있을 것 같다.

    • Ceph가 OpenStack OS 영역에서 RDB로 활용될 경우 Ceph Latency가 VM 성능의 병목 구간이 될 수 있다.

      이경우 OSD Disk 는 SATA SSD / OSD Journaling Disk 는 NVMe SSD를 사용하는 것이 권장된다.

      또는 SATA SSD 내에서 Co-located1방식으로 OSD+OSD Journaling 을 함께 쓰는 방안도 있다.

    • Ceph 를 통해 nDrive, Google Drive와 같은 대용량의 Storage를 서비스 한다면

      OSD Disk 는 대용량의 SAS HDD을 사용하고 OSD Journaling Disk는 SSD를 사용해야 한다.

      Journaling 을 HDD를 통해 처리할 경우 Ceph Storage 전체에 병목이 발생한다.

    • non-collocated 구성으로 journal Disk를 별도로 분리 시 하나의 Journal Disk 에는 최대 12개의 OSD를 구성하는 것을 권장한다.

Memory

  • ceph-osd 노드 구성 시 기본 16GB + OSD Daemon 개수 * 2GB의 물리적 RAM 구성이 권장된다.

    예를 들어, 2TB Disk 4개로 4개의 OSD를 제공하는 노드가 있다면, 요구되는 최소의 Memory 크기는 24GB(16GB+4*2GB)이다.


[1]  osd 구축 시 osd_senario를 통해 OSD journal deployment type을 지정할 수 있다. collocated 는 osd와 osd journal을 같은 Disk에 배치, non-collocated 는 osd와 osd journal을 서로 다른 Disk 에 배치하는 것을 말한다.

다른 카테고리의 글 목록

Ceph 카테고리의 포스트를 톺아봅니다