리전 디스크의 복제본 상태 및 복제 상태 모니터링


Compute Engine은 두 Google Cloud 영역에 각 리전 디스크의 사본을 유지합니다. 각 사본을 영역 복제본이라고 합니다. 디스크에 데이터를 쓰면 Compute Engine에서 고가용성 (HA)을 보장하기 위해 데이터를 두 복제본에 동기식으로 복제합니다. 언제든지 리전 디스크의 디스크 복제 상태는 디스크가 두 복제본에 동기식으로 쓰는 기능에 대해 알려줍니다. 디스크의 복제 상태는 디스크의 영역 복제본의 복제본 상태에 따라 결정됩니다. 영역의 복제본 상태는 디스크의 최신 데이터와 비교하여 개별 영역 복제본의 상태를 보여줍니다. 영역 복제본에 최신 디스크 데이터가 포함되어 있으면 해당 복제본은 최신 디스크 데이터와 동기화된 것으로 간주됩니다. 두 영역 복제본이 모두 동기화되면리전 Persistent Disk 또는 Hyperdisk 균형 고가용성 디스크가 완전히 복제된 것으로 간주됩니다.

이 문서에서는 일정 기간 동안 리전 디스크의 복제본 상태와 디스크 복제 상태를 모니터링하는 방법을 설명합니다. 이 문서를 사용하여 다음 작업을 할 수 있습니다.

  1. 리전 디스크의 현재 및 이전 복제본 상태를 확인합니다.
  2. 특정 시점의 복제본 상태 정보를 사용하여 디스크가 완전히 복제되었는지 확인합니다.

복제본 상태 및 디스크 복제 상태에 대한 자세한 내용은 동기식 디스크 복제 정보를 참고하세요.

필요한 역할

Cloud Monitoring을 사용하여 복제 상태를 보는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 리전 디스크 측정항목을 보기 위한 역할 (다음 중 하나):

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

Google Cloud 콘솔을 사용하여 모니터링

이 섹션에서는 Google Cloud 콘솔을 사용하여 Hyperdisk 균형 고가용성 또는 리전 Persistent Disk볼륨의 복제본 상태와 디스크 복제 상태를 모니터링하는 방법을 설명합니다.

단일 디스크의 영역 복제본이 동기화되었는지 확인

Google Cloud 콘솔을 사용하여 리전 디스크의 영역 복제본이 최신 디스크 데이터와 동기화되었는지 확인할 수 있습니다.

프로젝트의 모든 리전 디스크의 정확한 영역 복제본 상태에 대한 자세한 정보를 보려면 Cloud Monitoring 대시보드를 사용한 영역 복제본 상태를 확인하세요.

콘솔

리전 디스크의 영역 복제본 상태를 모니터링하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 디스크 페이지로 이동합니다.

    디스크로 이동

  2. 디스크 페이지의 이름 열에서 복제본 상태를 확인하려는 디스크를 선택합니다.

    선택한 디스크의 디스크 관리 페이지가 열리고 해당 디스크의 세부정보 탭이 표시됩니다.

  3. 관측 가능성 탭을 클릭합니다.

    디스크 관리 페이지에 디스크의 모니터링 정보가 표시됩니다.

  4. 디스크의 이전 복제본 상태 정보를 보려면 관측 가능성 탭에서 리전 Persistent Disk 복제 상태 그래프로 이동합니다.

    그래프에는 이전 1시간 동안의 영역 복제본에 대한 복제본 상태 값이 두 개의 개별 그래프 선 형식으로 표시됩니다.

    복제본 상태 값은 다음 중 하나일 수 있습니다.

    • 0: 복제본이 최신 디스크 데이터와 동기화되지 않습니다.
    • 1: 복제본이 최신 디스크 데이터와 동기화됩니다.
  5. 특정 시점에 영역 복제본의 복제본 상태 값을 확인하려면 다음을 수행합니다.

    • 복제본 상태를 확인하려는 시간 값의 그래프에 포인터를 가져갑니다.
    • 영역 복제본의 복제본 상태 값을 보려면 그래프 맨 아래로 이동합니다.
    • 선택사항: 그래프 선으로 표시된 이름 및 복제본 상태 값을 보려면 특정 시간 값의 그래프 선 위에 포인터를 가져갑니다. 그래프는 툴팁 내에서 해당 복제본의 이름과 시간별 상태를 강조 표시합니다.
  6. 선택사항: 복제본 상태 데이터를 확인할 기간을 수정하려면 관측 가능성 탭 상단에서 기간을 선택합니다. 사용할 수 있는 옵션은 다음과 같습니다.

    • 1시간: 이전 1시간. 이 설정이 기본 설정입니다.
    • 6시간: 이전 6시간입니다.
    • 1일: 전날입니다.
    • 1 week: 지난 주입니다.
    • 1 month: 이전 달입니다.
    • 6주: 이전 6주입니다.
    • 커스텀: 원하는 특정 기간입니다. 맞춤 모니터링 기간을 지정하려면 맞춤을 클릭한 후 다음을 수행합니다.

      • 시작일 및 시간 필드에 모니터링 기간의 시작을 지정합니다. 과거의 시간을 지정해야 합니다.
      • 종료일 및 시간 필드에 모니터링 기간의 종료를 지정합니다. 과거의 시간을 지정해야 합니다.
      • 맞춤 모니터링 기간을 저장하려면 적용을 클릭합니다.

