마이그레이션 만들기

마이그레이션을 만들어 VM 마이그레이션을 시작합니다. 이렇게 하면 마이그레이션 계획 객체가 생성됩니다. 일반적으로 마이그레이션을 실행하기 전에 생성된 계획을 추가로 검토하고 맞춤설정해야 합니다.

마이그레이션은 migctlGoogle Cloud Console을 사용해서 마이그레이션 작업을 수행하고, 마이그레이션 작업 및 상태를 모니터링하는 중앙 객체입니다. 마이그레이션 객체는 Kubernetes 커스텀 리소스 정의(CRD)로 구현되며 마이그레이션 계획의 Kubernetes PersistentVolumeClaim과 같은 추가 리소스와 함께 포함됩니다.

시작하기 전에

Compute Engine

VMware

  • vmId - 소스 플랫폼에서 알려진 대로 마이그레이션할 VM의 ID 또는 이름입니다. 다음 값 중 하나를 사용할 수 있습니다.

    • VM 이름. VMware 배포 전체에서 각 VM 이름이 고유하다고 확신하는 경우 간단히 VM 이름을 사용하면 됩니다. VM 이름이 중복될 수 있는 경우 아래에 설명 된 대로 VM ID를 사용합니다.

      다음 이미지와 같이 vSphere 웹 클라이언트에서 VM 이름을 가져올 수 있습니다.

    • vSphere의 VM ID(MoRef라고도 함). VM을 선택할 때 vSphere 웹 클라이언트의 URL에서 볼 수 있습니다.

      MoRef는 vSphere의 URL에 있습니다.

      PowerCLI를 사용하여 MoRef를 찾을 수도 있습니다.

AWS

Amazon EC2 콘솔의 인스턴스 ID

Azure

  • vmId -- 소스 VM의 Azure VM 리소스 ID입니다. 다음과 같은 방법으로 이 값을 확인할 수 있습니다.

    1. Azure 포털에 액세스하여 로그인합니다.
    2. 왼쪽 탐색 패널에서 가상 머신을 클릭합니다.
    3. 가상 머신 페이지에서 VM의 이름을 클릭합니다.
    4. VM 페이지의 탐색 패널에서 속성을 클릭합니다.
    5. 속성 페이지에서 리소스 ID 값을 찾습니다.

      Azure 포털의 리소스 ID

    6. 리소스 ID 값을 사용합니다.

마이그레이션 만들기

migctl 도구 또는 Google Cloud Console을 사용하여 마이그레이션을 만듭니다.

다음 예시에서는 intent 플래그에 Image 값을 사용합니다. 그러나 워크로드와 원하는 마이그레이션 결과를 기반으로 intent 플래그의 값을 선택합니다. 자세한 내용은 이 주제 뒷부분의 섹션을 참조하세요.

Google Cloud용 migctl

Compute Engine

  1. Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.

  2. 마이그레이션을 만듭니다.

    migctl migration create my-migration --source my-ce-src --vm-id my-id --intent Image

    여기서 --vm-id는 Google Cloud Console에 표시된 Compute Engine 인스턴스의 이름을 지정합니다.

VMware

migctl migration create my-migration --source my-vmware-src --vm-id My_VMware_VM --intent Image

여기서 --vm-id는 VM 인스턴스의 이름을 지정합니다. VM 이름(예: MyVM2) 또는 VM MoRef ID(관리되는 객체 참조 ID)(예: vm-14)를 지정할 수 있습니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.

AWS

migctl migration create my-migration --source my-aws-src --vm-id i-1234567890abcdef0 --intent Image

여기서 --vm-id는 VM 인스턴스의 이름을 지정합니다. VM 인스턴스의 이름이 AWS UI에 표시되고 i-########## 형식입니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.

Azure

migctl migration create my-migration --source my-azure-src --vm-id /subscriptions/a1b5c3d4-c3d9-a1a2-e5f6-a1t2c3d4k5f6/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/my-virtual-machine --intent Image

여기서 --vm-id는 VM 인스턴스의 이름을 지정합니다. VM 인스턴스의 이름이 Azure UI에 표시됩니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.

VMware용 migctl

migctl migration create my-migration --source local-vmware-src --vm-id My_VMware_VM --intent Image

여기서 --vm-id는 VM 인스턴스의 이름을 지정합니다. VM 이름(예: MyVM2) 또는 VM MoRef ID(관리되는 객체 참조 ID)(예: vm-14)를 지정할 수 있습니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.

AWS용 migctl

migctl migration create my-migration --source local-aws-src --vm-id My_AWS_VM --intent Image

여기에서 --vm-id는 AWS 인스턴스의 이름을 지정합니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.

Console

  1. 마이그레이션 소스가 Compute Engine VM이면 Compute Engine VM을 중지합니다. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.

  2. Cloud Console에서 Migrate for Anthos 페이지를 엽니다.

    컨테이너로 마이그레이션 페이지로 이동

  3. 마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.

  4. 마이그레이션 만들기를 클릭합니다.

  5. 마이그레이션 이름을 입력합니다.

  6. 마이그레이션 소스 추가에서 만든 마이그레이션 소스를 선택합니다.

  7. VM OS 유형Linux로 설정합니다.

  8. 소스 VM ID를 입력합니다. VM ID 확인에 대한 자세한 내용은 시작하기 전에를 참조하세요.

  9. 아래에 설명된 대로 마이그레이션 인텐트를 설정합니다.

  10. 마이그레이션 만들기를 클릭합니다.

    마이그레이션이 완료되면 상태 열에 마이그레이션 계획 생성됨이 표시됩니다.

