비관리 디스크에서 관리 디스크로 Windows 가상 머신 마이그레이션

적용 대상: ✔️ Windows VM

비관리 디스크를 사용하는 기존 Windows VM(가상 머신)이 있는 경우 Azure Managed Disks 서비스를 통해 관리 디스크를 사용하도록 VM을 마이그레이션할 수 있습니다. 이 프로세스는 OS(운영 체제) 디스크와 연결된 데이터 디스크를 변환합니다.

시작하기 전에

  • 마이그레이션은 VM을 다시 시작하므로 기존 유지 관리 기간 동안 VM의 마이그레이션을 예약합니다.

  • 이 마이그레이션은 되돌릴 수 없습니다.

  • 가상 머신 참가자 역할이 있는 사용자는 VM 크기를 변경할 수 없습니다. (사전 마이그레이션이 가능하기 때문입니다.) 이는 관리 디스크가 있는 VM의 경우 사용자에게 OS 디스크에 대한 Microsoft.Compute/disks/write 권한이 있어야 하기 때문입니다.

  • 마이그레이션을 테스트해야 합니다. 프로덕션에서 마이그레이션을 수행하기 전에 테스트 가상 머신을 마이그레이션합니다.

  • 마이그레이션 중 VM의 할당을 취소합니다. VM은 마이그레이션 후 시작될 때 새 IP 주소를 받습니다. 필요한 경우 VM에 고정 IP 주소를 할당할 수 있습니다.

  • 마이그레이션 프로세스를 지원하는 데 필요한 최소 버전의 Azure VM 에이전트를 검토합니다. 에이전트 버전을 확인하고 업데이트하는 방법에 대한 정보는 Azure에서 VM 에이전트에 대한 최소 버전 지원을 참조하세요.

  • 원래 VHD와 마이그레이션 전 VM에서 사용된 스토리지 계정은 삭제되지 않습니다. 이들 작업은 요금이 계속 청구됩니다. 이러한 아티팩트에 대한 요금이 청구되지 않도록 하려면 마이그레이션이 완료되었는지 확인한 후 원래 VHD Blob을 삭제합니다. 연결되지 않은 디스크를 삭제하기 위해 찾아야 하는 경우 연결되지 않은 Azure 관리 및 비관리 디스크 찾기 및 삭제 문서를 참조하세요.

단일 인스턴스 VM 마이그레이션

이 섹션에서는 단일 인스턴스 Azure VM을 비관리 디스크에서 관리 디스크로 마이그레이션하는 방법을 설명합니다. VM이 가용성 집합에 있는 경우 다음 섹션을 참조하세요.

  1. Stop-AzVM cmdlet을 사용하여 VM의 할당을 취소합니다. 다음 예제에서는 리소스 그룹 myResourceGroup에서 myVM이라는 VM의 할당을 취소합니다.

    $rgName = "myResourceGroup"
    $vmName = "myVM"
    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  2. ConvertTo-AzVMManagedDisk cmdlet을 사용하여 VM을 관리 디스크로 마이그레이션합니다. 다음 프로세스는 OS 디스크 및 데이터 디스크를 포함하여 이전 VM을 변환하고 Virtual Machine을 시작합니다.

    ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
    

가용성 집합의 VM 마이그레이션

관리 디스크로 마이그레이션하려는 VM이 가용성 집합에 있는 경우 먼저 가용성 집합을 관리 가용성 집합으로 마이그레이션해야 합니다.

  1. Update-AzAvailabilitySet cmdlet을 사용하여 가용성 집합을 마이그레이션합니다. 다음 예제에서는 리소스 그룹 myResourceGroup의 가용성 집합 myAvailabilitySet을 업데이트합니다.

    $rgName = 'myResourceGroup'
    $avSetName = 'myAvailabilitySet'
    
    $avSet = Get-AzAvailabilitySet -ResourceGroupName $rgName -Name $avSetName
    Update-AzAvailabilitySet -AvailabilitySet $avSet -Sku Aligned 
    

    가용성 집합이 있는 지역에 관리되는 장애 도메인은 2개뿐이고 관리되지 않는 장애 도메인은 3개인 경우 이 명령은 "지정된 장애 도메인 수 3은 1~2 범위에 있어야 합니다."와 유사한 오류를 표시합니다. 오류를 해결하려면 다음과 같이 오류 도메인을 2로 업데이트하고 SkuAligned로 업데이트합니다.

    $avSet.PlatformFaultDomainCount = 2
    Update-AzAvailabilitySet -AvailabilitySet $avSet -Sku Aligned
    
  2. 가용성 집합의 VM을 할당 취소하고 마이그레이션합니다. 다음 스크립트는 Stop-AzVM cmdlet을 사용하여 각 VM의 할당을 취소하고, ConvertTo-AzVMManagedDisk를 사용하여 변환하고, 마이그레이션 프로세스의 일부로 각 VM을 자동으로 다시 시작합니다.

    $avSet = Get-AzAvailabilitySet -ResourceGroupName $rgName -Name $avSetName
    
    foreach($vmInfo in $avSet.VirtualMachinesReferences)
    {
      $vm = Get-AzVM -ResourceGroupName $rgName | Where-Object {$_.Id -eq $vmInfo.id}
      Stop-AzVM -ResourceGroupName $rgName -Name $vm.Name -Force
      ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vm.Name
    }
    

문제 해결

  • 변환하기 전에 모든 VM 확장이 '프로비전 성공' 상태에 있는지 확인합니다. 그렇지 않으면 마이그레이션이 오류 코드 409로 실패합니다.
  • 마이그레이션하는 동안 오류가 발생한 경우 또는 이전 마이그레이션에서의 문제로 인해 VM 상태가 실패인 경우 ConvertTo-AzVMManagedDisk cmdlet을 다시 실행합니다. 다시 시도만으로 상황이 해결되는 경우가 많습니다.
  • Linux VM을 관리 디스크로 변환하는 경우 최신 버전의 Azure Linux 에이전트를 사용하세요. Azure Linux 에이전트 버전 '2.2.0' 이하를 사용하는 작업은 실패할 수 있습니다. 일반화된 VM 또는 클래식 가용성 집합에 속하는 VM에서 마이그레이션을 실행하는 것도 지원되지 않습니다.
  • "SnapshotCountExceeded" 오류와 함께 마이그레이션이 실패하면 일부 스냅샷을 삭제하고 작업을 다시 시도합니다.

Azure Portal을 사용하여 마이그레이션

Azure Portal을 사용하여 비관리 디스크에서 관리 디스크로 마이그레이션할 수도 있습니다.

  1. Azure Portal에 로그인합니다.
  2. 포털의 VM 목록에서 VM을 선택합니다.
  3. VM 블레이드의 메뉴에서 디스크를 선택합니다.
  4. 디스크 블레이드 상단에서 관리 디스크로 마이그레이션을 선택합니다.
  5. VM이 가용성 집합에 있으면 관리 디스크로 마이그레이션 블레이드에 가용성 집합을 먼저 마이그레이션해야 한다는 경고가 표시됩니다. 경고에는 클릭하여 가용성 집합을 마이그레이션할 수 있는 링크가 있습니다. 가용성 집합이 변환되거나 VM이 가용성 집합에 없는 경우에는 마이그레이션을 클릭하여 디스크를 관리 디스크로 마이그레이션하는 프로세스를 시작합니다.

VM이 중지되고 마이그레이션이 완료된 후 다시 시작됩니다.

다음 단계

Azure 관리 디스크의 디스크 유형을 변경합니다.

스냅샷을 사용하여 VM의 읽기 전용 복사본을 만듭니다.