디스크가 완전히 복제되었는지 확인

영역 복제본이 최신 디스크 데이터와 동기화되었는지 확인한 후 이 정보를 사용하여 디스크가 완전히 복제되었는지 확인할 수 있습니다.

언제든지 두 영역 복제본의 복제본 상태 값이 1이면 디스크가 완전히 복제된 것입니다. 그렇지 않은 경우 해당 시간에 정확한 복제본 상태를 확인하여 디스크에 성능 저하가 있었는지 복제되고 있었는지 확인합니다. 자세한 내용은 Cloud Monitoring 측정항목을 사용하여 모니터링을 참고하세요.

Cloud Monitoring 측정항목을 사용하여 모니터링

Cloud Monitoring에서 Regional disk replica state 측정항목을 사용하여 모든 리전 디스크의 정확한 영역 복제본 상태에 대한 자세한 정보를 확인할 수 있습니다.

Regional disk replica state 측정항목 정보

Cloud Monitoring 대시보드에서 영역 복제본의 현재 및 이전 디스크 복제본 상태를 볼 수 있습니다. Compute Engine은 1분마다 디스크의 복제본 상태를 캡처하고 Regional disk replica state 측정항목을 사용하여 보고합니다. 하지만 영역 복제본이 연결된 컴퓨팅 인스턴스에 영향을 미치는 영역 서비스 중단이 발생하면 영역 복제본에 대한 Regional disk replica state 측정항목 데이터가 표시되지 않습니다.

다음은 Regional disk replica state 측정항목의 가능한 모든 값입니다. 영역 복제본은 항상 다음 디스크 복제본 상태 중 하나입니다.

  • Synced: 복제본을 사용할 수 있고 디스크에 수행된 모든 쓰기를 동기식으로 수신하며 디스크의 모든 데이터를 최신 상태로 유지합니다.
  • CatchingUp: 복제본을 사용할 수 있지만 여전히 다른 복제본에서 디스크의 데이터를 따라잡고 있습니다.
  • OutOfSync: 복제본을 일시적으로 사용할 수 없고 디스크의 데이터와 동기화되지 않습니다.

측정항목 정의에 대한 자세한 내용은 Compute Engine Monitoring 측정항목 섹션을 참조하세요.

Regional disk replica state 측정항목 데이터를 사용하여 다음을 수행할 수 있습니다.

  • 리전 디스크의 복제 상태를 확인합니다.
  • 리전 디스크의 복제본 상태 기록을 검토하여 장애 조치 아키텍처가 의도한 대로 작동하는지 확인하고 리전 디스크의 상태가 변경될 경우 필요한 조치를 취합니다.
  • Regional disk replica state 측정항목 데이터를 기반으로 알림을 만들고 복제본 상태의 변경사항을 감지하고 필요한 조치를 취합니다. 측정항목 기반 알림을 만드는 방법에 대한 자세한 내용은 알림 정책 추가 방법을 참고하세요.

Regional disk replica state 측정항목 데이터 확인

