6.2. Ceph 블록 장치 미러링 구성 개요


rbd-mirror 데몬은 단방향 미러링을 위해 단일 Ceph 스토리지 클러스터 또는 미러링 관계에 참여하는 양방향 미러링을 위해 두 개의 Ceph 스토리지 클러스터에서 실행할 수 있습니다.

rbd-mirror 데몬은 원격 기본 이미지에서 변경 사항을 가져와 기본이 아닌 로컬 이미지에 변경 사항을 작성하여 하나의 Ceph 스토리지 클러스터의 이미지를 다른 Ceph 스토리지 클러스터로 동기화해야 합니다.

단방향 또는 양방향 복제를 사용하여 RBD 미러링이 작동하려면 다음과 같은 몇 가지 가정을 수행합니다.

  • 두 스토리지 클러스터에 동일한 이름의 풀이 있습니다.
  • 저널 기반 미러링의 경우 풀에 미러링할 저널 사용 이미지가 포함되어 있습니다.
중요

단방향 또는 양방향 복제에서 rbd-mirror 의 각 인스턴스가 다른 Ceph 스토리지 클러스터에 동시에 연결할 수 있어야 합니다. 또한 네트워크는 미러링을 처리하기 위해 두 데이터 센터 사이트 간에 충분한 대역폭을 가져야 합니다.

미러링은 미러 피어링 스토리지 클러스터를 사용하여 풀별로 구성됩니다. Ceph는 풀의 이미지 유형에 따라 두 개의 미러링 모드를 지원합니다.

풀 모드
저널링 기능이 활성화된 풀의 모든 이미지가 미러링됩니다.
이미지 모드
풀 내의 특정 이미지 하위 집합만 미러링됩니다. 각 이미지에 대해 미러링을 별도로 활성화해야 합니다.

이미지를 수정할 수 있는지 여부는 상태에 따라 다릅니다.

  • 기본 상태의 이미지를 수정할 수 있습니다.
  • 기본이 아닌 상태에서는 이미지를 수정할 수 없습니다.

이미지에 미러링이 활성화되면 이미지가 자동으로 기본 설정으로 승격됩니다. 승격이 발생할 수 있습니다.

  • 풀 모드 및 저널 기반 이미지에서만 미러링을 활성화하여 암시적으로 활성화합니다.
  • 명시적으로 특정 이미지의 미러링을 활성화합니다.

기본 이미지가 아닌 이미지를 시연하고 승격할 수 있습니다.

6.2.1. 단방향 복제

단방향 미러링은 하나의 스토리지 클러스터의 기본 이미지 또는 이미지 풀이 보조 스토리지 클러스터에 복제됨을 의미합니다. 단방향 미러링은 여러 보조 스토리지 클러스터에도 복제를 지원합니다.

보조 스토리지 클러스터에서 이미지는 기본이 아닌 복제입니다. 즉, Ceph 클라이언트는 이미지에 쓸 수 없습니다. 데이터가 기본 스토리지 클러스터에서 보조 스토리지 클러스터로 미러링되면 rbd-mirror 는 보조 스토리지 클러스터에서만 실행됩니다.

단방향 미러링이 작동하려면 다음과 같은 몇 가지 가정이 수행됩니다.

  • Red Hat Storage Ceph 스토리지 클러스터가 두 개 있으며 기본 스토리지 클러스터에서 보조 스토리지 클러스터로 이미지를 복제하려고 합니다.
  • 보조 스토리지 클러스터에는 클러스터 노드 중 하나에서 실행할 수 있는 rbd-mirror 데몬이 포함되어 있습니다. rbd-mirror 데몬은 기본 스토리지 클러스터에 연결하여 이미지를 보조 스토리지 클러스터와 동기화합니다.

그림 6.1. 단방향 미러링

6.2.2. 양방향 복제

양방향 복제는 기본 클러스터에 rbd-mirror 데몬을 추가하여 이미지를 시연하고 보조 클러스터에서 승격할 수 있습니다. 그런 다음 보조 클러스터의 이미지를 변경할 수 있으며 보조 클러스터에서 기본까지 역방향 방향으로 복제됩니다. 두 클러스터 모두 클러스터에서 이미지를 승격하고 데모할 수 있도록 rbd-mirror 가 실행되고 있어야 합니다. 현재 양방향 복제는 두 사이트 간에만 지원됩니다.

양방향 미러링이 작동하려면 다음과 같은 몇 가지 가정이 수행됩니다.

  • 두 개의 스토리지 클러스터가 있으며 두 개의 스토리지 클러스터 간에 이미지를 복제할 수 있어야 합니다.
  • 두 스토리지 클러스터 모두 rbd-mirror 데몬이 실행되고 있습니다. cluster1의 기본 이미지는 원격 클러스터의 rbd-mirror 데몬과 원격 클러스터의 이미지가 기본 이미지와 동기화됩니다.

