Azure에서 새 Linux 가상 머신을 만드는 Resource Manager 배포 문제 해결

참고

이 문서에서 참조하는 CentOS는 Linux 배포판이며 EOL(수명 종료)에 도달합니다. 사용을 고려하고 그에 따라 계획하십시오. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.

새 Azure VM(Virtual Machine)을 만들려고 할 때 발생하는 일반적인 오류는 프로비전 실패 또는 할당 실패입니다.

  • 잘못된 준비 단계로 인해 또는 포털에서 이미지 캡처 중에 잘못된 설정을 선택했기 때문에 OS 이미지가 로드되지 않을 때 프로비저닝 실패가 발생합니다.
  • 할당 실패는 클러스터 또는 지역에 사용 가능한 리소스가 없거나 요청된 VM 크기를 지원할 수 없는 경우 발생합니다.

이 문서에서 Azure 문제가 해결되지 않으면 MSDN 및 Stack Overflow의 Azure 포럼을 방문하세요. 이러한 포럼에 문제를 게시하거나 Twitter에 @AzureSupport 게시할 수 있습니다. Azure 지원 요청을 제출할 수도 있습니다. 지원 요청을 제출하려면 Azure 지원 페이지에서 지원 받기를 선택합니다.

프로비전 문제 해결

일반적인 프로비저닝 실패 시나리오는 사용자 지정 이미지를 만든 다음 VM을 배포한 후 VM 상태 표시되는 creating40분이 지나면 다음과 같은 오류 메시지가 표시됩니다.

Provisioning state Provisioning failed. 

OS Provisioning for VM 'sentilo' did not finish in the allotted time. 

The VM may still finish provisioning successfully. Please check provisioning state later. 

Also, make sure the image has been properly prepared (generalized). * Instructions for Windows: https://azure.microsoft.com/documentation/articles/virtual-machines-windows-upload-image/ * Instructions for Linux: https://azure.microsoft.com/documentation/articles/virtual-machines-linux-capture-image/.

또는

Deployment failed. Correlation ID: f9dcb33a-4e6e-45c5-9c9d-b29dd73da2e0. {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "OSProvisioningInternalError",
        "message": "OS Provisioning failed for VM 'iWishThisWouldCreateVM01' due to an internal error: The VM encountered an error during deployment. Please visit https://aka.ms/linuxprovisioningerror for more information on remediation."
      }
    ]
  }
}

그런 다음 VM 상태가 로 표시된 것을 failed볼 수 있습니다.

프로비저닝 오류가 발생하는 이유는 무엇인가요?

일반적으로 프로비저닝 실패는 다음과 같은 여러 가지 이유로 발생할 수 있습니다.

  • 프로비전 누락 /잘못 구성된 에이전트

    • 에이전트가 있고 올바르게 작동하는지 확인해야 합니다. cloud-init 를 사용해야 하거나 이미지가 이를 지원하지 않는 경우 다음 단계를 검토할 수 있습니다.
  • 잘못된 이미지 구성

프로비저닝 실패 문제 해결

직렬 로그로 시작해야 하는 프로비전 실패 이유를 식별하려면 Azure Boot 진단 사용하여 VM을 배포하여 사용할 수 있습니다.

직렬 로그의 프로비저닝 이벤트에 액세스하는 데 실패한 이미지가 있는 VM에 부팅 진단 사용하도록 설정된 새 VM을 배포해야 합니다.

# create resource group
resourceGroup=myBrokenImageRG
location=westus2
az group create --name $resourceGroup --location $location

# create storage account

storageacct=mydiagdata$RANDOM

az storage account create \
  --resource-group $resourceGroup \
  --name $storageacct \
  --sku Standard_LRS \
  --location $location

# create VM
vmName=iWishThisWouldCreateVM01
brokenImageName=<ResourceID of brokenImage>
sshPubkeyPath=""

az vm create \
    --resource-group $resourceGroup \
    --name $vmName \
    --image $brokenImageName \
    --admin-username azadmin \
    --ssh-key-value $sshPubkeyPath \
    --boot-diagnostics-storage $storageacct

직렬 로그를 보려면 포털로 이동하거나 아래 명령을 실행하여 'serialConsoleLogBlobUri' 로그를 다운로드할 수 있습니다.

az vm boot-diagnostics get-boot-log-uris --name $vmName --resource-group $resourceGroup

시스템 이벤트 및 프로비저닝 이벤트에 대한 직렬 로그 이해

VM이 처음으로 만들어지면 cloud-init가 시작되어 ISO를 탑재하고, 네트워크 연결을 설정하고, VM을 만드는 동안 전달되는 속성을 설정하고, 임시 디스크(지원되는 VM 크기)를 탑재하고, 초기 OS 구성이 완료되었음을 Azure 플랫폼에 다시 알릴 것입니다.

