검색

14.2. 데이터 센터 실패 처리

download PDF

Red Hat Ceph Storage는 확장 클러스터의 데이터 센터 중 하나 손실과 같은 인프라에 심각한 오류를 견딜 수 있습니다. 표준 오브젝트 저장소 사용 사례의 경우 세 개의 데이터 센터 모두를 구성하는 작업은 둘 사이의 복제 설정을 사용하여 독립적으로 수행할 수 있습니다. 이 시나리오에서는 각 데이터 센터의 스토리지 클러스터 구성이 로컬 기능 및 종속 항목을 반영하여 다를 수 있습니다.

배치 계층 구조의 논리 구조를 고려해야 합니다. 인프라 내의 장애 도메인의 계층적 구조를 반영하여 적절한 CRUSH 맵을 사용할 수 있습니다. 논리 계층 정의를 사용하면 표준 계층 정의를 사용하는 것보다 스토리지 클러스터의 안정성이 향상됩니다. 실패 도메인은 CRUSH 맵에 정의되어 있습니다. 기본 CRUSH 맵에는 플랫 계층 구조의 모든 노드가 포함되어 있습니다. 확장 클러스터와 같은 3개의 데이터 센터 환경에서 하나의 데이터 센터가 중단될 수 있는 방식으로 노드 배치를 관리해야 하지만 스토리지 클러스터는 계속 가동되고 실행됩니다. 노드에 3방향 복제를 사용할 때 노드에서 상주하는 오류 도메인을 고려하십시오.

아래 예제에서 결과 맵은 6개의 OSD 노드가 있는 스토리지 클러스터의 초기 설정에서 파생됩니다. 이 예에서 모든 노드에는 디스크가 하나만 있고 따라서 하나의 OSD가 있습니다. 모든 노드는 계층 트리의 표준 루트 인 기본 루트 아래에 정렬됩니다. 두 개의 OSD에 가중치가 할당되므로 이러한 OSD는 다른 OSD보다 적은 데이터 청크를 수신합니다. 이러한 노드는 나중에 초기 OSD 디스크보다 큰 디스크에서 도입되었습니다. 이는 노드 그룹 장애를 견딜 수 있도록 데이터 배치에 영향을 미치지 않습니다.

예제

[ceph: root@host01 /]# ceph osd tree
ID WEIGHT  TYPE NAME           UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.33554 root default
-2 0.04779     host host03
 0 0.04779         osd.0            up  1.00000          1.00000
-3 0.04779     host host02
 1 0.04779         osd.1            up  1.00000          1.00000
-4 0.04779     host host01
 2 0.04779         osd.2            up  1.00000          1.00000
-5 0.04779     host host04
 3 0.04779         osd.3            up  1.00000          1.00000
-6 0.07219     host host06
 4 0.07219         osd.4            up  0.79999          1.00000
-7 0.07219     host host05
 5 0.07219         osd.5            up  0.79999          1.00000

논리 계층 정의를 사용하여 노드를 동일한 데이터 센터로 그룹화하면 데이터 배치 성숙도가 달성될 수 있습니다. 가능한 루트 정의 유형,데이터 센터,,호스트 를 사용하면 세 개의 데이터 센터 확장 클러스터에 대한 장애 도메인을 반영할 수 있습니다.

  • host01 및 host02 노드는 데이터 센터 1(DC1)에 있습니다.
  • host03 및 host05 노드는 데이터 센터 2(DC2)에 있습니다.
  • host04 및 host06 노드는 데이터 센터 3 (DC3)에 있습니다.
  • 모든 데이터 센터가 동일한 구조(allDC)에 속합니다.

호스트의 모든 OSD는 호스트 정의에 속하므로 변경할 필요가 없습니다. 다음을 통해 스토리지 클러스터 런타임 중에 다른 모든 할당을 조정할 수 있습니다.

  • 다음 명령을 사용하여 버킷 구조를 정의합니다.

    ceph osd crush add-bucket allDC root
    ceph osd crush add-bucket DC1 datacenter
    ceph osd crush add-bucket DC2 datacenter
    ceph osd crush add-bucket DC3 datacenter
  • CRUSH 맵을 수정하여 이 구조 내에서 노드를 적절한 위치로 이동합니다.

    ceph osd crush move DC1 root=allDC
    ceph osd crush move DC2 root=allDC
    ceph osd crush move DC3 root=allDC
    ceph osd crush move host01 datacenter=DC1
    ceph osd crush move host02 datacenter=DC1
    ceph osd crush move host03 datacenter=DC2
    ceph osd crush move host05 datacenter=DC2
    ceph osd crush move host04 datacenter=DC3
    ceph osd crush move host06 datacenter=DC3

이 구조 내에서 새 호스트와 새 디스크도 추가할 수 있습니다. 계층 구조의 올바른 위치에 OSD를 배치하면 CRUSH 알고리즘은 구조 내의 다른 장애 도메인에 중복 조각을 배치하도록 변경됩니다.

위 예제에서는 다음을 생성합니다.

예제

[ceph: root@host01 /]# ceph osd tree
ID  WEIGHT  TYPE NAME               UP/DOWN REWEIGHT PRIMARY-AFFINITY
 -8 6.00000 root allDC
 -9 2.00000     datacenter DC1
 -4 1.00000         host host01
  2 1.00000             osd.2            up  1.00000          1.00000
 -3 1.00000         host host02
  1 1.00000             osd.1            up  1.00000          1.00000
-10 2.00000     datacenter DC2
 -2 1.00000         host host03
  0 1.00000             osd.0            up  1.00000          1.00000
 -7 1.00000         host host05
  5 1.00000             osd.5            up  0.79999          1.00000
-11 2.00000     datacenter DC3
 -6 1.00000         host host06
  4 1.00000             osd.4            up  0.79999          1.00000
 -5 1.00000         host host04
  3 1.00000             osd.3            up  1.00000          1.00000
 -1       0 root default

위의 목록에는 osd 트리를 표시하여 결과 CRUSH 맵이 표시됩니다. 쉽게 볼 수 있는 방법은 호스트가 데이터 센터에 속하고 모든 데이터 센터가 동일한 최상위 구조에 속하지만 위치를 명확하게 구분하는 것입니다.

참고

맵에 따라 적절한 위치에 데이터를 배치하는 것은 정상 클러스터 내에서만 제대로 작동합니다. 일부 OSD를 사용할 수 없는 경우 Misplacement가 발생할 수 있습니다. 이러한 오류는 가능한 한 자동으로 수정될 수 있습니다.

추가 리소스

  • 자세한 내용은 Red Hat Ceph Storage Storage Strategies Guide의 CRUSH 관리 장을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.