연결된 리전 디스크의 영역 복제본 상태를 보려면 쿼리를 빌드하고 Regional disk replica state 측정항목의 임시 차트를 만듭니다. 측정항목 탐색기의 경우 메뉴 기반 인터페이스인 모니터링 쿼리 언어 (MQL) 또는 PromQL을 사용하면 됩니다.

  1. Google Cloud 콘솔에서  측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Trace인 결과를 선택합니다.

    측정항목 탐색기 페이지가 열리고 쿼리 탭이 표시됩니다.

  2. 프로젝트의 각 영역 복제본에 대한 복제본 상태 데이터를 보려면 Regional disk replica state 측정항목의 시계열 데이터를 선택한 후 쿼리 창의 툴바에서 다음을 수행하여 집계 필터를 삭제합니다.

    1. 측정항목 메뉴에서 측정항목 선택을 클릭한 다음 디스크 > 디스크 > 리전 디스크 복제본 상태를 선택합니다.

    2. 적용을 클릭합니다.

    3. 집계 메뉴에서 집계되지 않음(기준: 없음)을 선택합니다.

    차트가 표시되고 각 복제본의 이전 1시간의 측정항목 데이터가 시계열로 표시됩니다. 연결된 디스크의 리전 복제본에 대한 측정항목 데이터만 표시됩니다.

    측정항목의 시계열을 선택하는 방법에 관한 자세한 내용은 측정항목 탐색기 사용 시 측정항목 선택을 참고하세요.

  3. 차트와 표 보기를 동시에 보려면 차트 상단에서 둘 다를 클릭합니다.

  4. 사용 가능한 모든 리전 디스크 속성의 데이터를 보려면 표 보기 상단에서 열 표시 옵션...을 클릭하고 모든 열을 선택한 후 확인을 클릭합니다.

    대시보드에는 표의 모든 행에 대한 다음 필드와 현재 값이 표시됩니다.

    • disk_id: 디스크의 ID
    • zone: 리전 디스크가 생성된 리전입니다.
    • replica_zone: 복제본 영역
    • state: 복제본 상태
    • storage_type: 디스크의 스토리지 유형
    • value: 복제본 상태의 값

    차트 뷰에서 해당 시계열에 대한 이 데이터를 보려면 차트에서 현재 시간에 포인터를 가져갑니다. 차트에는 이러한 값이 도움말 내에 표시됩니다.

  5. 특정 시점에 이전 복제본 상태를 확인하려면 다음을 수행하세요.

    1. 원하는 특정 시간 값의 차트 위에 마우스 포인터를 놓습니다. 대시보드에는 특정 시점에 프로젝트의 모든 영역 복제본의 모든 복제본 상태에 대한 측정항목 데이터가 표시됩니다.

      차트 보기에서는 이 정보가 도움말 내에 표시됩니다.

      표 보기에서는 이 정보가 개별 행으로 표시됩니다.

    2. 복제본 상태와 해당 값을 확인합니다. 특정 시점에 특정 상태의 값이 1이면 복제본이 해당 상태에 있는 것입니다.

      차트 뷰에서 원하는 디스크 ID 및 복제본 영역의 도움말 내에 있는 복제본 상태와 값을 확인합니다.

      표 보기에서 원하는 특정 디스크 ID와 복제본 영역의 상태 열을 확인합니다.

    복제본 상태와 해당 값의 의미에 대해 자세히 알아보려면 Regional disk replica state 측정항목 데이터 이해를 참고하세요.

  6. 선택사항: 특정 라벨의 복제본 상태 정보를 보려면 필터 메뉴에서 데이터를 보려는 라벨을 선택한 후 대화상자를 완료합니다. 여러 필터를 추가할 수 있습니다.

    대시보드에는 필터링된 라벨의 측정항목 데이터만 표시됩니다. 필터에 대한 자세한 내용은 차트 데이터 필터링을 참조하세요.

    예를 들어 특정 디스크의 복제본 상태 데이터를 보려면 다음을 수행합니다.

    1. 필터 메뉴에서 이름 라벨을 선택합니다.
    2. 비교 연산자 메뉴에서 =(같음)을 선택합니다.
    3. 메뉴에서 원하는 디스크의 이름을 선택합니다.
  7. 선택사항: 특정 디스크의 복제본이 동기화된 시간의 비율을 확인하려면 특정 디스크 및 상태의 데이터를 필터링한 다음 집계 메뉴를 사용합니다.

    1. 필터 메뉴에서 이름 라벨을 선택합니다.
    2. 비교 연산자 메뉴에서 =(같음)을 선택합니다.
    3. 메뉴에서 디스크 이름을 선택합니다.
    4. 필터 메뉴에서 상태 라벨을 선택합니다.
    5. 비교 연산자 메뉴에서 =(같음)을 선택합니다.
    6. 메뉴에서 동기화됨을 선택합니다.
    7. 집계 메뉴에서 평균(기준: replica_zone)을 선택합니다.
    8. 데이터를 확인할 기간을 선택합니다.

    대시보드에는 지정된 기간 동안 디스크 복제본의 평균 synced 상태에 관한 데이터가 표시됩니다. 이 데이터에 100을 곱하여 복제본이 동기화된 시간의 비율을 확인합니다. 해당 기간의 평균값이 1로 표시되면 복제본이 항상 최신 데이터로 업데이트된 것입니다. 평균 값이 1보다 작으면 지정된 기간 중 특정 시점에 복제본이 동기화되지 않았음을 나타냅니다.

    그룹화 및 정렬에 대한 자세한 내용은 차트 데이터 표시 방법 선택을 참조하세요.

  8. 선택사항: 측정항목 데이터를 모니터링할 기간을 수정하려면 대시보드 상단에서 지난 1시간을 클릭하고 원하는 기간을 선택합니다.

    현재 시간과 관련된 상대 시간대를 선택하거나 원하는 시작 시간과 종료 시간을 지정할 수 있습니다. 기본적으로 이전 1시간 동안의 측정항목 데이터가 표시됩니다.

