검색

4.7. 단방향 미러링을 통한 재해 복구

download PDF

단방향 미러링을 사용하는 경우 재해에서 복구하려면 다음 절차를 사용하십시오. 기본 클러스터가 종료된 후 보조 클러스터로 장애 조치(failover)하는 방법 및 장애 복구 방법을 보여줍니다. 종료는 순서 또는 순서가 아닌 순서일 수 있습니다.

다음 예제에서는 기본 클러스터를 site-a 클러스터라고 하며 보조 클러스터를 site-b 클러스터라고 합니다. 또한 클러스터에는 두 개의 이미지 image1image2 가 있는 데이터 풀이 있습니다.

중요

단방향 미러링은 여러 보조 사이트를 지원합니다. 추가 보조 클러스터를 사용하는 경우 장애 조치할 보조 클러스터 중 하나를 선택합니다. 장애 복구 중에 동일한 클러스터에서 동기화합니다.

사전 요구 사항

  • 실행 중인 클러스터 두 개 이상
  • 풀 미러링 또는 이미지 미러링은 한 가지 방식으로 구성됩니다.

순서 종료 후 장애 조치(failover)

  1. 기본 이미지를 사용하는 모든 클라이언트를 중지합니다. 이 단계는 이미지를 사용하는 고객에 따라 다릅니다. 예를 들어 이미지를 사용하는 모든 OpenStack 인스턴스에서 볼륨을 분리합니다. Red Hat OpenStack Platform 13의 스토리지 가이드블록 스토리지 및 볼륨 장을 참조하십시오.
  2. site-a 클러스터의 모니터 노드에서 다음 명령을 실행하여 site-a 클러스터에 있는 기본 이미지를 시연합니다.

    # rbd mirror image demote data/image1
    # rbd mirror image demote data/image2
  3. site-b 클러스터의 모니터 노드에서 다음 명령을 실행하여 site-b 클러스터에 있는 비기본 이미지를 승격합니다.

    # rbd mirror image promote data/image1
    # rbd mirror image promote data/image2
  4. 잠시 후 site-b 클러스터의 모니터 노드에서 이미지의 상태를 확인합니다. up+stopped 상태를 표시해야 하며 설명은 primary 로 지정해야 합니다.

    # rbd mirror image status data/image1
    image1:
      global_id:   08027096-d267-47f8-b52e-59de1353a034
      state:       up+stopped
      description: local image is primary
      last_update: 2019-04-17 13:18:36
    # rbd mirror image status data/image2
    image2:
      global_id:   596f41bc-874b-4cd4-aefe-4929578cc834
      state:       up+stopped
      description: local image is primary
      last_update: 2019-04-17 13:18:36

Non-Orderlydown 이후 페일오버

  1. 기본 클러스터가 다운되었는지 확인합니다.
  2. 기본 이미지를 사용하는 모든 클라이언트를 중지합니다. 이 단계는 이미지를 사용하는 고객에 따라 다릅니다. 예를 들어 이미지를 사용하는 모든 OpenStack 인스턴스에서 볼륨을 분리합니다. Red Hat OpenStack Platform 10의 스토리지 가이드블록 스토리지 및 볼륨 장을 참조하십시오.
  3. site-b 클러스터의 모니터 노드에서 기본이 아닌 이미지를 승격합니다. demotion을 site-a 클러스터로 전파할 수 없기 때문에 --force 옵션을 사용합니다.

    # rbd mirror image promote --force data/image1
    # rbd mirror image promote --force data/image2
  4. site-b 클러스터의 모니터 노드에서 이미지 상태를 확인합니다. up+stopping_replay 상태가 표시되고 설명은 force promoted 를 지정해야 합니다.

    # rbd mirror image status data/image1
    image1:
      global_id:   08027096-d267-47f8-b52e-59de1353a034
      state:       up+stopping_replay
      description: force promoted
      last_update: 2019-04-17 13:25:06
    # rbd mirror image status data/image2
    image2:
      global_id:   596f41bc-874b-4cd4-aefe-4929578cc834
      state:       up+stopping_replay
      description: force promoted
      last_update: 2019-04-17 13:25:06

failback 준비

이전 기본 클러스터가 복구되면 오류가 발생했습니다.

두 클러스터가 원래 단방향 미러링용으로만 구성된 경우 장애 조치를 위해 이미지를 반대 방향으로 복제하려면 미러링을 위해 기본 클러스터를 구성해야 합니다.

  1. site-a 클러스터의 클라이언트 노드에 rbd-mirror 패키지를 설치합니다. 패키지는 Red Hat Ceph Storage 3 Tools 리포지토리에서 제공합니다.

    Red Hat Enterprise Linux

    # yum install rbd-mirror

    Ubuntu

    $ sudo apt-get install rbd-mirror
  2. site-a 클러스터의 클라이언트 노드에서 CLUSTER 옵션을 적절한 파일에 추가하여 클러스터 이름을 지정합니다. Red Hat Enterprise Linux에서 /etc/sysconfig/ceph 파일을 업데이트하고 Ubuntu에서 /etc/default/ceph 파일을 적절하게 업데이트합니다.

    CLUSTER=site-b
  3. site-b Ceph 구성 파일 및 RBD 키링 파일을 site-b 모니터 및 클라이언트 노드로 복사합니다.

    # scp /etc/ceph/ceph.conf <user>@<site-a_mon-host-name>:/etc/ceph/site-b.conf
    # scp /etc/ceph/site-b.client.site-b.keyring root@<site-a_mon-host-name>:/etc/ceph/
    # scp /etc/ceph/ceph.conf user@<site-a_client-host-name>:/etc/ceph/site-b.conf
    # scp /etc/ceph/site-b.client.site-b.keyring user@<site-a_client-host-name>:/etc/ceph/
    참고

    Ceph 구성 파일을 site-b 모니터 노드에서 site-a.conf로 전송하는 scp 명령은 파일의 이름을 site-a.conf 로 변경합니다. 키링 파일 이름은 동일하게 유지됩니다.

  4. site-a RBD 키링 파일을 site-a monitor 노드에서 site-a 클라이언트 노드로 복사합니다.

    # scp /etc/ceph/site-a.client.site-a.keyring <user>@<site-a_client-host-name>:/etc/ceph/
  5. site-a 클라이언트 노드에서 rbd-mirror 데몬을 활성화하고 시작합니다.

    systemctl enable ceph-rbd-mirror.target
    systemctl enable ceph-rbd-mirror@<client-id>
    systemctl start ceph-rbd-mirror@<client-id>

    & lt;client-id >를 rbd-mirror 데몬이 사용할 Ceph Storage 클러스터 사용자로 변경합니다. 사용자에게 클러스터에 대한 적절한 cephx 액세스 권한이 있어야 합니다. 자세한 내용은 Red Hat Ceph Storage 3 관리 가이드의 사용자 관리 장을 참조하십시오.

    site-a 를 사용한 선행 예제에 따라 명령은 다음과 같습니다.

    # systemctl enable ceph-rbd-mirror.target
    # systemctl enable ceph-rbd-mirror@site-a
    # systemctl start ceph-rbd-mirror@site-a
  6. site-a 클러스터의 클라이언트 노드에서 site-b 클러스터를 피어로 추가합니다.

    # rbd --cluster site-a mirror pool peer add data client.site-b@site-b -n client.site-a

    여러 보조 클러스터를 사용하는 경우 보조 클러스터가 장애 조치(Failover)하도록 선택한 경우에만 장애 조치(failback)가 추가되어야 합니다.

  7. site-a 클러스터의 모니터 노드에서 site-b 클러스터가 피어로 성공적으로 추가되었는지 확인합니다.

    # rbd mirror pool info -p data
    Mode: image
    Peers:
      UUID                                 NAME   CLIENT
      d2ae0594-a43b-4c67-a167-a36c646e8643 site-b client.site-b

failback

이전 기본 클러스터가 복구되면 오류가 발생했습니다.

  1. site-a 클러스터의 모니터 노드에서 이미지가 여전히 기본인지 확인합니다.

    # rbd info data/image1
    # rbd info data/image2

    명령의 출력에서 primary: true 또는 mirroring primary: false 를 찾아 상태를 확인합니다.

  2. site-a 클러스터의 모니터 노드에서 다음과 같이 명령을 실행하여 기본으로 나열된 이미지를 데모합니다.

    # rbd mirror image demote data/image1
  3. 순서가 아닌 종료가 있는 경우에만 이미지를 다시 동기화합니다. 사이트 - 클러스터의 모니터 노드에서 다음 명령을 실행하여 site-b 에서 site-a 로 이미지를 다시 동기화합니다.

    # rbd mirror image resync data/image1
    Flagged image for resync from primary
    # rbd mirror image resync data/image2
    Flagged image for resync from primary
    1. 잠시 후 이미지가 up+replaying 상태인지 확인하여 이미지를 다시 동기화해야 합니다. site-a 클러스터의 모니터 노드에서 다음 명령을 실행하여 상태를 확인합니다.

      # rbd mirror image status data/image1
      # rbd mirror image status data/image2
  4. site-b 클러스터의 모니터 노드에서 다음 명령을 실행하여 site-b 클러스터의 이미지를 시연합니다.

    # rbd mirror image demote data/image1
    # rbd mirror image demote data/image2
    참고

    보조 클러스터가 여러 개인 경우 승격된 보조 클러스터에서만 수행해야 합니다.

  5. site-a 클러스터의 모니터 노드에서 다음 명령을 실행하여 site-a 클러스터에 있는 이전 기본 이미지를 승격합니다.

    # rbd mirror image promote data/image1
    # rbd mirror image promote data/image2
  6. 클러스터의 모니터 노드에서 이미지 상태를 확인합니다. up+stopped 상태를 표시해야 하며 설명은 로컬 이미지가 기본 이미지라고 합니다.

    # rbd mirror image status data/image1
    image1:
      global_id:   08027096-d267-47f8-b52e-59de1353a034
      state:       up+stopped
      description: local image is primary
      last_update: 2019-04-22 11:14:51
    # rbd mirror image status data/image2
    image2:
      global_id:   596f41bc-874b-4cd4-aefe-4929578cc834
      state:       up+stopped
      description: local image is primary
      last_update: 2019-04-22 11:14:51

양방향 미러링 제거

위의 장애 조치 준비 섹션에서 양방향 미러링 기능에서는 site-b 클러스터에서 site-a 클러스터로 동기화할 수 있도록 구성되었습니다. failback이 완료되면 이러한 함수를 사용하지 않도록 설정할 수 있습니다.

  1. site-a 클러스터에서 피어로 site-b 클러스터를 제거합니다.

    $ rbd mirror pool peer remove data client.remote@remote --cluster local
    # rbd --cluster site-a mirror pool peer remove data client.site-b@site-b -n client.site-a
  2. site-a 클라이언트에서 rbd-mirror 데몬을 중지하고 비활성화합니다.

    systemctl stop ceph-rbd-mirror@<client-id>
    systemctl disable ceph-rbd-mirror@<client-id>
    systemctl disable ceph-rbd-mirror.target

    예를 들면 다음과 같습니다.

    # systemctl stop ceph-rbd-mirror@site-a
    # systemctl disable ceph-rbd-mirror@site-a
    # systemctl disable ceph-rbd-mirror.target

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.