시스템 이벤트 및 키 정보 직렬 로그 참고
커널 릴리스 및 커널 버전 [ 0.000000] Linux version 5.4.0-1031-azure (buildd@lcy01-amd64-021) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #32~18.04.1-Ubuntu SMP Tue Oct 6 10:03:22 UTC 2020 (Ubuntu 5.4.0-1031.32~18.04.1-azure 5.4.65) 직렬 로그의 시작 부분에 나타납니다.
커널 명령줄 옵션 [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-1031-azure root=UUID=8c0a4742-2f51-40b4-b659-357cfb0bb2a3 ro console=tty1 console=ttyS0 earlyprintk=ttyS0
[ 0.503399] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-1031-azure root=UUID=8c0a4742-2f51-40b4-b659-357cfb0bb2a3 ro console=tty1 console=ttyS0 earlyprintk=ttyS0
직렬 로그의 시작 부분에 나타납니다. 에 대한 command line:Search.
시스템 버전 [ 8.626739] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) 에 대한 systemdSearch.
시스템 대상에 도달했습니다. [ [0;32m OK [0m] Reached target Swap.
[ [0;32m OK [0m] Reached target User and Group Name Lookups.
[ [0;32m OK [0m] Reached target Slices.
[ [0;32m OK [0m] Reached target Local File Systems (Pre).
[ [0;32m OK [0m] Reached target Local Encrypted Volumes.
[ [0;32m OK [0m] Reached target Local File Systems.
[ [0;32m OK [0m] Reached target System Time Synchronized.
[ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Host and Network Name Lookups.
[ [0;32m OK [0m] Reached target Cloud-config availability.
[ [0;32m OK [0m] Reached target System Initialization
[ [0;32m OK [0m] Reached target Timers.
[ [0;32m OK [0m] Reached target Paths.
[ [0;32m OK [0m] Reached target Network is Online.
[ [0;32m OK [0m] Reached target Remote File Systems (Pre).
[ [0;32m OK [0m] Reached target Remote File Systems.
[ [0;32m OK [0m] Reached target Sockets.
[ [0;32m OK [0m] Reached target Basic System.
[ [0;32m OK [0m] Reached target Login Prompts.
에 대한 Reached targetSearch.
여러 배포판의 일반적인 시스템 네트워킹 대상 [ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
에 대한 Reached target NetworkSearch.
에서 시스템 네트워킹을 관리하는 systemd-networkUbuntu 및 배포판에 대한 심층 네트워킹 상태 및 네트워킹 대상 Starting Network Time Synchronization...
[ [0;32m OK [0m] Started Network Time Synchronization.
Starting Initial cloud-init job (pre-networking)...
[ [0;32m OK [0m] Started Initial cloud-init job (pre-networking).
[ [0;32m OK [0m] Reached target Network (Pre).
Starting Network Service...
[ [0;32m OK [0m] Started Network Service.
Starting Wait for Network to be Configured...
Starting Network Name Resolution...
[ [0;32m OK [0m] Started Network Name Resolution.
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Host and Network Name Lookups.
[ [0;32m OK [0m] Started Wait for Network to be Configured.
[ [0;32m OK [0m] Reached target Network is Online.
Starting Dispatcher daemon for systemd-networkd...
[ [0;32m OK [0m] Started Dispatcher daemon for systemd-networkd.
또는 networkd에 대한 network Search.
에서 시스템 네트워킹을 관리하는 Network ManagerRHEL/CentOS 및 배포판에 대한 심층 네트워킹 상태 및 네트워킹 대상 Starting Read and set NIS domainname from /etc/sysconfig/network...
[ [32m OK [0m] Started Read and set NIS domainname from /etc/sysconfig/network.
Starting Import network configuration from initramfs...
[ [32m OK [0m] Started Import network configuration from initramfs.
Starting Initial cloud-init job (pre-networking)...
[ [32m OK [0m] Started Initial cloud-init job (pre-networking).
[ [32m OK [0m] Reached target Network (Pre).
Starting Network Manager...
[ [32m OK [0m] Started Network Manager.
Starting Network Manager Wait Online...
Starting Network Manager Script Dispatcher Service...
[ [32m OK [0m] Started Network Manager Script Dispatcher Service.
[ [32m OK [0m] Started Network Manager Wait Online.
Starting LSB: Bring up/down networking...
[ [32m OK [0m] Started LSB: Bring up/down networking.
[ [32m OK [0m] Reached target Network.
[ [32m OK [0m] Reached target Network is Online.
또는 Network Manager에 대한 network Search.
에서 시스템 네트워킹을 관리하는 WickedSUSE/SLES 및 배포판에 대한 심층 네트워킹 상태 및 네트워킹 대상 Starting Initial cloud-init job (pre-networking)...
[ [0;32m OK [0m] Reached target Host and Network Name Lookups.
[ [0;32m OK [0m] Started Initial cloud-init job (pre-networking).
[ [0;32m OK [0m] Reached target Network (Pre).
Starting wicked DHCPv6 supplicant service...
Starting wicked DHCPv4 supplicant service...
Starting wicked AutoIPv4 supplicant service...
[ [0;32m OK [0m] Started wicked DHCPv6 supplicant service.
[ [0;32m OK [0m] Started wicked DHCPv4 supplicant service.
[ [0;32m OK [0m] Started wicked AutoIPv4 supplicant service.
Starting wicked network management service daemon...
[ [0;32m OK [0m] Started wicked network management service daemon.
Starting wicked network nanny service...
[ [0;32m OK [0m] Started wicked network nanny service.
Starting wicked managed network interfaces...
[ [0;31m* [0;1;31m* [0m [0;31m* [0m] A start job is running for wicked m…etwork interfaces (22s / no limit)
[K[ [0;31m* [0;1;31m* [0m [0;31m* [0m] A start job is running for wicked m…etwork interfaces (28s / no limit)
[K[ [0;31m* [0;1;31m* [0m [0;31m* [0m] A start job is running for wicked m…etwork interfaces (32s / no limit)
[K[ [0;32m OK [0m] Started wicked managed network interfaces.
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
또는 wicked에 대한 network Search.
부팅이 cloud-init가 시작될 만큼 충분히 도달했나요? Starting Initial cloud-init job (pre-networking)...
Starting Initial cloud-init job (metadata service crawler)...
에 대한 Starting Initial cloud-init jobSearch.
Cloud-init 버전 및 cloud-init 단계에 도달했습니다. [ 22.446387] cloud-init[703]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'init-local' at Wed, 28 Oct 2020 17:46:30 +0000. Up 21.23 seconds.
[ 28.357120] cloud-init[837]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'init' at Wed, 28 Oct 2020 17:46:34 +0000. Up 24.52 seconds.
[ 50.421009] cloud-init[1445]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'modules:config' at Wed, 28 Oct 2020 17:46:57 +0000. Up 48.21 seconds.
[ 51.338792] cloud-init[1541]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'modules:final' at Wed, 28 Oct 2020 17:47:00 +0000. Up 51.01 seconds.
[ 51.366837] cloud-init[1541]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 finished at Wed, 28 Oct 2020 17:47:01 +0000. Datasource DataSourceAzure [seed=/dev/sr0]. Up 51.32 seconds
에 대한 Cloud-init vSearch.
NIC(네트워크 인터페이스), NIC 상태(업/다운) 및 NIC IP 주소. NIC IP 주소가 올바르게 구성되고 할당되었는지를 보여 줍니다. IP 주소 할당은 DHCP를 통해 동적이거나 정적으로 구성될 수 있습니다. [ 28.381544] cloud-init[837]: ci-info: ++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
[ 28.396781] cloud-init[837]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+
[ 28.416501] cloud-init[837]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
[ 28.427493] cloud-init[837]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+
[ 28.446544] cloud-init[837]: ci-info: | eth0 | True | 10.0.0.4 | 255.255.255.0 | global | 00:0d:3a:c6:17:d5 |
[ 28.460031] cloud-init[837]: ci-info: | eth0 | True | fe80::20d:3aff:fec6:17d5/64 | . | link | 00:0d:3a:c6:17:d5 |
[ 28.476415] cloud-init[837]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
[ 28.487962] cloud-init[837]: ci-info: | lo | True | ::1/128 | . | host | . |
[ 28.498191] cloud-init[837]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+
또는 Net device info에 대한 ci-info Search.
IP 경로(IPv4 및 IPv6). VNet 서브넷, Azure 엔드포인트() 및 Azure Instance 메타데이터 서버/IMDS 엔드포인트(168.63.129.16)와 같은 다양한 엔드포인트169.254.169.254에 대한 IP 경로를 표시합니다. [ 28.508190] cloud-init[837]: ci-info: ++++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++++
[ 28.522189] cloud-init[837]: ci-info: +-------+-----------------+----------+-----------------+-----------+-------+
[ 28.531173] cloud-init[837]: ci-info: | Route | Destination | Gateway | Genmask | Interface | Flags |
[ 28.549782] cloud-init[837]: ci-info: +-------+-----------------+----------+-----------------+-----------+-------+
[ 28.562896] cloud-init[837]: ci-info: | 0 | 0.0.0.0 | 10.0.0.1 | 0.0.0.0 | eth0 | UG |
[ 28.571653] cloud-init[837]: ci-info: | 1 | 10.0.0.0 | 0.0.0.0 | 255.255.255.0 | eth0 | U |
[ 28.580192] cloud-init[837]: ci-info: | 2 | 168.63.129.16 | 10.0.0.1 | 255.255.255.255 | eth0 | UGH |
[ 28.587633] cloud-init[837]: ci-info: | 3 | 169.254.169.254 | 10.0.0.1 | 255.255.255.255 | eth0 | UGH |
[ 28.600728] cloud-init[837]: ci-info: +-------+-----------------+----------+-----------------+-----------+-------+
[ 28.611117] cloud-init[837]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++
[ 28.619534] cloud-init[837]: ci-info: +-------+-------------+---------+-----------+-------+
[ 28.629292] cloud-init[837]: ci-info: | Route | Destination | Gateway | Interface | Flags |
[ 28.638596] cloud-init[837]: ci-info: +-------+-------------+---------+-----------+-------+
[ 28.647791] cloud-init[837]: ci-info: | 1 | fe80::/64 | :: | eth0 | U |
[ 28.660622] cloud-init[837]: ci-info: | 3 | local | :: | eth0 | U |
[ 28.670776] cloud-init[837]: ci-info: | 4 | ff00::/8 | :: | eth0 | U |
[ 28.691506] cloud-init[837]: ci-info: +-------+-------------+---------+-----------+-------+
, Route IPv4 info또는 Route IPv6 info에 대한 ci-infoSearch.
VM의 사용자에 대한 SSH 권한 있는 키입니다. SSH의 파일은 authorized_keys 파일이 구성된 사용자 계정에 로그인하는 데 사용할 수 있는 SSH 키를 지정합니다. ci-info: ++++++++++++++++++++++++++Authorized keys from /home/azureuser/.ssh/authorized_keys for user azureuser+++++++++++++++++++++++++++
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
ci-info: | Keytype | Fingerprint (sha256) | Options | Comment |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
ci-info: | ssh-rsa | 88:b0:2a:ce:f5:91:49:a2:01:07:a4:e5:db:b3:8c:3e:7e:1f:52:83:53:3c:83:4f:a3:a7:17:13:65:a3:47:e2 | - | - |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
에 대한 Authorized keysSearch.
SSH 호스트 키 생성. 호스트 키는 SSH 프로토콜에서 컴퓨터를 인증하는 데 사용되는 암호화 키입니다. 호스트 키는 일반적으로 RSA, DSA 또는 ECDSA 알고리즘을 사용하는 키 쌍입니다. 공용 호스트 키는 SSH 클라이언트에 저장 및/또는 배포되며 프라이빗 키는 SSH 서버에 저장됩니다. Starting OpenSSH Server Key Generation...
[ [32m OK [0m] Started OpenSSH Server Key Generation.
[ 40.437735] cloud-init[837]: Generating public/private rsa key pair.
[ 40.451048] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
[ 40.473777] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
[ 40.489730] cloud-init[837]: The key fingerprint is:
[ 40.501705] cloud-init[837]: SHA256:NGxA6sf9EAMtczaFSBSJqiGkafEZuPUykNLxefbXofM root@myVmName
[ 40.686610] cloud-init[837]: Generating public/private dsa key pair.
[ 40.712350] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
[ 40.721901] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
[ 40.721966] cloud-init[837]: The key fingerprint is:
[ 40.722011] cloud-init[837]: SHA256:QjoxEw9PNOg0P3LW6wnSZzjsfQQ4vhW8S0dAuNWkWHM root@myVmName
[ 40.722606] cloud-init[837]: Generating public/private ecdsa key pair.
[ 40.722650] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key.
[ 40.722690] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub.
[ 40.722734] cloud-init[837]: The key fingerprint is:
[ 40.722774] cloud-init[837]: SHA256:BaFqan71k4blzY8TQrLQOavMWoKHgUDgxEAuB0ouJCo root@myVmName
[ 41.063239] cloud-init[837]: Generating public/private ed25519 key pair.
[ 41.091125] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
[ 41.120794] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
[ 41.154126] cloud-init[837]: The key fingerprint is:
[ 41.157135] cloud-init[837]: SHA256:KsKfIKjwGpMgbYYved5v5oNE6v6eeUwI4AxeeigXk14 root@myVmName
, , Your identification has been saved inThe key fingerprint is:또는 SHA에 대한 Generating public/privateSearch.
ssh 호스트 키 지문의 덤프입니다. <14>Oct 28 17:47:00 ec2: #############################################################
<14>Oct 28 17:47:00 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
<14>Oct 28 17:47:00 ec2: 1024 SHA256:QjoxEw9PNOg0P3LW6wnSZzjsfQQ4vhW8S0dAuNWkWHM root@myVmName (DSA)
<14>Oct 28 17:47:00 ec2: 256 SHA256:BaFqan71k4blzY8TQrLQOavMWoKHgUDgxEAuB0ouJCo root@myVmName (ECDSA)
<14>Oct 28 17:47:00 ec2: 256 SHA256:KsKfIKjwGpMgbYYved5v5oNE6v6eeUwI4AxeeigXk14 root@myVmName (ED25519)
<14>Oct 28 17:47:00 ec2: 2048 SHA256:NGxA6sf9EAMtczaFSBSJqiGkafEZuPUykNLxefbXofM root@myVmName (RSA)
<14>Oct 28 17:47:00 ec2: -----END SSH HOST KEY FINGERPRINTS-----
<14>Oct 28 17:47:00 ec2: #############################################################
END SSH HOST KEY FINGERPRINTS에 대한 BEGIN SSH HOST KEY FINGERPRINTS Search.
ssh 호스트 키의 덤프입니다. -----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFzu1pBMlq3g/8ztkQo+ZukigmLzQ02/ogL7Xe8aKjbuM8q4ibo1kWnXB0UuGkGE0DotVyBQsoyUNorTj96G2Xo= root@myVmName
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIbGOVk/IMfL+RZBDo6YlfbKncVTIBy7wSrqL5ixX6yZ root@myVmName
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnH5sIIEFi2ne6CMk1jscVQ289i4idOMJt3WwzHR1lOgJf9kPY+WzmFw71Ai9ZEpqSTpYWxgt+z26ujxAE3R1LvOn1QKetlsPLT5FH8oIZESXmYDb/KL/4k81aDelzko1Xipk5SSai8LeX1qglKUEyGevht9S+QQTHK8Ed++UDzNidCk02iAdhpX/0E5d09NE4r+v5wAojOazLnq6JaESYV07SI7rBOGO7hCdSrQwWodYnhyTQRP3FbqjUeNRqBl3uqlH3+rgMAAPsCpToFTCperTRmyBrCbspzpxIpQSEFbf639EL/7Cst/Ff2ND0D0zVAaSdrmFZisYUcO+VRanZ root@myVmName
-----END SSH HOST KEY KEYS-----
END SSH HOST KEY KEYS에 대한 BEGIN SSH HOST KEY KEYS Search.
SSH 서버가 시작했나요? Starting OpenBSD Secure Shell server...
[ [0;32m OK [0m] Started OpenBSD Secure Shell server.
Starting OpenSSH server daemon...
[ [32m OK [0m] Started OpenSSH server daemon.
Starting OpenSSH Daemon...
[ [0;32m OK [0m] Started OpenSSH Daemon.
, OpenSSH server daemon또는 OpenSSH Daemon에 대한 Secure Shell serverSearch.
사용자 세션 및 사용자 로그인이 허용되었나요? VM에 사용자 로그인 프롬프트가 표시되어 있나요? Starting Accounts Service...
Starting Permit User Sessions...
Starting Login Service...
[ [0;32m OK [0m] Started Permit User Sessions.
[ [0;32m OK [0m] Started Login Service.
[ [0;32m OK [0m] Reached target Login Prompts.
[ [0;32m OK [0m] Started Accounts Service.
Ubuntu 18.04.5 LTS myVmName ttyS0
myVmName login:
, , Permit User Sessions, Login ServiceLogin Promptslogin:에 대한 Accounts ServiceSearch.
Azure Linux 에이전트가 성공적으로 시작했나요? [ [0;32m OK [0m] Started Azure Linux Agent.
2020/10/28 17:46:52.082569 INFO Daemon Azure Linux Agent Version:2.2.45
에 대한 Azure Linux AgentSearch.
Azure Linux 에이전트의 관점에서 VM이 프로비저닝을 성공적으로 완료했나요? 프로비저닝에 성공한 후 Azure Linux 에이전트에서 VM 확장 처리기를 시작했는지 여부 Azure Linux 에이전트는 VM 프로비저닝이 성공한 것으로 감지되는 경우에만 VM 확장 처리기를 시작합니다. 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning 에 대한 INFO Daemon Finished provisioningSearch.
직렬 로그에 오류, 오류 또는 예외가 있었나요? 직렬 로그에서 , error, warnexception 에 대한 failSearch.

일반적인 오류

UDF 드라이버 차단 목록

오류: 직렬 로그에서:

[   10.855501] cloud-init[732]: Cloud-init v. 20.4.1-0ubuntu1~18.04.1 running 'init-local' at Thu, 28 Jan 2021 23:43:02 +0000. Up 10.68 seconds.
[   10.869581] cloud-init[732]: 2021-01-28 23:43:03,097 - azure.py[WARNING]: /dev/sr0 was not mountable
[   10.875608] cloud-init[732]: 2021-01-28 23:43:03,106 - azure.py[ERROR]: No Azure metadata found
[   10.885776] cloud-init[732]: 2021-01-28 23:43:03,107 - azure.py[ERROR]: Could not crawl Azure metadata: No Azure metadata found
[   14.634117] cloud-init[732]: 2021-01-28 23:43:06,876 - azure.py[WARNING]: Reported failure to Azure fabric.

waagent.log:

"UDF driver Blocklisted 2020/09/11 19:16:40.240016 ERROR Daemon Provisioning failed: [ProtocolError] [CopyOvfEnv] Error mounting dvd: [OSUtilError] Failed to mount dvd deviceInner error: [mount -o ro -t udf,iso9660 /dev/sr0 /mnt/cdrom/secure] returned 32: mount: /mnt/cdrom/secure: wrong fs type, bad option, bad superblock on /dev/sr0, missing codepage or helper program, or other error."

원인: UDF 드라이버가 커널에 로드되지 않습니다. VM이 프로비전하는 데 필요합니다 . 이미지 요구 사항을 참조하세요.

Azure에서 VM을 처음 프로비전하면 Azure 호스트는 VM에 'cdrom iso disk 프로비전'을 제공합니다. 이 프로비저닝 디스크는 일반적으로 /dev/sr0을 통해 VM에 제공됩니다. 프로비저닝 디스크 내에는 VM의 프로비저닝 정보가 포함된 프로비전 매니페스트가 있습니다. VM 내 프로비저닝 에이전트는 프로비전 디스크를 탑재하고, 프로비전 매니페스트를 읽고, 그에 따라 VM을 프로비전해야 합니다.

프로비저닝 디스크는 이므로 이 디스크를 cdrom iso disk성공적으로 탑재하려면 커널에서 Linux UDF 드라이버가 필요합니다. Linux 이미지에 대한 Microsoft 설명서에서 참조됩니다. 이 VM의 경우 로그는 프로비전 디스크를 탑재하지 못하여 VM 프로비저닝이 실패했음을 나타냅니다. 가장 가능성이 높은 이유는 UDF 드라이버가 없거나 차단되어 있기 때문입니다.

해결 방법: UDF 드라이버가 커널에 로드되도록 구성되어 있는지 확인합니다.

UDF 드라이버를 차단하는 일반적인 방법은 내 /etc/modprobe.d/구성을 사용하는 것입니다. Linux UDF 드라이버가 있고 차단되지 않았는지 확인하려면 고객/이미지 소유자와 협력하세요. 커널 드라이버 차단/차단 해제에 대한 이 문서를 참조하세요.

VM 태그의 유니코드 문자 문제

오류: cloud-init.log:

  File "/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceAzure.py", line 1316, in _get_metadata_from_imds
    except json.decoder.JSONDecodeError:
AttributeError: 'module' object has no attribute 'JSONDecodeError'

원인: VM 태그에는 비 ascii 문자가 있고 cloud-init 버전이 20.3보다 오래되었기 때문에 발생합니다.

해결 방법: 이미지를 사용하거나 cloud-init 20.3 이상을 지원하거나 VM 태그에서 비 ascii 문자를 제거합니다.

유니코드 문자가 있는 암호

오류: cloud-init.log:

File "/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceAzure.py", line 1153, in encrypt_pass
    return crypt.crypt(password, salt_id + util.rand_str(strlen=16))
  File "/usr/lib64/python2.7/crypt.py", line 55, in crypt
    return _crypt.crypt(word, salt)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128)

원인: 제공된 암호에 지원되지 않는 문자(비 ascii)가 있기 때문에 발생합니다.

해결 방법: ascii 문자만 있는 암호를 제공합니다.

Dhclient 권한

오류: cloud-init.log:

Command: ['/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhclient', '-1', '-v', '-lf', '/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhcp.leases', '-pf', '/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhclient.pid', 'eth0', '-sf', '/bin/true']
Exit code: -
Reason: [Errno 13] Permission denied: b'/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhclient'

원인: 이전 버전의 cloud-init(버전 20.3 이전)는 내에서 /var/tmp복사하고 실행하여 DHCP를 수행합니다dhclient. 가 VM에 의해 (실행 없음)으로 noexec 탑재된 경우 /var/tmp 내에서 /var/tmp실행할 수 있는 권한이 없으므로 DHCP가 실패 dhclient 합니다.

Cloud-init 버전 >= 20.3에는 뒤로 물러나 "있는 그대로"를 실행하는 dhclient 수정 사항이 포함되어 있습니다(권한 문제가 있는 경우 복사하여 실행 /var/tmp 하지 않음).

해결 방법: 버전 20.3보다 오래된 cloud-init를 실행하는 VM의 경우 로 탑재되지 않도록 /var/tmp VM을 noexec구성합니다. 또는 VM의 cloud-init 패키지를 버전 >= 20.3으로 업그레이드합니다.

더 많은 로그 가져오기

문제를 이해하기 위해 VM에서 더 많은 로그가 필요한 경우 이미지에 구운 사용자를 사용하여 직렬 콘솔 을 사용하여 VM에 SSH할 수 있습니다. 사용자가 구워지지 않은 경우 사용자와 함께 이미지를 다시 만들거나 프로비전에 실패한 VM의 OS 디스크를 다른 VM에 탑재하는 AZ VM 복구 도구를 사용할 수 있습니다.

az vm repair create  \
    --resource-group $resourceGroup \
    --name $vmName \
    --repair-username repairadm \
    --repair-password AnotherPassword123! \
    --repair-vm-name repairVM \
    --verbose

cloud-init.log 이해

cloud-init 로그에 액세스할 수 있는 경우 cloud-init 문제 해결 설명서를 검토합니다.

지원 받기

지침을 참조했으며 여전히 문제를 해결할 수 없는 경우 지원 사례를 열 수 있습니다. 이렇게 하면 올바른 제품 및 지원 항목을 선택하세요. 이렇게 하면 올바른 지원 팀이 참여합니다.

사례 제품 선택:

Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: <COMPLETE>
Support Subtopic: <COMPLETE>

활동 로그 수집

문제 해결을 시작하려면 활동 로그를 수집하여 문제와 관련된 오류를 식별합니다. 다음 링크에는 따라야 할 프로세스에 대한 자세한 정보가 포함되어 있습니다.

배포 작업 보기

활동 로그를 보고 Azure 리소스 관리

문제: 사용자 지정 이미지; 프로비저닝 오류

프로비전 오류는 일반화된 VM 이미지를 특수한 VM 이미지로 업로드하거나 캡처하는 경우 발생합니다. 전자는 프로비전 시간 제한 오류를 발생시키고 후자는 프로비저닝 실패를 발생합니다. 오류 없이 사용자 지정 이미지를 배포하려면 캡처 프로세스 중에 이미지 유형이 변경되지 않도록 해야 합니다.

다음 표에서는 일반화된 이미지와 특수화된 이미지의 가능한 조합, 발생할 오류 유형 및 오류를 해결하기 위해 수행해야 하는 작업을 나열합니다.

다음 표에는 Linux 일반화 및 특수화된 OS 이미지의 가능한 업로드 및 캡처 조합이 나와 있습니다. 오류 없이 처리할 조합은 Y로 표시되고 오류를 throw하는 조합은 N으로 표시됩니다. 실행할 다양한 오류에 대한 원인과 해결 방법은 표 아래에 제공됩니다.

OS 사양을 업로드합니다. Gen을 업로드합니다. 캡처 사양. 캡처 gen.
Linux gen. N1 Y N3 Y
Linux 사양. Y N2 Y N4

Y: OS가 일반화된 Linux이고 일반화된 설정으로 업로드 및/또는 캡처되는 경우 오류가 발생하지 않습니다. 마찬가지로 OS가 Linux 특수화되어 있고 특수 설정으로 업로드 및/또는 캡처된 경우 오류가 발생하지 않습니다.

업로드 오류

N1: OS가 일반화된 Linux이고 특수한 것으로 업로드되는 경우 VM이 프로비전 단계에서 중단되어 프로비전 시간 제한 오류가 발생합니다.

N2: OS가 Linux 특수화되어 있고 일반화된 것으로 업로드되는 경우 새 VM이 원래 컴퓨터 이름, 사용자 이름 및 암호로 실행 중이므로 프로비전 실패 오류가 발생합니다.

해결 방법 - 업로드 오류

이러한 오류를 모두 resolve OS(일반화/특수화)와 동일한 설정으로 온-프레미스에서 사용할 수 있는 원래 VHD를 업로드합니다. 일반화된 대로 업로드하려면 먼저 -deprovision을 실행해야 합니다.

캡처 오류

N3: OS가 Linux 일반화되고 특수화된 것으로 캡처되는 경우 원래 VM을 일반화로 표시하므로 사용할 수 없기 때문에 프로비전 시간 제한 오류가 발생합니다.

N4: OS가 Linux 특수화되고 일반화된 것으로 캡처되는 경우 새 VM이 원래 컴퓨터 이름, 사용자 이름 및 암호로 실행 중이므로 프로비전 실패 오류가 발생합니다. 또한 원래 VM은 특수화된 것으로 표시되어 사용할 수 없습니다.

해결 방법 - 캡처 오류

이러한 두 오류를 모두 resolve 포털에서 현재 이미지를 삭제하고 OS(일반화/특수화)와 동일한 설정으로 현재 VHD에서 다시 캡처합니다.

이 오류는 새 VM 요청이 요청되는 VM 크기를 지원할 수 없거나 요청을 수용할 수 있는 사용 가능한 공간이 없는 클러스터에 고정되는 경우에 발생합니다.

원인 1

클러스터는 요청된 VM 크기를 지원할 수 없습니다.

해결 방법 1

  • 더 작은 VM 크기를 사용하여 요청을 다시 시도합니다.

  • 요청된 VM의 크기를 변경할 수 없는 경우:

    • 가용성 집합의 모든 VM을 중지합니다. 리소스 그룹리소스 그룹>>> 리소스가용성 집합>Virtual Machines>가상 머신>중지를 클릭합니다.
    • 모든 VM이 중지된 후 원하는 크기로 새 VM을 만듭니다.
    • 먼저 새 VM을 시작한 다음 중지된 각 VM을 선택하고 시작을 클릭합니다.

원인 2

클러스터에 무료 리소스가 없습니다.

해결 방법 2

  • 나중에 요청을 다시 시도합니다.
  • 새 VM이 다른 가용성 집합의 일부가 될 수 있는 경우
    • 동일한 지역에 있는 다른 가용성 집합에 새 VM을 만듭니다.
    • 동일한 가상 네트워크에 새 VM을 추가합니다.

주요 문제

다음 주요 문제는 문제를 resolve 데 도움이 될 수 있습니다. 문제 해결을 시작하려면 다음 단계를 검토합니다.

클러스터에서 요청된 VM 크기를 지원할 수 없습니다.

  • 더 작은 VM 크기를 사용하여 요청을 다시 시도합니다.
  • 요청된 VM의 크기를 변경할 수 없는 경우:
    • 가용성 집합의 모든 VM을 중지합니다. 리소스 그룹 리소스 그룹> 가상 머신 >중지Virtual Machines> 가용성 집합 >리소스를>> 클릭합니다.
    • 모든 VM이 중지된 후 원하는 크기로 VM을 만듭니다.
    • 먼저 새 VM을 시작한 다음 중지된 각 VM을 선택하고 시작을 클릭합니다.

클러스터에 무료 리소스가 없습니다.

  • 나중에 요청을 다시 시도합니다.
  • 새 VM이 다른 가용성 집합의 일부가 될 수 있는 경우
    • 동일한 지역에 있는 다른 가용성 집합에 VM을 만듭니다.
    • 동일한 가상 네트워크에 새 VM을 추가합니다.

FAQ

어떻게 할까요? Visual Studio Enterprise에 대한 월별 크레딧 활성화(BizSpark)

월별 크레딧을 활성화하려면 이 문서를 참조 하세요.

Ubuntu NV VM용 GPU 드라이버를 설치할 수 없는 이유는 무엇인가요?

현재 Linux GPU 지원은 Ubuntu Server 16.04 LTS를 실행하는 Azure NC VM에서만 사용할 수 있습니다. 자세한 내용은 Linux를 실행하는 N 시리즈 VM에 대한 GPU 드라이버 설정을 참조하세요.

Linux N 시리즈 VM에 대한 드라이버가 없습니다.

Linux 기반 VM용 드라이버를 설치하는 지침은 여기에 있습니다.

N 시리즈 VM 내에서 GPU instance 찾을 수 없습니다.

Azure N 시리즈 VM의 GPU 기능을 활용하려면 배포 후 각 VM에 그래픽 드라이버를 설치해야 합니다. 드라이버 설정 정보는 여기에서 확인할 수 있습니다.

내 지역에서 N 시리즈 VM을 사용할 수 있나요?

지역별 사용 가능한 제품 및 가격 책정에서 가용성을 검사 수 있습니다.

VM 크기를 조정할 때 원하는 VM 크기 패밀리를 볼 수 없습니다.

VM이 실행 중이면 물리적 서버에 배포됩니다. Azure 지역의 물리적 서버는 일반적인 물리적 하드웨어 클러스터로 그룹화됩니다. VM을 다른 하드웨어 클러스터로 이동해야 하는 VM의 크기 조정은 VM을 배포하는 데 사용된 배포 모델에 따라 다릅니다.

  • 클래식 배포 모델에 배포된 VM은 클라우드 서비스 배포를 제거하고 다시 배포하여 VM을 다른 크기 패밀리의 크기로 변경해야 합니다.

  • Resource Manager 배포 모델에 배포된 VM은 가용성 집합의 VM 크기를 변경하기 전에 가용성 집합의 모든 VM을 중지해야 합니다.

가용성 집합에 배포하는 동안 나열된 VM 크기는 지원되지 않습니다.

가용성 집합의 클러스터에서 지원되는 크기를 선택합니다. 가용성 집합을 만들 때 필요한 가장 큰 VM 크기를 선택하고 가용성 집합에 대한 첫 번째 배포가 되도록 하는 것이 좋습니다.

Azure에서 지원되는 Linux 배포/버전은 무엇인가요?

Azure 보증 배포판의 Linux에서 목록을 찾을 수 있습니다.

기존 클래식 VM을 가용성 집합에 추가할 수 있나요?

예. 기존 클래식 VM을 새 또는 기존 가용성 집합에 추가할 수 있습니다. 자세한 내용은 가용성 집합에 기존 가상 머신 추가를 참조하세요.

중요

클래식 VM은 2023년 9월 1일에 사용 중지됩니다.

ASM에서 IaaS 리소스를 사용하는 경우 2023년 9월 1일까지 마이그레이션을 완료하세요. Azure Resource Manager 다양한 기능 향상 기능을 활용하기 위해 더 빨리 전환하는 것이 좋습니다.

자세한 내용은 2023년 9월 1일까지 IaaS 리소스를 Azure Resource Manager 마이그레이션을 참조하세요.

다음 단계

도움을 요청하십시오.

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