복제 페일오버
페일오버 시 복제 역할이 전환됩니다. 복제본이 읽기/쓰기 소스가 되고 원본 소스는 읽기 전용으로 전환되어, 서비스 중단 시에도 데이터 가용성을 유지합니다.
복제 페일오버 개념
복제 파일 공유를 생성하면, 복제본은 복제 일정에 따라 소스 파일 공유에서 데이터를 가져옵니다. 복제본 파일 공유의 데이터는 읽기 전용으로 설정됩니다. 페일오버는 복제 관계를 전환합니다. 읽기 전용 복제본 파일 공유는 읽기/쓰기 소스 파일 공유가 되고 원래 공유는 읽기 전용이 됩니다. 이제 활성 파일 공유를 마운트하고 이를 일반 파일 공유로 관리할 수 있습니다.
장애 복구를 시작할 때 장애 복구 조작이 실패하거나 제한시간이 초과되는 경우 발생하는 사항을 선택할 수 있습니다. 기본 시간 제한은 5분입니다.
-
복제 관계를 유지하기로 결정하면 시스템이 소스 공유로 "폴백" 합니다. 작업이 실패하더라도 시스템은 다음 예정된 시간에 데이터 복제를 다시 시도합니다. 이 옵션은 기본 사이트가 루틴 유지보수 에 대해 스케줄된 경우에 사용할 수 있습니다. 유지보수가 완료되고 사이트가 다시 안정적이면 원래 공유로 폴백할 수 있습니다. 복제를 재개할 수 있습니다.
-
복제 관계를 제거하기로 결정하면 시스템은 두 파일 공유를 분리하고 독립적인 읽기/쓰기 파일 공유가 됩니다. 이 옵션은 가능한 빨리 애플리케이션을 시작하는 것이 더 중요한 경우 재해 복구 상황에서 장애 복구에 사용할 수 있습니다. 따라서 복제본 사이트에서 정상 조작을 계속할 수 있지만 원래 사이트의 미래는 불확실합니다.
소스 또는 복제본 파일 공유에서 다른 작업(예: 파일 공유 크기 확장)이 진행 중인 경우에는 장애 조치 작업이나 복제본 분할이 발생할 수 없습니다. 분할 또는 장애 조치 작업은 다른 작업이 완료될 때까지 계속 보류됩니다.
장애 조치 상태 는 조작이 진행 중이거나 서비스가 다른 조작이 완료되기를 기다리는 동안 failover_pending 를 표시합니다.
루틴 유지보수를 위한 장애 복구
주 사이트에서 정기 유지보수를 수행하거나 사이트에 문제가 발생했을 때는 장애 조치 기능을 사용하십시오. 이 과정은 다음과 같이 진행됩니다.
- 영역 A의 소스 파일 공유는 모든 읽기 및 쓰기 조작을 거부합니다. 그런 다음 시스템은 공유 데이터의 최종 사본을 구역 B의 복제본 공유로 가져오려고 시도합니다.
- 데이터가 복제본 파일 공유에 복사되며, 이는 읽기/쓰기가 되고 새 소스 사이트로 간주됩니다. (복제 관계는 반대가 됩니다.)
- 서비스는 스케줄된 대로 구역 B의 활성 소스에서 구역 A의 원래 공유로 데이터를 복제하려고 시도합니다. 데이터 전송에 실패하면 시스템은 다음 스케줄된 복제 시간에 다시 시도합니다.
- 유지보수가 완료되고 사이트가 다시 안정되면 원래 공유로 폴백할 수 있습니다. 또는 복제본 공유를 소스 공유로 유지할 수 있습니다.
재해 복구 상황에서 장애 복구
장애 복구는 재해 복구를 위한 옵션이기도 합니다. 원본 사이트를 사용할 수 없는 것으로 확인되고 복제 위치에서 가능한 한 빨리 애플리케이션을 시작해야 하는 경우 복제 관계를 제거하도록 선택합니다. 복제 관계 제거는 장애 조치를 시작할 때 폴백 정책의 옵션입니다. 재해 복구를 위한 장애 복구는 다음과 같은 방식으로 작동합니다.
- 소스 사이트의 파일 공유는 모든 읽기 및 쓰기 조작을 거부하고 시스템은 공유 데이터의 최종 사본을 복제본 파일 공유로 가져오려고 시도합니다.
- 데이터 풀 (pull) 제한시간이 초과되어 실패하면 파일 서비스가 복제 관계를 중단합니다. 복제본 파일 공유는 읽기/쓰기가 되고 독립 파일 공유로 작동합니다. 일반 파일 공유로 마운트 및 관리할 수 있습니다.
- 복제 관계를 다시 설정할 수 없습니다. 그러나 사이트가 다시 작동하게 되는 경우 원래 사이트에서 새 복제본을 설정할 수 있습니다.
재해 복구 페일오버의 특성상, 가장 최근 데이터 세트가 복사되지 않았을 수 있습니다. 이 경우 소스 파일 공유가 다시 사용 가능할 때 애플리케이션의 상태를 수동으로 조정해야 할 수 있습니다. 소스 파일 공유 영역을 다시 사용할 수 있게 되면, 복제본 공유에서 데이터를 가져와 사고 발생 시점부터 복구 시점까지의 데이터를 조정할 수 있습니다.
제한사항
이러한 제한사항은 장애 조치를 수행할 때 적용됩니다.
-
성공적인 페일오버를 위한 기본 제한시간은 5분입니다. 장애 조치를 시작 할 때 이 값을 수정할 수 있습니다.
-
소스 파일 공유에 대해 공유 크기 확장 등의 다른 작업이 수행 중인 경우, 장애 조치 상태는 보류 상태로 유지됩니다. 작업이 완료되면 페일오버가 재개됩니다.
콘솔에서 장애 조치 시작하기
-
모든 파일 공유의 목록으로 이동하십시오. IBM Cloud 콘솔에서 탐색 메뉴 아이콘
아이콘 > 인프라
> 스토리지 > 파일 스토리지 공유를 클릭합니다.
-
복제 파일 공유의 이름을 클릭하면 해당 상세 정보 페이지가 열립니다.
-
조치 메뉴
에서 장애 조치 수행을 선택하십시오. 페일오버가 시작되기 전에, 페일오버 공유 폴더에 최신 콘텐츠가 반영되도록 파일의 최종 동기화가 수행됩니다. 페일오버가 완료되면 복제본 파일 공유가 새로운 소스 파일 공유가 됩니다. 이전 소스 공유는 새로운 읽기 전용 복제본 공유가 됩니다.
-
제한시간 값을 설정하려면 제한시간 (선택사항) 아래의 상자를 선택하고 시간 값을 지정하십시오. 이 값은 페일오버가 완료되어야 하는 절대적 시간 제한을 지정합니다. 파일 공유를 오프라인 상태로 유지할 수 있는 시간에 기반하여 제한시간을 설정하십시오.
-
페일오버 정책에서 페일오버 작업이 성공하지 못하거나 제한시간이 초과되는 경우 복제 관계를 그대로 두거나 변경하십시오.
- 복제 관계 유지 - 복제본 파일 공유 또는 소스 파일 공유에 대한 변경 사항이 없습니다.
- 복제 관계 제거 - 이 작업을 수행하면 두 개의 별도 읽기/쓰기 파일 공유가 생성됩니다. 관계가 파괴되었기 때문에 한 파일 공유에 대한 변경 사항이 다른 파일 공유에 영향을 주지 않습니다.
일단 관계를 끊으면 다시 회복할 수 없습니다.
-
페일오버 수행을 클릭합니다. 장애 복구가 요청되어 수행 중임을 나타내는 메시지가 표시됩니다.
파일 공유 세부 정보 페이지가 업데이트되었으며, 복제 관계에서 복제본 파일 공유가 새로운 소스 파일 공유로 표시됩니다.
CLI에서 장애 조치 시작
CLI를 사용하려면 먼저 IBM Cloud CLI 및 VPC CLI 플러그인을 설치해야 합니다. 자세한 정보는 CLI 전제조건을 참조하십시오.
-
ibmcloud is shares명령으로 리젼의 모든 파일 공유를 나열하여 장애 복구할 복제본 파일 공유를 찾으십시오.ibmcloud is sharesListing 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 -
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 failThe 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 splitThe 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 요청을 수행하고 timeout 및 fallback_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를 참조하십시오.