Persistent Disk 비동기 복제 관리


이 문서에서는 Persistent Disk 비동기 복제(PD 비동기 복제)를 시작하고 중지하는 방법을 설명합니다.

PD 비동기 복제는 저-RPO, 저-RTO 재해 복구에 유용합니다. 비동기 복제에 대한 자세한 내용은 Persistent Disk 비동기 복제 정보를 참조하세요.

제한사항

  • 기본 디스크는 한 번에 하나의 보조 디스크에만 복제될 수 있습니다.
  • 복제가 중지된 다음에는 동일한 디스크로 복제를 재개할 수 없습니다. 새 보조 디스크를 만들고 복제를 다시 시작해야 합니다.
  • 복제를 진행 중일 때는 보조 디스크를 연결 또는 삭제하거나 스냅샷을 만들 수 없습니다.
  • 리전 디스크를 보조 디스크로 사용 중이고 영역 중단이 보조 디스크의 영역 중 하나에서 발생하면 기본 디스크에서 보조 디스크로의 복제가 실패합니다.

시작하기 전에

  • 여러 디스크 간에 복제를 조정하려면 일관성 그룹을 만듭니다.
  • 기본 디스크를 만듭니다.
  • 보조 디스크를 만듭니다.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. Google Cloud 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    Consolegcloud

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.

      REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.

복제 시작

Google Cloud 콘솔, Google Cloud CLI, REST 또는 Terraform을 사용하여 복제를 시작합니다.

  1. Google Cloud 콘솔에서 비동기 복제 페이지로 이동합니다.

    비동기 복제로 이동

  2. 복제를 시작하려는 보조 디스크 이름을 클릭합니다.

  3. 복제 시작을 클릭합니다. 복제 시작 창이 열립니다.

  4. 복제 시작을 클릭합니다.

gcloud compute disks start-async-replication 명령어를 사용하여 복제를 시작합니다.

gcloud compute disks start-async-replication PRIMARY_DISK_NAME \
    --PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \
    --secondary-disk=SECONDARY_DISK_NAME \
    --SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
    --secondary-disk-project=SECONDARY_PROJECT

다음을 바꿉니다.

  • PRIMARY_DISK_NAME: 기본 디스크의 이름입니다.
  • PRIMARY_LOCATION_FLAG: 기본 디스크의 위치 플래그입니다. 리전 디스크의 경우 --region을 사용합니다. 영역 디스크의 경우 --zone을 사용합니다.
  • PRIMARY_LOCATION: 기본 디스크의 리전 또는 영역입니다. 리전 디스크의 경우 리전을 사용합니다. 영역 디스크의 경우 영역을 사용합니다.
  • SECONDARY_DISK_NAME: 보조 디스크의 이름입니다.
  • SECONDARY_LOCATION_FLAG: 보조 디스크의 위치 플래그입니다. 리전 디스크의 경우 --secondary-disk-region을 사용합니다. 영역 디스크의 경우 --secondary-disk-zone을 사용합니다.
  • SECONDARY_LOCATION: 보조 디스크의 리전 또는 영역입니다. 리전 디스크의 경우 리전을 사용합니다. 영역 디스크의 경우 영역을 사용합니다.
  • SECONDARY_PROJECT: 보조 디스크가 포함된 프로젝트입니다.

다음 방법 중 하나를 사용하여 복제를 시작합니다.

  • disks.startAsyncReplication 메서드를 사용하여 영역 디스크의 복제를 시작합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/zones/PRIMARY_LOCATION/disks/PRIMARY_DISK_NAME/startAsyncReplication
    
    {
    "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME"
    }
    
  • regionDisks.startAsyncReplication 메서드를 사용하여 리전 디스크의 복제를 시작합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/regions/PRIMARY_LOCATION/regionDisks/PRIMARY_DISK_NAME/startAsyncReplication
    
    {
    "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME"
    }
    

다음을 바꿉니다.

  • PRIMARY_DISK_PROJECT: 기본 디스크가 포함된 프로젝트입니다.
  • PRIMARY_LOCATION: 기본 디스크의 리전 또는 영역입니다. 리전 디스크의 경우 리전을 사용합니다. 영역 디스크의 경우 영역을 사용합니다.
  • PRIMARY_DISK_NAME: 기본 디스크의 이름입니다.
  • SECONDARY_DISK_PROJECT: 보조 디스크가 포함된 프로젝트입니다.
  • SECONDARY_LOCATION_PARAMETER: 보조 디스크의 위치 매개변수입니다. 리전 디스크의 경우 regions을 사용합니다. 영역 디스크의 경우 zones을 사용합니다.
  • SECONDARY_LOCATION: 보조 디스크의 리전 또는 영역입니다. 리전 디스크의 경우 리전을 사용합니다. 영역 디스크의 경우 영역을 사용합니다.
  • SECONDARY_DISK_NAME: 보조 디스크의 이름입니다.

기본 디스크와 보조 디스크 간에 복제를 시작하려면 compute_disk_async_replication 리소스를 사용합니다.

resource "google_compute_disk_async_replication" "default" {
  primary_disk = google_compute_disk.primary_disk.id
  secondary_disk {
    disk = google_compute_disk.secondary_disk.id
  }
}

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

복제 중지

단일 기본 또는 보조 디스크에 대해 또는 일관성 그룹에 있는 모든 디스크에 대해 복제를 중지할 수 있습니다. 일관성 그룹에 있는 단일 디스크에 대해 복제를 중지할 경우 해당 디스크의 복제 시간이 일관성 그룹에 있는 다른 디스크와 동기화되지 않습니다.

