Azure Virtual Machine 복구 명령을 사용하여 Windows VM 복구

적용 대상: ✔️ Windows VM

Azure의 Windows VM(가상 머신)에서 부팅 또는 디스크 오류가 발생하는 경우 디스크를 오프라인으로 복구해야 할 수 있습니다. 일반적인 예는 VM이 성공적으로 부팅되지 못하게 하는 실패한 애플리케이션 업데이트입니다. 이 문서에서는 Azure VM 복구 명령을 사용하여 오프라인 복구를 위해 중단된 OS 디스크를 다른 Windows VM에 자동으로 연결하는 방법을 자세히 설명합니다. 이 절차를 통해 디스크가 Azure Disk Encryption으로 암호화된 경우 실패한 OS 디스크는 복구 VM이라고 하는 두 번째 VM에서 자동으로 잠금 해제됩니다. 실패한 디스크가 복구 VM에 연결되면 오류를 수정한 다음 복구된 디스크를 사용하여 원래 VM을 다시 빌드할 수 있습니다.

Important

  • 이 문서의 스크립트는 Azure Resource Manager를 사용하는 VM에만 적용됩니다.
  • 스크립트를 실행하려면 VM(포트 443)에서 아웃바운드 연결이 필요합니다.
  • 한 번에 하나의 스크립트만 실행할 수 있습니다.
  • 실행 중인 스크립트는 취소할 수 없습니다.
  • 스크립트를 실행할 수 있는 최대 시간은 90분이며, 그 후에는 시간이 초과됩니다.
  • 복구 VM에서 만든 태그를 수정하지 마세요. 복원 명령이 올바르게 작동하려면 태그가 필요합니다.
  • Azure Disk Encryption을 사용하는 VM의 경우 KEK를 사용하거나 사용하지 않고 단일 패스 암호화로 암호화된 관리 디스크만 지원됩니다.

복구 프로세스 개요

이제 Azure VM 복구 명령을 사용하여 VM의 OS 디스크를 변경할 수 있으며, 더 이상 VM을 삭제하고 다시 만들 필요가 없습니다.

복구 프로세스 예제 섹션에서는 다음 프로세스를 안내합니다.

  1. Azure Cloud Shell을 시작합니다.
  2. az extension add 또는 az extension update를 실행합니다.
  3. az vm repair create를 실행합니다.
  4. 완화 단계를 실행 az vm repair run 하거나 수행합니다.
  5. az vm repair restore를 실행합니다.

참고 항목

사용 가능한 모든 VM 복구 명령 및 매개 변수를 보려면 az vm repair를 참조 하세요.

Important

명령을 실행하려면 구독에서 다음 유형의 리소스를 만들 수 있는 역할이 필요합니다.

  • 리소스 그룹
  • Virtual Machines
  • 리소스 태그
  • 가상 네트워크
  • 네트워크 보안 그룹
  • 네트워크 인터페이스
  • 디스크
  • 공용 IP 주소(선택 사항)

복구 프로세스 예

  1. Azure Cloud Shell 시작

    Azure Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 여기에는 계정과 함께 사용하도록 미리 설치되고 구성된 일반적인 Azure 도구가 포함됩니다. 20분보다 오래 걸리는 스크립트를 실행하는 경우(예: win-sfc-sf-corruption 스크립트) 명령을 로컬로 실행하는 것이 좋습니다. 명령을 로컬로 실행하려면 Azure CLI 버전 2.0.67 이상이 필요합니다. az --version을 실행하여 버전을 찾습니다. Azure CLI를 설치하거나 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

    Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 사용해보기를 선택합니다. 를 방문하여 별도의 브라우저 탭에서 Cloud Shell을 열 수도 있습니다 https://shell.azure.com.

    복사를 선택하여 코드 블록을 복사한 다음, Cloud Shell에 해당 코드를 붙여넣고 Enter를 선택하여 실행합니다.

    CLI를 로컬로 설치하고 사용하려는 경우 이 빠른 시작에는 Azure CLI 버전 2.0.67 이상이 필요합니다. az --version을 실행하여 버전을 찾습니다. Azure CLI를 설치하거나 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

    현재 Azure Portal에 로그인한 계정과 다른 계정으로 Cloud Shell에 로그인해야 하는 경우 az login reference를 사용할 az login 수 있습니다. 계정과 연결된 구독 간에 전환하려면 az account set 참조를 사용할 az account set --subscription 수 있습니다.

  2. 명령을 처음 사용한 az vm repair 경우 vm 복구 CLI 확장을 추가합니다.

    az extension add -n vm-repair
    

    이전에 명령을 사용한 az vm repair 경우 vm 복구 확장에 업데이트를 적용합니다.

    az extension update -n vm-repair
    
  3. az vm repair create를 실행합니다. 이 명령은 비기능 VM에 대한 OS 디스크의 복사본을 만들고, 새 리소스 그룹에 복구 VM을 만들고, OS 디스크 복사본을 연결합니다. 복구 VM은 지정된 비기능 VM과 크기 및 지역이 동일합니다. 모든 단계에서 사용되는 리소스 그룹 및 VM 이름은 비기능 VM에 사용됩니다. VM이 Azure Disk Encryption을 사용하는 경우 복구 VM에 연결할 때 액세스할 수 있도록 암호화된 디스크의 잠금을 해제하는 데 사용합니다 --unlock-encrypted-vm . 자세한 내용은 디스크에서 ADE가 사용하도록 설정되어 있는지 확인하세요. 중첩된 Hyper-V 환경에서 --enable-nested VM 문제를 해결해야 하는 경우 OS 디스크 복사본을 사용하여 중첩된 VM과 함께 Hyper-V 역할을 사용하도록 설정하여 복구 VM을 만듭니다.

Important

실행 및 복원 명령을 사용하려면 create 명령에 사용된 것과 동일한 대/소문자를 사용하여 모든 입력을 입력하거나, 복구 VM의 태그를 기록하거나 참조하여 사용된 내용을 확인해야 합니다.

VM 복구 예제

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose

중첩된 Hyper-V 예제를 사용하여 VM 복구

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --verbose
  1. az vm repair run를 실행합니다. 이 명령은 복구 VM을 통해 연결된 디스크에서 지정된 복구 스크립트를 실행합니다. 사용 중인 문제 해결 가이드에서 지정된 run-id를 사용하는 경우 여기에서 사용합니다. 그렇지 않으면 사용 가능한 복구 스크립트를 확인하는 데 사용할 az vm repair list-scripts 수 있습니다. 여기서 사용되는 리소스 그룹 및 VM 이름은 3단계에서 사용되는 비기능 VM에 사용됩니다. 복구 스크립트에 대한 추가 정보는 복구 스크립트 라이브러리에서 찾을 수 있습니다.

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id win-hello-world --verbose
    

    필요에 따라 복구 VM을 사용하여 필요한 수동 완화 단계를 수행한 다음 5단계로 진행할 수 있습니다.

  2. az vm repair restore를 실행합니다. 이 명령은 복구된 OS 디스크를 VM의 원래 OS 디스크와 교환합니다. 여기서 사용되는 리소스 그룹 및 VM 이름은 3단계에서 사용되는 비기능 VM에 사용됩니다.

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

부팅 진단 확인 및 사용

다음 예제에서는 리소스 myResourceGroup그룹에 이름이 지정된 myVMDeployed VM에서 진단 확장을 사용하도록 설정합니다.

Azure CLI

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

다음 단계

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.