MQL

  1. Google Cloud 콘솔에서  측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Trace인 결과를 선택합니다.

    측정항목 탐색기 페이지가 열리고 쿼리 탭이 표시됩니다.

  2. 쿼리 창의 툴바에서 이름이 < >로 시작하는 버튼을 클릭합니다.

  3. 언어 필드에서 쿼리 언어로 MQL을 선택합니다. 이 필드는 쿼리 형식을 지정할 수 있는 동일한 툴바에 있습니다.

  4. 선택사항: 자동 실행 전환 버튼을 중지합니다.

  5. 쿼리를 입력한 후 쿼리 실행을 클릭합니다.

    자동 실행 전환 버튼이 사용 설정되면 쿼리 실행 버튼이 표시되지 않습니다.

    예를 들어 disk-1이라는 디스크의 복제본 상태 데이터를 보려면 다음 쿼리를 실행합니다.

    fetch gce_disk
    | metric 'compute.googleapis.com/disk/regional/replica_state'
    | filter (metadata.system_labels.name == 'disk-=1')
    | group_by 1m, [value_replica_state_mean: mean(value.replica_state)]
    | every 1m
    

    또 다른 예시로, disk-1이라는 디스크의 복제본이 동기화된 시간의 비율을 확인하려면 다음 쿼리를 실행합니다.

    fetch gce_disk
    | metric 'compute.googleapis.com/disk/regional/replica_state'
    | filter (metadata.system_labels.name == 'disk-1') && (metric.state == 'Synced')
    | group_by 1m, [value_replica_state_mean: mean(value.replica_state)]
    | every 1m
    | group_by [metric.replica_zone],
        [value_replica_state_mean_mean: mean(value_replica_state_mean)]
    
  6. 측정항목 데이터를 모니터링할 기간을 수정하려면 대시보드 상단에서 지난 1시간을 클릭하고 원하는 기간과 시간대를 선택합니다.

    현재 시간과 관련된 상대 시간대를 선택하거나 원하는 시작 시간과 종료 시간을 지정할 수 있습니다. 기본적으로 이전 1시간 동안의 측정항목 데이터가 표시됩니다.

PromQL

  1. Google Cloud 콘솔에서  측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Trace인 결과를 선택합니다.

    측정항목 탐색기 페이지가 열리고 쿼리 탭이 표시됩니다.

  2. 쿼리 창의 툴바에서 이름이 < >로 시작하는 버튼을 클릭합니다.

  3. 언어 필드에서 쿼리 언어로 PromQL을 선택합니다. 이 필드는 쿼리 형식을 지정할 수 있는 동일한 툴바에 있습니다.

  4. 선택사항: 자동 실행 전환 버튼을 중지합니다.

  5. 쿼리를 입력한 후 쿼리 실행을 클릭합니다.

    자동 실행 전환 버튼이 사용 설정되면 쿼리 실행 버튼이 표시되지 않습니다.

    예를 들어 disk-1이라는 디스크의 복제본 상태 데이터를 보려면 다음 쿼리를 실행합니다.

    avg_over_time(compute_googleapis_com:disk_regional_replica_state{monitored_resource="gce_disk",metadata_system_name="disk-1"}[${__interval}])
    

    또 다른 예시로, disk-1이라는 디스크의 복제본이 동기화된 시간의 비율을 확인하려면 다음 쿼리를 실행합니다.

    avg by (replica_zone)(avg_over_time(compute_googleapis_com:disk_regional_replica_state{monitored_resource="gce_disk",state="Synced",metadata_system_name="disk-1"}[${__interval}]))
    
  6. 측정항목 데이터를 모니터링할 기간을 수정하려면 대시보드 상단에서 지난 1시간을 클릭하고 원하는 기간과 시간대를 선택합니다.

    현재 시간과 관련된 상대 시간대를 선택하거나 원하는 시작 시간과 종료 시간을 지정할 수 있습니다. 기본적으로 이전 1시간 동안의 측정항목 데이터가 표시됩니다.

