Azure Stack Edge Pro GPU에서 VM 배포 문제 해결
적용 대상: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
이 문서에서는 Azure Stack Edge Pro GPU 디바이스에 가상 머신을 배포할 때 발생하는 일반적인 오류를 해결하는 방법을 설명합니다. 이 문서에서는 네트워크 인터페이스 및 VM을 만드는 동안 VM 프로비저닝 시간 제한과 문제를 일으키는 가장 일반적인 문제를 조사하기 위한 지침을 제공합니다.
VM 프로비저닝 실패를 진단하려면 실패한 가상 머신에 대한 게스트 로그를 검토합니다. VM 게스트 로그를 수집하고 지원 패키지에 포함하는 단계는 Azure Stack Edge Pro에서 VM에 대한 게스트 로그 수집을 참조하세요.
VM 배포 전에 VM 이미지를 성공적으로 업로드하지 못하는 문제에 대한 지침은 Azure Stack Edge Pro GPU에서 가상 머신 이미지 업로드 문제 해결을 참조하세요.
VM 프로비저닝 시간 제한
이 섹션에서는 VM 프로비저닝 시간 제한의 가장 일반적인 원인에 대한 문제 해결을 제공합니다.
VM 프로비저닝 시간이 초과되면 다음과 같은 오류가 표시됩니다.
VM 프로비저닝 시간 제한의 가장 높은 원인은 다음과 같습니다.
- VM에 할당한 IP 주소가 이미 사용 중입니다. 자세한 정보
- VM을 배포하는 데 사용한 VM 이미지가 제대로 준비되지 않았습니다. 자세한 정보
- 게스트 VM에서 기본 게이트웨이 및 DNS 서버에 연결할 수 없습니다. 자세한 정보
cloud init
를 설치하는 동안cloud init
가 실행되지 않았거나 실행 중에 문제가 발생했습니다. (Linux VM에만 해당) 자세히 알아보기- 사용자 지정 VM 이미지를 사용하여 배포된 Linux VM의 경우 /etc/waagent.conf 파일의 프로비전 플래그가 올바르지 않습니다. (Linux VM에만 해당) 자세히 알아보기
- SRIOV 사용 가상 스위치에 연결된 기본 네트워크 인터페이스 자세히 알아보기
VM에 할당된 IP가 이미 사용 중임
오류 설명: VM에 이미 사용 중인 고정 IP 주소가 할당되었으며 VM을 프로비저닝하지 못했습니다. 이 오류는 VM이 배포된 서브넷에서 IP 주소를 사용하는 경우에 발생합니다. Azure Portal을 통해 VM을 배포하는 경우 프로세스는 디바이스 내의 기존 IP 주소를 확인하지만 서브넷에 있을 수 있는 다른 서비스 또는 가상 머신의 IP 주소를 확인할 수 없습니다.
제안된 솔루션: 사용되지 않는 고정 IP 주소를 사용하거나 DHCP 서버에서 제공하는 동적 IP 주소를 사용합니다.
중복 IP 주소를 확인하려면 다음을 수행합니다.
동일한 네트워크의 모든 어플라이언스에서 다음
ping
및 Test-NetConnection(tnc
) 명령을 실행합니다.ping <IP address> tnc <IP address> tnc <IP address> -CommonTCPPort “RDP”
응답이 수신되면 새 VM에 할당한 IP 주소는 이미 사용 중입니다.
VM 이미지가 제대로 준비되지 않음
오류 설명: Azure Stack Edge Pro GPU 디바이스에서 사용할 VM 이미지를 준비하려면 특정 워크플로를 따라야 합니다. Azure에서 gen1 가상 머신을 만들고, VM을 사용자 지정하고, VHD를 일반화한 다음, 해당 가상 머신에 대한 OS VHD를 다운로드해야 합니다. 준비 이미지는 “vhd” 파일 이름 확장명 및 고정 형식이 포함된 gen1 VHD여야 합니다.
요구 사항에 대한 개요는 Azure Stack Edge Pro GPU 디바이스에 대한 사용자 지정 VM 이미지 만들기를 참조하세요. VM 이미지 문제를 해결하는 방법에 대한 지침은 Azure Stack Edge Pro GPU에서 가상 머신 이미지 업로드 문제 해결을 참조하세요.
제안된 해결 방법: VM 이미지 준비를 위한 워크플로를 완료합니다. 지침은 다음 문서 중 하나를 참조하세요.
- Windows 및 Linux VM에 대한 사용자 지정 VM 이미지 워크플로
- Windows VHD에서 범용 이미지 준비
- ISO를 사용하여 일반화된 이미지 준비
- 특수 이미지를 사용하여 VM 배포
게스트 VM에서 게이트웨이, DNS 서버에 연결할 수 없음
오류 설명: VM 배포 중에 기본 게이트웨이 및 DNS 서버에 연결할 수 없는 경우 VM 프로비전 시간이 초과되고 VM 배포가 실패합니다.
제안된 해결 방법: VM에서 기본 게이트웨이 및 DNS 서버에 연결할 수 있는지 확인합니다. 그런 다음, VM 배포를 반복합니다.
VM에서 기본 게이트웨이 및 DNS 서버에 연결할 수 있는지 확인하려면 다음 단계를 수행합니다.
다음 명령을 실행합니다.
ping <default gateway IP address> ping <DNS server IP address>
기본 게이트웨이 및 DNS 서버에 대한 IP 주소를 확인하려면 디바이스에 대한 로컬 UI로 이동합니다. 원하는 포트를 선택하고 네트워크 설정을 확인합니다.
cloud init
문제(Linux VM)
오류 설명: cloud init
실행되지 않았거나 실행 중 cloud init
문제가 발생했습니다. cloud-init
는 VM이 처음 부팅될 때 Linux VM을 사용자 지정하는 데 사용됩니다. 자세한 내용은 Azure의 가상 머신에 대한 cloud-init 지원을 참조하세요.
제안된 해결 방법: cloud init
가 실행될 때 발생한 문제를 찾으려면 다음을 수행합니다.
다음 로그 파일에서
cloud init
오류를 확인합니다.- /var/log/cloud-init-output.log
- /var/log/cloud-init.log
- /var/log/waagent/log
cloud init
가 성공적으로 실행되지 않는 가장 일반적인 문제를 확인하려면 다음 단계를 수행합니다.
VM 이미지가
cloud init
기반인지 확인합니다. 다음 명령을 실행합니다.cloud-init --version
명령은 cloud init 버전 번호를 반환해야 합니다. 이미지가 기반이 아닌
cloud init
경우 명령은 버전 정보를 반환하지 않습니다.cloud init
옵션에 대한 도움말을 보려면 다음 명령을 실행합니다.cloud-init --help
Azure로 설정된 데이터 원본을 사용하여
cloud init
인스턴스를 성공적으로 실행할 수 있는지 확인합니다.데이터 원본을 Azure로 설정하면 cloud init 로그의 항목이 다음과 같이 표시됩니다.
데이터 원본이 Azure로 설정되지 않은 경우 스크립트를 수정
cloud init
해야 할 수 있습니다. 자세한 내용은 cloud-init에 대해 자세히 알아보기를 참조하세요.
프로비저닝 플래그가 잘못 설정됨(Linux VM)
오류 설명: Azure에서 Linux VM을 성공적으로 배포하려면 이미지에서 프로비저닝을 사용하지 않도록 설정하고 cloud init
를 사용한 프로비저닝을 사용하도록 설정해야 합니다. 이러한 값을 설정한 프로비저닝 플래그는 표준 VM 이미지에 대해 올바르게 구성됩니다. 사용자 지정 VM 이미지를 사용하는 경우 올바른지 확인해야 합니다.
제안된 해결 방법: /etc/waagent.conf 파일의 프로비저닝 플래그 값이 다음과 같은지 확인합니다.
기능 | 필수 값 |
---|---|
프로비저닝 사용 | Provisioning.Enabled=n |
cloud-init를 사용하여 프로비전 | Provisioning.UseCloudInit=y |
SRIOV 사용 가상 스위치에 연결된 기본 네트워크 인터페이스
오류 설명: 단일 루트 I/O 가상화(SRIOV) 인터페이스 사용 가상 스위치에 연결된 기본 네트워크 인터페이스로 인해 네트워크 트래픽이 Hyper-V를 우회하므로 호스트가 VM에서 DHCP 요청을 수신할 수 없어 프로비전 시간 제한이 발생했습니다.
추천 솔루션:
가속화된 네트워킹을 사용하도록 설정하지 않고 VM 기본 네트워크 인터페이스를 가상 스위치에 연결합니다.
Azure Stack Edge Pro 1 디바이스에서 포트 1에서 포트 4로 만든 가상 스위치는 가속화된 네트워킹을 사용하도록 설정하지 않습니다. 포트 5 또는 포트 6에서 가상 스위치는 기본적으로 가속화된 네트워킹을 사용하도록 설정합니다.
Azure Stack Edge Pro 2 디바이스에서 포트 1 또는 포트 2에서 만든 가상 스위치는 가속화된 네트워킹을 사용하도록 설정하지 않습니다. 포트 3 또는 포트 4에서 가상 스위치는 기본적으로 가속화된 네트워킹을 사용하도록 설정합니다.
네트워크 인터페이스 만들기 문제
이 섹션에서는 VM을 배포하는 동안 네트워크 인터페이스를 만드는 데 실패하는 문제에 대한 지침을 제공합니다.
NIC 만들기 시간 제한
오류 설명: VM에서 네트워크 인터페이스 만들기가 허용되는 제한 시간 내에 완료되지 않았습니다. 이 오류는 사용자 환경의 DHCP 서버 문제로 인해 발생할 수 있습니다.
네트워크 인터페이스가 성공적으로 만들어졌는지 여부를 확인하려면 다음 단계를 수행합니다.
Azure Portal에서 내 디바이스의 Azure Stack Edge 리소스로 이동합니다(Edge Services>가상 머신으로 이동). 그런 다음, 배포를 선택하고 VM 배포로 이동합니다.
네트워크 인터페이스가 성공적으로 만들어지지 않은 경우 다음 오류가 표시됩니다.
제안된 해결 방법: VM을 다시 만들고 고정 IP 주소를 할당합니다.
VM 만들기 문제
이 섹션에서는 VM을 만드는 동안 발생하는 일반적인 문제에 대해 설명합니다.
VM 만들기 실패
오류 설명: 2403 이전 버전의 Azure Stack Edge를 사용하여 만든 Marketplace 이미지가 있고 기존 Marketplace 이미지에서 VM을 만드는 경우 Azure Stack Edge 2407이 Marketplace 이미지의 다운로드 경로를 변경했기 때문에 VM 만들기가 실패합니다.
제안된 솔루션: 다음 단계를 사용하여 기존 Marketplace 이미지를 삭제한 다음 Azure Portal에서 새 Marketplace 이미지를 만듭니다.
Azure Portal에서 기존 Marketplace 이미지를 삭제합니다.
Marketplace 이미지에 대한 수집 및 BlobDownload 수집 작업을 나열합니다. 다음 단계를 사용하여 Azure Resource Manager에 연결합니다.
다음 스크립트를 실행하여 수집 작업을 나열합니다.
다음 URI에서 구독 ID를 지정합니다.
$uri 1 = "https://management.appliance 이름입니다. DNS 도메인/구독/sid/providers/Microsoft.AzureBridge/locations/DBELocal/ingestionJobs/?api-version=2022-03-01"
Function Get-AzCachedAccessToken() { $ErrorActionPreference = 'Stop' $azureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile $currentAzureContext = Get-AzContext $profileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($azureRmProfile) Write-Debug ("Getting access token for tenant" + $currentAzureContext.Subscription.TenantId) $token = $profileClient.AcquireAccessToken($currentAzureContext.Subscription.TenantId) $token.AccessToken } $token = Get-AzCachedAccessToken $headers = @{Authorization = "Bearer $token"; "Content-Type" = "application/json" } $v = Invoke-RestMethod -Method Get -Uri $uri1 -Headers $headers v.value
수집 작업 이름 = 및 kind =
Marketplace image sku name
BlobDownload
를 찾습니다.예: 수집 작업 이름 =
Ubuntu-18-04
및 kind =BlobDownload
.
1단계에서 수집 작업이 발견되면 다음 단계를 사용하여 수집 작업을 삭제하고 이미지를 삭제합니다. 예를 들어 위 예제의 수집 작업 이름은 .입니다
ubuntu-18-04
. 또한Subscription ID
Resource group
예제에서 이름을 찾을 수 있습니다.$uri2 = "https://management.<appliance name>.<DNS domain>/subscriptions/sid/resourceGroups/rgname/providers/Microsoft.AzureBridge/locations/dbelocal/ingestionJobs/<ingestion job name>?api-version=2018-06-01"
Invoke-RestMethod -Method DELETE -Uri $uri2 -Headers $headers
VM을 만들기 위한 메모리가 부족함
오류 설명: 메모리 부족으로 인해 VM을 만들지 못하면 다음 오류가 표시됩니다.
제안된 해결 방법: 디바이스에서 사용 가능한 메모리를 확인하고 적절하게 VM 크기를 선택합니다. 자세한 내용은 Azure Stack Edge에서 지원되는 가상 머신 크기를 참조하세요.
VM을 배포하는 데 사용할 수 있는 메모리는 다음과 같은 몇 가지 요인에 의해 제한됩니다.
디바이스에서 사용 가능한 총 메모리입니다. 자세한 내용은 Azure Stack Edge Pro GPU 기술 사양 및 Azure Stack Edge Mini R 기술 사양의 컴퓨팅 및 메모리 사양을 참조하세요.
Kubernetes를 사용하는 경우 Kubernetes 및 Kubernetes 클러스터의 앱에 필요한 컴퓨팅 메모리가 필요합니다.
Hyper-V의 각 가상 머신에 대한 오버헤드.
제안된 해결 방법:
- 더 작은 메모리를 필요로 하는 VM 크기를 사용합니다.
- 새 VM을 배포하기 전에 포털에서 사용하지 않는 모든 VM을 중지합니다.
- 더 이상 사용하지 않는 VM을 모두 삭제합니다.
GPU 수가 부족하여 GPU VM을 만들 수 없음
이미 Kubernetes를 사용하도록 설정된 GPU 디바이스에 VM을 배포하려고 하면 사용할 수 있는 GPU가 없으며 다음 오류와 함께 VM 프로비저닝이 실패합니다.
가능한 원인: VM을 만들기 전에 Kubernetes를 사용하도록 설정한 경우 Kubernetes는 사용 가능한 모든 GPU를 사용하며 GPU 크기 VM을 만들 수 없습니다. 사용 가능한 GPU 수 만큼 GPU 크기 VM을 여러 개 만들 수 있습니다. Azure Stack Edge 디바이스는 1 또는 2개의 GPU로 장착될 수 있습니다.
제안된 해결 방법: Kubernetes가 구성된 1-GPU 또는 2-GPU 디바이스의 VM 배포 옵션에 대해서는 GPU VM 및 Kubernetes를 참조하세요.