CRD

  1. 마이그레이션을 정의하는 Migration my-migration.yaml 파일을 만듭니다.

    이 파일에서 sourceProvider는 이전에 생성된 SourceProvider의 이름을 지정하고 sourceId은 Compute Engine 인스턴스의 이름을 지정합니다.

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: Migration
    metadata:
     name: my-migration
     namespace: v2k-system
     annotations:
       anthos-migrate.cloud.google.com/initial-intent: Image
    spec:
     osType: Linux
     sourceSnapshot:
      sourceProvider: my-ce-src
      sourceId: my-id
  2. Compute Engine VM을 마이그레이션하는 경우 VM을 중지하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다. 마이그레이션이 완료되면 VM을 다시 시작할 수 있습니다.

  3. 파일을 적용합니다.

    kubectl apply -f my-migration.yaml

마이그레이션 인텐트 설정

마이그레이션을 만들 때 워크로드의 특성에 따라 intent 플래그 값을 지정합니다. 플래그 값에 따라 마이그레이션을 안내하는 마이그레이션 계획의 콘텐츠가 결정됩니다.

인텐트 플래그 값 사용 시기 참고
Image 스테이트리스(Stateless) 워크로드에 사용합니다.
ImageAndData 애플리케이션 및 사용자 모드 시스템이 컨테이너 이미지로 추출되고 데이터가 영구 볼륨으로 추출되는 스테이트풀(Stateful) 워크로드에 사용합니다. 또한 데이터가 별도로 추출되거나 동기화되는 스테이트풀(Stateful) 워크로드의 이미지만 추출하도록 ImageAndData를 사용할 수도 있습니다. ImageAndData를 사용하는 것이 포괄적인 워크플로입니다. 그 결과 처리할 추가 아티팩트가 발생하고 delete 작업의 고려 사항에도 영향을 줍니다.
Data 마이그레이션 계획의 데이터 부분만 영구 볼륨으로 추출되는 스테이트풀(Stateful) 워크로드에 사용합니다. 동일한 소스 VM 및 마이그레이션 계획을 사용하여 이 intent 값을 반복해서 실행하면 이전 데이터 동기화 이후 델타 변경사항이 대상 영구 디스크에 동기화됩니다.

마이그레이션 생성 모니터링

migctl 도구 또는 Google Cloud Console을 사용하여 마이그레이션 생성 진행 상황을 모니터링합니다.

migctl Google Cloud

  1. 마이그레이션이 완료될 때까지 기다립니다.

    migctl migration status my-migration
    
    NAME           CURRENT-OPERATION      PROGRESS   STEP                   STATUS   AGE
    my-migration   GenerateMigrationPlan  [1/3]      CreateSourceSnapshots  Running  13s 
  2. Compute Engine VM을 마이그레이션하는 경우 VM을 다시 시작하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다.

VMware용 migctl

마이그레이션이 완료될 때까지 기다립니다.

migctl migration status my-migration

NAME           CURRENT-OPERATION      PROGRESS STEP                   STATUS   AGE
my-migration   GenerateMigrationPlan  [1/3]    CreateSourceSnapshots  Running  13s

AWS용 migctl

마이그레이션이 완료될 때까지 기다립니다.

migctl migration status my-migration

NAME           CURRENT-OPERATION      PROGRESS STEP                   STATUS   AGE
my-migration   GenerateMigrationPlan  [1/3]    CreateSourceSnapshots  Running  13s

Console

마이그레이션 상태에 마이그레이션이 표시되면 다음 단계로 넘어갈 수 있습니다.

  1. Cloud Console에서 Migrate for Anthos 페이지를 엽니다.

    컨테이너로 마이그레이션 페이지로 이동

  2. 마이그레이션 탭을 클릭하여 사용 가능한 마이그레이션이 포함된 테이블을 표시합니다.

  3. 다음 방법으로 마이그레이션 상태를 확인합니다.

    • 마이그레이션 행의 상태 열을 봅니다.

    • 마이그레이션 이름을 클릭합니다. 마이그레이션 세부정보 페이지가 열립니다. 모니터링 탭을 클릭하여 자세한 상태를 보거나 이벤트 탭을 클릭하여 마이그레이션 이벤트를 봅니다.

  4. 마이그레이션이 완료되면 상태마이그레이션 계획 생성됨이 표시됩니다.

  5. Compute Engine VM을 마이그레이션하는 경우 VM을 다시 시작하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다.

CRD

kubectl을 사용하여 필요한 필드에 JSONPath를 지정하여 마이그레이션 정보 및 상태를 가져옵니다.

  1. 마이그레이션 작업을 가져옵니다.

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system  my-migration -o jsonpath={.status.currentOperation}

    GenerateMigrationPlan를 반환합니다.

  2. 마이그레이션 상태를 가져옵니다.

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration -o jsonpath={.status.status}

    작업이 완료되었다는 상태가 표시되면 다음 단계로 이동할 수 있습니다.

  3. Compute Engine VM을 마이그레이션하는 경우 VM을 다시 시작하세요. 마이그레이션을 만들려면 VM이 중지되어야 합니다.

다음 단계