측정항목 데이터를 사용하여 정확한 영역 복제본 상태 확인

리전 디스크의 Regional disk replica state 측정항목 데이터를 이해하려면 생성된 차트에서 영역 복제본의 상태 열을 확인해야 합니다. 필터를 쿼리에 추가하지 않으면 다음과 같은 결과가 발생합니다.

  • 상태 열에는 영역 복제본에 대해 가능한 모든 디스크 복제본 상태가 표시됩니다(Synced, CatchingUp, OutOfSync 중 하나). 차트에는 이러한 각 상태가 프로젝트에 있는 모든 리전 디스크의 모든 영역 복제본에 대한 시계열 형식으로 표시됩니다.
  • 열은 영역 복제본이 특정 디스크 복제본 상태인지 여부를 나타냅니다. 이 열에는 프로젝트에 있는 모든 지역 디스크의 모든 영역 복제본에 대한 모든 상태 값에 해당하는 바이너리 값 (0 또는 1)이 표시됩니다.

영역 복제본의 경우 열에 특정 디스크 복제본 상태가 1로 표시되면 해당 영역 복제본이 특정 상태인 것입니다. 열에 특정 상태가 0으로 표시되는 경우 해당 복제본이 특정 상태가 아닌 것입니다. 언제든지 영역 복제본의 열에 1이 있는 디스크 복제본 상태 중 하나가 정확하게 포함됩니다. 다른 두 디스크 복제본의 상태는 각각의 열에 0으로 표시됩니다.

모든 영역 복제본의 경우 차트와 테이블에는 각 디스크 복제본 상태에 대한 개별 항목(Synced, CatchingUp, OutOfSync)이 표시됩니다. 각 항목의 열은 복제본이 해당 상태에 있는지 여부를 나타내는 바이너리 값 (0 또는 1)입니다. 언제든지 영역 복제본에는 값이 1인 복제본 상태가 정확히 하나 있습니다.

정확한 디스크 복제 상태 확인

영역 복제본의 복제본 상태를 사용하여 다음과 같은 방법으로 리전 디스크의 복제 상태를 확인할 수 있습니다.

  • 두 영역 복제본 모두 Synced 상태 값이 1이면 디스크가 완전히 복제된 것입니다.
  • 영역 복제본 중 하나의 Synced 상태 값이 1이고 다른 영역 복제본의 CatchingUp 상태 값이 1인 경우 디스크가 따라잡기 중입니다.
  • 영역 복제본 중 하나의 Synced 상태 값이 1이고 다른 영역 복제본의 OutOfSync 상태 값이 1인 경우 디스크는 성능 저하됨입니다.

예를 들어 us-central1-aus-central1-b에 복제본이 있는 my-disk1라는 디스크를 살펴보겠습니다. 다음 시나리오는 my-disk1의 가능한 각 복제 상태에 대해 상태 열의 값을 보여줍니다.

완전히 복제됨

이 시나리오에서는 us-central1-a의 복제본과 us-central1-b의 복제본이 모두 디스크의 최신 데이터로 업데이트됩니다. 차트는 my-disk1의 영역 복제본에 대한 각 디스크 복제본 상태에 대해 다음 값을 표시합니다.

복제본 영역 state value
us-central1-a Synced 1
us-central1-a CatchingUp 0
us-central1-a OutOfSync 0
us-central1-b Synced 1
us-central1-b CatchingUp 0
us-central1-b OutOfSync 0

따라가기

이 시나리오에서 us-central1-a의 복제본은 디스크의 데이터로 업데이트되고 us-central1-b의 복제본은 디스크의 데이터를 따라잡습니다. 차트는 my-disk1의 영역 복제본에 대한 각 디스크 복제본 상태에 대해 다음 값을 표시합니다.

복제본 영역 state value
us-central1-a Synced 1
us-central1-a CatchingUp 0
us-central1-a OutOfSync 0
us-central1-b Synced 0
us-central1-b CatchingUp 1
us-central1-b OutOfSync 0

성능 저하됨

이 시나리오에서 us-central1-a의 복제본은 디스크의 데이터로 업데이트되고 us-central1-b의 복제본은 동기화되지 않습니다. 차트는 my-disk1의 영역 복제본에 대한 각 디스크 복제본 상태에 대해 다음 값을 표시합니다.

복제본 영역 state value
us-central1-a Synced 1
us-central1-a CatchingUp 0
us-central1-a OutOfSync 0
us-central1-b Synced 0
us-central1-b CatchingUp 0
us-central1-b OutOfSync 1

다음 단계