수동으로 VM 라이브 마이그레이션


단독 테넌트 VM을 다른 노드 또는 노드 그룹으로 이동하려면 라이브 마이그레이션을 수동으로 시작할 수 있습니다. 또한 라이브 마이그레이션을 수동으로 시작하여 멀티 테넌트 VM을 단독 테넌시로 이동할 수도 있습니다. 단독 테넌시 외부로 VM을 이동하는 방법은 단독 테넌시 외부로 VM 이동을 참조하세요.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

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

    gcloud

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

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

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

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

        gcloud init

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

API 비율 제한

수동 라이브 마이그레이션 요청은 쿼리 API 비율 제한에서 분류됩니다.

VM을 단독 테넌시로 또는 단독 테넌시 내에서 수동으로 라이브 마이그레이션

VM을 단독 테넌시로 또는 단독 테넌시 내에서 수동으로 라이브 마이그레이션하려면 gcloud CLI 또는 REST를 사용하세요.

VM의 대상이 노드 그룹인 경우 Compute Engine은 VM을 위한 충분한 공간과 최소의 예비 용량이 있는 그룹 내 노드를 선택합니다.

공유된 단독 테넌트 노드 그룹을 사용하는 동안에는 프로젝트 간에 라이브 마이그레이션을 수행할 수 없습니다.

이 태스크에 필요한 권한

이 태스크를 수행하려면 다음과 같은 권한이 있어야 합니다.

  • VM에 대한 compute.instances.update 권한

gcloud

VM을 단독 테넌시로 또는 단독 테넌시 내에서 수동으로 라이브 마이그레이션하려면 다음 gcloud compute instances update 명령어를 사용하세요.

gcloud compute instances update VM_NAME \
    ( --node=NODE \
      --node-group=NODE_GROUP \
      --node-affinity-file=NODE_AFFINITY_FILE )

다음을 바꿉니다.

  • VM_NAME: 노드 어피니티 레이블을 업데이트할 VM의 이름입니다.

다음 중 정확히 하나를 바꿉니다.

  • NODE: VM을 라이브 마이그레이션할 노드의 이름입니다.

  • NODE_GROUP: VM을 라이브 마이그레이션할 노드 그룹의 이름입니다.

  • NODE_AFFINITY_FILE: 이 VM을 예약할 수 있는 노드 구성이 포함된 JSON 파일의 이름입니다. 자세한 내용은 노드 어피니티 라벨 구성을 참조하세요.

REST

VM을 단독 테넌시로 또는 단독 테넌시 내에서 수동으로 라이브 마이그레이션하려면 다음 instances.update 메서드를 사용하세요.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

{
  ...
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "NODE_AFFINITY_LABEL_KEY",
        "operator": "IN",
        "values": [
          "[NODE_AFFINITY_LABEL_VALUE]"
        ]
      }
    ]
  }
  ...
}

다음을 바꿉니다.

  • PROJECT_ID: 노드 어피니티 레이블을 업데이트할 VM이 있는 프로젝트의 ID입니다.

  • ZONE: 노드 어피니티 레이블을 업데이트할 VM의 영역입니다.

  • VM_NAME: 노드 어피니티 레이블을 업데이트할 VM의 이름입니다.

  • NODE_AFFINITY_LABEL_KEY: VM을 노드 그룹 또는 노드로 라이브 마이그레이션할지 여부를 지정하는 다음 문자열 중 하나입니다.

    VM 대상 지정할 키
    노드 그룹 compute.googleapis.com/node-group-name
    노드 compute.googleapis.com/node-name
  • NODE_AFFINITY_LABEL_VALUE: VM을 라이브 마이그레이션할 노드 그룹 또는 노드의 이름입니다.

다음 단계