그림 6.2. 양방향 미러링

6.2.3. 명령줄 인터페이스를 사용하여 단방향 미러링 구성

단방향 복제를 사용하는 경우 여러 보조 스토리지 클러스터에 미러링할 수 있습니다.

이 섹션의 예제에서는 기본 이미지가 site-a 인 기본 스토리지 클러스터를 사용하고 이미지를 site-b 로 복제하는 보조 스토리지 클러스터를 사용하여 두 개의 스토리지 클러스터를 구분합니다. 이러한 예에 사용되는 풀 이름을 data 라고 합니다.

사전 요구 사항

  • 최소 2개의 실행 중인 Red Hat Ceph Storage 클러스터
  • 각 스토리지 클러스터의 Ceph 클라이언트 노드에 대한 루트 수준 액세스.
  • 관리자 수준 기능이 있는 CephX 사용자

프로세스

  1. 두 사이트의 cephadm 쉘에 로그인합니다.

    [root@site-a ~]# cephadm shell
    [root@site-b ~]# cephadm shell
    Copy to Clipboard Toggle word wrap

  2. site-b 에서 보조 클러스터에서 미러 데몬 배포를 예약합니다.

    구문

    ceph orch apply rbd-mirror --placement=NODENAME
    Copy to Clipboard Toggle word wrap

    [ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04
    Copy to Clipboard Toggle word wrap

    참고

    nodename 은 보조 클러스터에서 미러링을 구성할 호스트입니다.

  3. site-a 의 이미지에서 저널링 기능을 활성화합니다.

    1. 새 이미지 의 경우 --image-feature 옵션을 사용합니다.

      구문

      rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
      Copy to Clipboard Toggle word wrap

      참고

      exclusive-lock 이 이미 활성화된 경우 저널링 을 유일한 인수로 사용하고, 그렇지 않으면 다음 오류가 반환됩니다.

      one or more requested features are already enabled
      (22) Invalid argument
      Copy to Clipboard Toggle word wrap
    2. 기존 이미지 의 경우 rbd 기능 enable 명령을 사용합니다.

      구문

      rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journaling
      Copy to Clipboard Toggle word wrap

    3. 기본적으로 모든 새 이미지에서 저널링을 활성화하려면 ceph config set 명령을 사용하여 구성 매개변수를 설정합니다.

      [ceph: root@site-a /]# ceph config set global rbd_default_features 125
      [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_features
      Copy to Clipboard Toggle word wrap

  4. 두 스토리지 클러스터 모두에서 미러링 모드(풀 또는 이미지 모드)를 선택합니다.

    1. 풀 모드 활성화 :

      구문

      rbd mirror pool enable POOL_NAME MODE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd mirror pool enable data pool
      [ceph: root@site-b /]# rbd mirror pool enable data pool
      Copy to Clipboard Toggle word wrap

      이 예에서는 data 라는 전체 풀을 미러링할 수 있습니다.

    2. 이미지 모드 활성화 :

      구문

      rbd mirror pool enable POOL_NAME MODE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd mirror pool enable data image
      [ceph: root@site-b /]# rbd mirror pool enable data image
      Copy to Clipboard Toggle word wrap

      이 예에서는 data 라는 풀에서 이미지 모드 미러링을 활성화합니다.

      참고

      풀의 특정 이미지에서 미러링을 활성화하려면 자세한 내용은 Red Hat Ceph Storage 블록 장치 가이드이미지 미러링 활성화 섹션을 참조하십시오.

    3. 두 사이트에서 미러링이 성공적으로 활성화되었는지 확인합니다.

      구문

      rbd mirror pool info POOL_NAME
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd mirror pool info data
      Mode: pool
      Site Name: c13d8065-b33d-4cb5-b35f-127a02768e7f
      
      Peer Sites: none
      
      [ceph: root@site-b /]# rbd mirror pool info data
      Mode: pool
      Site Name: a4c667e2-b635-47ad-b462-6faeeee78df7
      
      Peer Sites: none
      Copy to Clipboard Toggle word wrap

  5. Ceph 클라이언트 노드에서 스토리지 클러스터 피어를 부트스트랩합니다.

    1. Ceph 사용자 계정을 생성하고 스토리지 클러스터 피어를 풀에 등록합니다.

      구문

      rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
      Copy to Clipboard Toggle word wrap

      [ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-a
      Copy to Clipboard Toggle word wrap

      참고

      이 예제 부트스트랩 명령은 client.rbd-mirror.site-aclient.rbd-mirror-peer Ceph 사용자를 생성합니다.

    2. 부트스트랩 토큰 파일을 site-b 스토리지 클러스터에 복사합니다.
    3. site-b 스토리지 클러스터에서 부트스트랩 토큰을 가져옵니다.

      구문

      rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
      Copy to Clipboard Toggle word wrap

      [ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-only data /root/bootstrap_token_site-a
      Copy to Clipboard Toggle word wrap

      참고

      단방향 RBD 미러링의 경우 피어를 부트스트랩할 때 양방향 미러링이 기본값이므로 --direction rx-only 인수를 사용해야 합니다.

검증 단계

  1. 미러링 상태를 확인하려면 기본 및 보조 사이트의 Ceph Monitor 노드에서 다음 명령을 실행합니다.

    구문

    rbd mirror image status POOL_NAME/IMAGE_NAME
    Copy to Clipboard Toggle word wrap

    [ceph: root@mon-site-a /]# rbd mirror image status data/image1
    image1:
      global_id:   c13d8065-b33d-4cb5-b35f-127a02768e7f
      state:       up+stopped
      description: remote image is non-primary
      service:     host03.yuoosv on host03
      last_update: 2021-10-06 09:13:58
    Copy to Clipboard Toggle word wrap

    여기서 uprbd-mirror 데몬이 실행 중임을 의미하며 이 이미지가 다른 스토리지 클러스터의 복제 대상이 아님을 의미합니다. 이 스토리지 클러스터에서 이미지가 기본 설정되었기 때문입니다.

    [ceph: root@mon-site-b /]# rbd mirror image status data/image1
    image1:
      global_id:   c13d8065-b33d-4cb5-b35f-127a02768e7f
    Copy to Clipboard Toggle word wrap

6.2.4. 명령줄 인터페이스를 사용하여 양방향 미러링 구성

양방향 복제를 사용하는 경우 두 스토리지 클러스터 간에만 미러링할 수 있습니다.

이 섹션의 예제에서는 기본 이미지가 site-a 인 기본 스토리지 클러스터를 사용하고 이미지를 site-b 로 복제하는 보조 스토리지 클러스터를 참조하여 두 스토리지 클러스터를 구분합니다. 이 예제에 사용된 풀 이름을 data 라고 합니다.

사전 요구 사항

  • 최소 2개의 실행 중인 Red Hat Ceph Storage 클러스터
  • 각 스토리지 클러스터의 Ceph 클라이언트 노드에 대한 루트 수준 액세스.
  • 관리자 수준 기능이 있는 CephX 사용자

프로세스

  1. 두 사이트의 cephadm 쉘에 로그인합니다.

    [root@site-a ~]# cephadm shell
    [root@site-b ~]# cephadm shell
    Copy to Clipboard Toggle word wrap

  2. 사이트 기본 클러스터에서 다음 명령을 실행합니다.

    [ceph: root@site-a /]# ceph orch apply rbd-mirror --placement=host01
    Copy to Clipboard Toggle word wrap

    참고

    nodename 은 미러링을 구성할 호스트입니다.

  3. site-b 에서 보조 클러스터에서 미러 데몬 배포를 예약합니다.

    구문

    ceph orch apply rbd-mirror --placement=NODENAME
    Copy to Clipboard Toggle word wrap

    [ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04
    Copy to Clipboard Toggle word wrap

    참고

    nodename 은 보조 클러스터에서 미러링을 구성할 호스트입니다.

  4. site-a 의 이미지에서 저널링 기능을 활성화합니다.

    1. 새 이미지 의 경우 --image-feature 옵션을 사용합니다.

      구문

      rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
      Copy to Clipboard Toggle word wrap

      참고

      exclusive-lock 이 이미 활성화된 경우 저널링 을 유일한 인수로 사용하고, 그렇지 않으면 다음 오류가 반환됩니다.

      one or more requested features are already enabled
      (22) Invalid argument
      Copy to Clipboard Toggle word wrap
    2. 기존 이미지 의 경우 rbd 기능 enable 명령을 사용합니다.

      구문

      rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journaling
      Copy to Clipboard Toggle word wrap

    3. 기본적으로 모든 새 이미지에서 저널링을 활성화하려면 ceph config set 명령을 사용하여 구성 매개변수를 설정합니다.

      [ceph: root@site-a /]# ceph config set global rbd_default_features 125
      [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_features
      Copy to Clipboard Toggle word wrap

  5. 두 스토리지 클러스터 모두에서 미러링 모드(풀 또는 이미지 모드)를 선택합니다.

    1. 풀 모드 활성화 :

      구문

      rbd mirror pool enable POOL_NAME MODE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd mirror pool enable data pool
      [ceph: root@site-b /]# rbd mirror pool enable data pool
      Copy to Clipboard Toggle word wrap

      이 예에서는 data 라는 전체 풀을 미러링할 수 있습니다.

    2. 이미지 모드 활성화 :

      구문

      rbd mirror pool enable POOL_NAME MODE
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd mirror pool enable data image
      [ceph: root@site-b /]# rbd mirror pool enable data image
      Copy to Clipboard Toggle word wrap

      이 예에서는 data 라는 풀에서 이미지 모드 미러링을 활성화합니다.

      참고

      풀의 특정 이미지에서 미러링을 활성화하려면 자세한 내용은 Red Hat Ceph Storage 블록 장치 가이드이미지 미러링 활성화 섹션을 참조하십시오.

    3. 두 사이트에서 미러링이 성공적으로 활성화되었는지 확인합니다.

      구문

      rbd mirror pool info POOL_NAME
      Copy to Clipboard Toggle word wrap

      [ceph: root@site-a /]# rbd mirror pool info data
      Mode: pool
      Site Name: c13d8065-b33d-4cb5-b35f-127a02768e7f
      
      Peer Sites: none
      
      [ceph: root@site-b /]# rbd mirror pool info data
      Mode: pool
      Site Name: a4c667e2-b635-47ad-b462-6faeeee78df7
      
      Peer Sites: none
      Copy to Clipboard Toggle word wrap

  6. Ceph 클라이언트 노드에서 스토리지 클러스터 피어를 부트스트랩합니다.

    1. Ceph 사용자 계정을 생성하고 스토리지 클러스터 피어를 풀에 등록합니다.

      구문

      rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
      Copy to Clipboard Toggle word wrap

      [ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-a
      Copy to Clipboard Toggle word wrap

      참고

      이 예제 부트스트랩 명령은 client.rbd-mirror.site-aclient.rbd-mirror-peer Ceph 사용자를 생성합니다.

    2. 부트스트랩 토큰 파일을 site-b 스토리지 클러스터에 복사합니다.
    3. site-b 스토리지 클러스터에서 부트스트랩 토큰을 가져옵니다.

      구문

      rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-tx POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
      Copy to Clipboard Toggle word wrap

      [ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-tx data /root/bootstrap_token_site-a
      Copy to Clipboard Toggle word wrap

      참고

      피어를 부트스트랩할 때 기본값은 양방향 미러링이므로 --direction 인수는 선택 사항입니다.

검증 단계

  1. 미러링 상태를 확인하려면 기본 및 보조 사이트의 Ceph Monitor 노드에서 다음 명령을 실행합니다.

    구문

    rbd mirror image status POOL_NAME/IMAGE_NAME
    Copy to Clipboard Toggle word wrap

    [ceph: root@mon-site-a /]# rbd mirror image status data/image1
    image1:
      global_id:   a4c667e2-b635-47ad-b462-6faeeee78df7
      state:       up+stopped
      description: local image is primary
      service:     host03.glsdbv on host03.ceph.redhat.com
      last_update: 2021-09-16 10:55:58
      peer_sites:
        name: a
        state: up+stopped
        description: replaying, {"bytes_per_second":0.0,"entries_behind_primary":0,"entries_per_second":0.0,"non_primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1},"primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1}}
        last_update: 2021-09-16 10:55:50
    Copy to Clipboard Toggle word wrap

    여기서 uprbd-mirror 데몬이 실행 중임을 의미하며 이 이미지가 다른 스토리지 클러스터의 복제 대상이 아님을 의미합니다. 이 스토리지 클러스터에서 이미지가 기본 설정되었기 때문입니다.

    [ceph: root@mon-site-b /]# rbd mirror image status data/image1
    image1:
      global_id:   a4c667e2-b635-47ad-b462-6faeeee78df7
      state:       up+replaying
      description: replaying, {"bytes_per_second":0.0,"entries_behind_primary":0,"entries_per_second":0.0,"non_primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1},"primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1}}
      service:     host05.dtisty on host05
      last_update: 2021-09-16 10:57:20
      peer_sites:
        name: b
        state: up+stopped
        description: local image is primary
        last_update: 2021-09-16 10:57:28
    Copy to Clipboard Toggle word wrap

    이미지 상태가 up+replaying 인 경우 미러링이 제대로 작동합니다. 여기서 uprbd-mirror 데몬이 실행 중임을 나타내며 재생 은 이 이미지가 다른 스토리지 클러스터의 복제 대상임을 의미합니다.

    참고

    사이트 간 연결에 따라 미러링은 이미지를 동기화하는 데 시간이 오래 걸릴 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat