복제 페일오버

페일오버 시 복제 역할이 전환됩니다. 복제본이 읽기/쓰기 소스가 되고 원본 소스는 읽기 전용으로 전환되어, 서비스 중단 시에도 데이터 가용성을 유지합니다.

복제 페일오버 개념

복제 파일 공유를 생성하면, 복제본은 복제 일정에 따라 소스 파일 공유에서 데이터를 가져옵니다. 복제본 파일 공유의 데이터는 읽기 전용으로 설정됩니다. 페일오버는 복제 관계를 전환합니다. 읽기 전용 복제본 파일 공유는 읽기/쓰기 소스 파일 공유가 되고 원래 공유는 읽기 전용이 됩니다. 이제 활성 파일 공유를 마운트하고 이를 일반 파일 공유로 관리할 수 있습니다.

장애 복구를 시작할 때 장애 복구 조작이 실패하거나 제한시간이 초과되는 경우 발생하는 사항을 선택할 수 있습니다. 기본 시간 제한은 5분입니다.

  • 복제 관계를 유지하기로 결정하면 시스템이 소스 공유로 "폴백" 합니다. 작업이 실패하더라도 시스템은 다음 예정된 시간에 데이터 복제를 다시 시도합니다. 이 옵션은 기본 사이트가 루틴 유지보수 에 대해 스케줄된 경우에 사용할 수 있습니다. 유지보수가 완료되고 사이트가 다시 안정적이면 원래 공유로 폴백할 수 있습니다. 복제를 재개할 수 있습니다.

  • 복제 관계를 제거하기로 결정하면 시스템은 두 파일 공유를 분리하고 독립적인 읽기/쓰기 파일 공유가 됩니다. 이 옵션은 가능한 빨리 애플리케이션을 시작하는 것이 더 중요한 경우 재해 복구 상황에서 장애 복구에 사용할 수 있습니다. 따라서 복제본 사이트에서 정상 조작을 계속할 수 있지만 원래 사이트의 미래는 불확실합니다.

소스 또는 복제본 파일 공유에서 다른 작업(예: 파일 공유 크기 확장)이 진행 중인 경우에는 장애 조치 작업이나 복제본 분할이 발생할 수 없습니다. 분할 또는 장애 조치 작업은 다른 작업이 완료될 때까지 계속 보류됩니다.

장애 조치 상태 는 조작이 진행 중이거나 서비스가 다른 조작이 완료되기를 기다리는 동안 failover_pending 를 표시합니다.

루틴 유지보수를 위한 장애 복구

주 사이트에서 정기 유지보수를 수행하거나 사이트에 문제가 발생했을 때는 장애 조치 기능을 사용하십시오. 이 과정은 다음과 같이 진행됩니다.

  • 영역 A의 소스 파일 공유는 모든 읽기 및 쓰기 조작을 거부합니다. 그런 다음 시스템은 공유 데이터의 최종 사본을 구역 B의 복제본 공유로 가져오려고 시도합니다.
  • 데이터가 복제본 파일 공유에 복사되며, 이는 읽기/쓰기가 되고 새 소스 사이트로 간주됩니다. (복제 관계는 반대가 됩니다.)
  • 서비스는 스케줄된 대로 구역 B의 활성 소스에서 구역 A의 원래 공유로 데이터를 복제하려고 시도합니다. 데이터 전송에 실패하면 시스템은 다음 스케줄된 복제 시간에 다시 시도합니다.
  • 유지보수가 완료되고 사이트가 다시 안정되면 원래 공유로 폴백할 수 있습니다. 또는 복제본 공유를 소스 공유로 유지할 수 있습니다.

재해 복구 상황에서 장애 복구

장애 복구는 재해 복구를 위한 옵션이기도 합니다. 원본 사이트를 사용할 수 없는 것으로 확인되고 복제 위치에서 가능한 한 빨리 애플리케이션을 시작해야 하는 경우 복제 관계를 제거하도록 선택합니다. 복제 관계 제거는 장애 조치를 시작할 때 폴백 정책의 옵션입니다. 재해 복구를 위한 장애 복구는 다음과 같은 방식으로 작동합니다.

  • 소스 사이트의 파일 공유는 모든 읽기 및 쓰기 조작을 거부하고 시스템은 공유 데이터의 최종 사본을 복제본 파일 공유로 가져오려고 시도합니다.
  • 데이터 풀 (pull) 제한시간이 초과되어 실패하면 파일 서비스가 복제 관계를 중단합니다. 복제본 파일 공유는 읽기/쓰기가 되고 독립 파일 공유로 작동합니다. 일반 파일 공유로 마운트 및 관리할 수 있습니다.
  • 복제 관계를 다시 설정할 수 없습니다. 그러나 사이트가 다시 작동하게 되는 경우 원래 사이트에서 새 복제본을 설정할 수 있습니다.

재해 복구 페일오버의 특성상, 가장 최근 데이터 세트가 복사되지 않았을 수 있습니다. 이 경우 소스 파일 공유가 다시 사용 가능할 때 애플리케이션의 상태를 수동으로 조정해야 할 수 있습니다. 소스 파일 공유 영역을 다시 사용할 수 있게 되면, 복제본 공유에서 데이터를 가져와 사고 발생 시점부터 복구 시점까지의 데이터를 조정할 수 있습니다.

제한사항

이러한 제한사항은 장애 조치를 수행할 때 적용됩니다.

  • 성공적인 페일오버를 위한 기본 제한시간은 5분입니다. 장애 조치를 시작 할 때 이 값을 수정할 수 있습니다.

  • 소스 파일 공유에 대해 공유 크기 확장 등의 다른 작업이 수행 중인 경우, 장애 조치 상태는 보류 상태로 유지됩니다. 작업이 완료되면 페일오버가 재개됩니다.

콘솔에서 장애 조치 시작하기

  1. 모든 파일 공유의 목록으로 이동하십시오. IBM Cloud 콘솔에서 탐색 메뉴 아이콘 메뉴 아이콘 > 인프라 VPC 아이콘 > 스토리지 > 파일 스토리지 공유를 클릭합니다.

  2. 복제 파일 공유의 이름을 클릭하면 해당 상세 정보 페이지가 열립니다.

  3. 조치 메뉴 조치 아이콘 에서 장애 조치 수행을 선택하십시오. 페일오버가 시작되기 전에, 페일오버 공유 폴더에 최신 콘텐츠가 반영되도록 파일의 최종 동기화가 수행됩니다. 페일오버가 완료되면 복제본 파일 공유가 새로운 소스 파일 공유가 됩니다. 이전 소스 공유는 새로운 읽기 전용 복제본 공유가 됩니다.

  4. 제한시간 값을 설정하려면 제한시간 (선택사항) 아래의 상자를 선택하고 시간 값을 지정하십시오. 이 값은 페일오버가 완료되어야 하는 절대적 시간 제한을 지정합니다. 파일 공유를 오프라인 상태로 유지할 수 있는 시간에 기반하여 제한시간을 설정하십시오.

  5. 페일오버 정책에서 페일오버 작업이 성공하지 못하거나 제한시간이 초과되는 경우 복제 관계를 그대로 두거나 변경하십시오.

    • 복제 관계 유지 - 복제본 파일 공유 또는 소스 파일 공유에 대한 변경 사항이 없습니다.
    • 복제 관계 제거 - 이 작업을 수행하면 두 개의 별도 읽기/쓰기 파일 공유가 생성됩니다. 관계가 파괴되었기 때문에 한 파일 공유에 대한 변경 사항이 다른 파일 공유에 영향을 주지 않습니다.

    일단 관계를 끊으면 다시 회복할 수 없습니다.

  6. 페일오버 수행을 클릭합니다. 장애 복구가 요청되어 수행 중임을 나타내는 메시지가 표시됩니다.

파일 공유 세부 정보 페이지가 업데이트되었으며, 복제 관계에서 복제본 파일 공유가 새로운 소스 파일 공유로 표시됩니다.

CLI에서 장애 조치 시작

CLI를 사용하려면 먼저 IBM Cloud CLI 및 VPC CLI 플러그인을 설치해야 합니다. 자세한 정보는 CLI 전제조건을 참조하십시오.

  1. ibmcloud is shares 명령으로 리젼의 모든 파일 공유를 나열하여 장애 복구할 복제본 파일 공유를 찾으십시오.

    ibmcloud is shares
    
    Listing shares in all resource groups and region us-south under account Test Account as user test.user@ibm.com...
    ID                                          Name                    Lifecycle state   Zone         Profile   Size(GB)   Resource group   Replication role   Accessor binding role   Snapshot count   Snapshot size
    r006-a8d6af48-0c97-4c6b-bab1-fbefdc1e1e03   my-file-share           stable            us-south-2   dp2       10         defaults         none               none                    0                0
    r006-aaf4bfe9-358c-4faa-a4ec-0b955090b940   my-file-share-2         stable            us-south-2   dp2       10         defaults         none               none                    0                0
    r006-a60bfa90-a893-40ad-be34-28ab51a963f9   replica-dal-2           stable            us-south-2   dp2       10         defaults         replica            none                    0                0
    r006-3f21e3c3-e12d-425f-ab77-810cabfde8df   source-dal-1            stable            us-south-1   dp2       10         defaults         source             none                    0                0
    r006-455b601c-8fc1-4476-8771-4708c49c8ef7   my-replica-share-dal-1  stable            us-south-1   dp2       10         defaults         replica            none                    0                0
    r006-4dadac27-cd17-42df-a5fe-1388705d33e0   my-source-share-dal-2   stable            us-south-2   dp2       10         defaults         source             none                    0                0
    
    
  2. ibmcloud is share-replica-failover 명령을 실행하고 fallback-policy 특성을 지정합니다. 이 특성에 fail 또는 split을(를) 지정할 수 있습니다.

    • 다음 예제는 fallback-policy 특성에 대해 fail 를 지정합니다. 페일오버 작업이 실패하거나 시간 초과가 발생하면, 페일오버 작업은 성공하지 못합니다. 소스 공유는 활성 상태로 유지되고 복제는 스케줄대로 재개됩니다.
    ibmcloud is share-replica-failover r006-a60bfa90-a893-40ad-be34-28ab51a963f9 --fallback-policy fail
    
    The file share r006-a60bfa90-a893-40ad-be34-28ab51a963f9 failover request was accepted under account Test Account as user test.user@ibm.com...
    The file share failover request was accepted.
    
    • 다음 예제는 fallback-policy 특성에 대해 split 를 지정합니다. 장애 조치 조작이 실패하면 복제본 공유가 소스 파일 공유에서 분할됩니다. 장애 복구에 실패하면 결과는 두 개의 독립적인 읽기/쓰기 파일 공유입니다.
    ibmcloud is share-replica-failover my-source-share-dal-2 --fallback-policy split
    
    The file share r006-4dadac27-cd17-42df-a5fe-1388705d33e0 failover request was accepted under account Test Account as user test.user@ibm.com...
    The file share failover request was accepted.
    

명령 옵션에 대한 자세한 정보는 ibmcloud is share-replica-failover 의 내용을 참조하십시오.

API를 사용하여 장애 복구 시작

POST /shares/{share_id}/failover 요청을 수행하고 timeoutfallback_policy 특성을 지정합니다. 최소 제한시간은 300초이고 최대 3600초입니다. 이 요청은 복제본 파일 공유 ID로 지정된 복제본 공유에 대한 소스 파일 공유의 장애 복구를 시작합니다.

fallback_policy 특성의 값은 split 또는 fail 입니다. fail 가 지정된 경우, 장애 조치 작업이 실패하거나 시간 초과가 발생하면 장애 조치 작업은 성공하지 못합니다. 복제 관계는 변경되지 않습니다.

fallback_policy 특성에 split을(를) 지정하면, 페일오버 작업이 실패할 때마다 복제본 공유가 소스 공유에서 분할됩니다. 그 결과, 두 개의 독립적인 읽기/쓰기 파일 공유가 생성됩니다. 이 경우, 최종 파일 동기화가 완료되지 않았기 때문에 복제 공유에는 원본 파일 공유의 모든 데이터가 포함되어 있지 않을 수 있습니다. 소스 파일 공유에 도달할 수 없는 것으로 알려진 경우 재해 복구를 위해 이 옵션을 사용하십시오.

fallback_policy 특성이 요청에 지정되지 않은 경우 장애 복구 조작이 실패하면 시스템은 기본적으로 split 로 설정됩니다.

이 예제는 fallback_policy 특성에 대해 fail 를 지정합니다. timeout 특성은 선택사항입니다. 기본 타임아웃을 사용할 수 있습니다.

curl -X POST \
"$vpc_api_endpoint/v1/shares/$replica_id?/failover?version=2023-08-08"\
-H "Authorization: Bearer $iam_token"\
-d '{
     "fallback_policy": "fail",
      "timeout": 600
    }'

성공적인 응답은 파일 공유 페일오버 요청이 수락되었음을 의미합니다.

API를 사용하여 복제 장애 조치의 상태가 성공, 대기 중 또는 실패인지 확인할 수 있습니다. GET /shares/{replica_id} 호출을 수행하십시오. latest_job 특성을 확인하십시오. 자세한 내용은 API로 복제 확인을 참조하십시오.

Terraform을 사용하여 장애 복구 시작

장애 조치가 수행되면 복제본 공유가 소스가 되고 소스 공유가 복제본이 됩니다. 이 변경사항과 일치하도록 테라폼 구성을 수정해야 합니다. fallback_policy 는 페일오버 요청이 수락되었으나 실행할 수 없거나 시간 초과가 발생한 경우 취해야 할 조치를 정의합니다. 허용되는 값은 split 또는 fail 입니다. split 를 지정하고 장애 조치가 실패하면 시스템은 복제 관계를 중단하고 두 파일 공유는 서로 독립적입니다.

resource "ibm_is_share_replica_operations" "test" {
  share_replica = ibm_is_share.replica.id
  fallback_policy = "split"
  timeout = 500
}

인수 및 속성에 대한 자세한 정보는 ibm_is_share_replica_operations를 참조하십시오.

다음 단계

복제를 관리합니다.