복제 중지는 장애 조치 및 장애 복구 시나리오에서 수행됩니다. 복제를 중지하면 동일한 보조 디스크로 복제를 다시 시작할 수 없습니다. 복제를 다시 시작하려면 새 보조 디스크를 만들고 다시 시작해야 합니다.

디스크에서 복제를 중지하면 디스크의 복제 상태가 STOPPED로 변경됩니다. 디스크의 복제 쌍(해당 기본 또는 보조 디스크)에 있는 다른 디스크의 복제 상태가 나중에 STOPPED로 업데이트됩니다. 시간 차를 방지하고 다른 디스크의 복제 상태를 STOPPED로 즉시 업데이트하려면 다른 디스크에서도 복제를 수동으로 중지해야 합니다. 두 디스크에서 복제를 중지해도 복제가 중지되는 시간에는 영향을 주지 않고 디스크의 복제 상태에만 영향을 줍니다.

단일 디스크의 복제 중지

Google Cloud 콘솔, Google Cloud CLI, REST를 사용하여 단일 디스크의 복제를 중지합니다.

다음을 수행하여 복제를 중지합니다.

  1. Google Cloud 콘솔에서 비동기 복제 페이지로 이동합니다.

    비동기 복제로 이동

  2. 복제를 중지하려는 기본 또는 보조 디스크 이름을 클릭합니다. 디스크 관리 페이지가 열립니다.

  3. 복제 종료를 클릭합니다. 복제 종료 창이 열립니다.

  4. 복제 종료를 클릭합니다.

gcloud compute disks stop-async-replication 명령어를 사용하여 복제를 중지합니다.

gcloud compute disks stop-async-replication DISK_NAME \
    --LOCATION_FLAG=LOCATION

다음을 바꿉니다.

  • DISK_NAME: 디스크의 이름입니다.
  • LOCATION_FLAG: 디스크의 위치 플래그입니다. 리전 디스크의 경우 --region을 사용합니다. 영역 디스크의 경우 --zone을 사용합니다.
  • LOCATION: 디스크의 리전 또는 영역입니다. 리전 디스크의 경우 리전을 사용합니다. 영역 디스크의 경우 영역을 사용합니다.

다음 방법 중 하나를 사용하여 복제를 중지합니다.

  • disks.stopAsyncReplication 메서드를 사용하여 영역 디스크의 복제를 중지합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/stopAsyncReplication
    {
    }
    
  • regionDisks.stopAsyncReplication 메서드를 사용하여 리전 디스크의 복제를 중지합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication
    {
    }
    

다음을 바꿉니다.

  • PROJECT: 디스크가 포함된 프로젝트입니다.
  • DISK_NAME: 디스크의 이름입니다.
  • LOCATION: 디스크의 영역 또는 리전입니다. 영역 디스크의 경우 영역을 사용합니다. 리전 디스크의 경우 리전을 사용합니다.

기본 디스크와 보조 디스크에서 복제를 중지하려면 compute_disk_async_replication 리소스를 삭제합니다.

일관성 그룹의 복제 중지

Google Cloud 콘솔, Google Cloud CLI, REST를 사용하여 일관성 그룹의 모든 디스크에 대해 복제를 중지합니다.

다음을 수행하여 일관성 그룹의 모든 디스크에 대해 복제를 중지합니다.

  1. Google Cloud 콘솔에서 비동기 복제 페이지로 이동합니다.

    비동기 복제로 이동

  2. 일관성 그룹 탭을 클릭합니다.

  3. 복제를 중지하려는 일관성 그룹의 이름을 클릭합니다. 일관성 그룹 관리 페이지가 열립니다.

  4. 복제 종료를 클릭합니다. 복제 종료 창이 열립니다.

  5. 복제 종료를 클릭합니다.

gcloud compute disks stop-group-async-replication 명령어를 사용하여 일관성 그룹의 모든 디스크에 대해 복제를 중지합니다.

gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \
--LOCATION_FLAG=LOCATION

다음을 바꿉니다.

  • CONSISTENCY_GROUP: 일관성 그룹의 URL입니다. 예를 들면 projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME입니다.
  • LOCATION_FLAG: 일관성 그룹의 디스크에 대한 위치 플래그입니다. 리전 디스크의 경우 --region을 사용합니다. 영역 디스크의 경우 --zone을 사용합니다.
  • LOCATION: 디스크의 리전 또는 영역입니다. 리전 디스크의 경우 리전을 사용합니다. 영역 디스크의 경우 영역을 사용합니다.

다음 방법 중 하나를 사용하여 일관성 그룹의 모든 디스크에 대해 복제를 중지합니다.

  • disks.stopGroupAsyncReplication 메서드를 사용하여 영역 디스크의 복제를 중지합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/stopGroupAsyncReplication
    {
    "resourcePolicy": "CONSISTENCY_GROUP"
    }
    
  • regionDisks.stopGroupAsyncReplication 메서드를 사용하여 리전 디스크의 복제를 중지합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication
    {
    "resourcePolicy": "CONSISTENCY_GROUP"
    }
    

다음을 바꿉니다.

  • DISK_NAME: 디스크의 이름입니다.
  • LOCATION: 디스크의 영역 또는 리전입니다. 영역 디스크의 경우 영역을 사용합니다. 리전 디스크의 경우 리전을 사용합니다.
  • CONSISTENCY_GROUP: 일관성 그룹의 URL입니다. 예를 들면 projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME입니다.

다음 단계