Linux Virtual Machines 배포 시 문제 해결
적용 대상: ✔️ Linux VM
참고 항목
이 문서에서 참조하는 CentOS는 Linux 배포이며 EOL(수명 종료)에 도달합니다. 사용 및 계획을 적절하게 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조 하세요.
새 Azure Virtual Machine(VM)을 만드는 경우, 접하는 일반적인 오류는 프로비전 실패 또는 할당 실패입니다.
- 프로비전 실패는 포털에서 이미지를 캡처하는 동안 잘못된 설정을 선택했거나 준비 단계가 잘못되었기 때문에 OS 이미지가 로드되지 않아서 발생합니다.
- 할당 실패는 클러스터나 지역에 사용할 수 있는 리소스가 없거나 요청한 VM 크기를 지원할 수 없을 때 발생합니다.
Azure 문제와 관련된 정보가 이 문서에 없을 경우 MSDN 및 Stack Overflow에서 Azure 포럼을 방문합니다. 이러한 포럼이나 Twitter의 @AzureSupport에 문제를 게시할 수 있습니다. 또한 Azure 지원 요청을 제출할 수 있습니다. 지원 요청을 제출하려면 Azure 지원 페이지에서 지원 받기를 선택합니다.
증상
일반적인 프로비저닝 실패 시나리오는 사용자 지정 이미지를 만든 다음, VM에서 VM을 배포한 후 VM 상태가 표시되는 creating
40분이 지나면 다음과 같은 오류 메시지가 표시됩니다.
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를 사용해야 하거나 이미지가 이를 지원하지 않는 경우 다음 단계를 검토할 수 있습니다.
잘못된 이미지 구성
cloud-init 및 기타 Azure 이미지 요구 사항을 사용하여 이미지를 설정하는 방법에 대한 지침이 있습니다. 이를 확인하세요.
프로비전 실패 문제 해결
직렬 로그로 시작해야 하는 프로비저닝 실패 이유를 식별하려면 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: 를 검색합니다. |
시스템 버전 | [ 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) |
systemd 를 검색합니다. |
시스템 대상에 도달했습니다. | [ [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 target 를 검색합니다. |
여러 배포판의 일반적인 시스템 네트워킹 대상 | [ [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 Network 를 검색합니다. |
시스템 네트워킹이 관리 systemd-network 되는 Ubuntu 및 배포판에 대한 심층 네트워킹 상태 및 네트워킹 대상. |
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. |
network 검색 또는 networkd . |
시스템 네트워킹이 관리 Network Manager 되는 RHEL/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 검색 또는 Network Manager . |
시스템 네트워킹이 관리 Wicked 되는 SUSE/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. |
network 검색 또는 wicked . |
부팅이 cloud-init을 시작할 만큼 충분히 도달했나요? | Starting Initial cloud-init job (pre-networking)... Starting Initial cloud-init job (metadata service crawler)... |
Starting Initial cloud-init job 를 검색합니다. |
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 v 를 검색합니다. |
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: +--------+------+-----------------------------+---------------+--------+-------------------+ |
ci-info 검색 또는 Net device info . |
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-info 합니다. |
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 keys 를 검색합니다. |
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 |
검색 , Generating public/private Your identification has been saved in , The key fingerprint is: 또는 SHA . |
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: ############################################################# |
검색 및 BEGIN SSH HOST KEY FINGERPRINTS END SSH HOST KEY FINGERPRINTS . |
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----- |
검색 및 BEGIN SSH HOST KEY KEYS END SSH HOST KEY KEYS . |
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 server 합니다. |
사용자 세션 및 사용자 로그인이 허용되었나요? 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: |
Accounts Service , Permit User Sessions , Login Service Login Prompts 및 login: 를 검색합니다. |
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 Agent 를 검색합니다. |
Azure Linux 에이전트의 관점에서 VM이 성공적으로 프로비저닝을 완료했나요? 프로비전에 성공한 후 Azure Linux 에이전트에서 VM 확장 처리기를 시작했는지 여부 Azure Linux 에이전트는 VM 프로비저닝이 성공했음을 감지하는 경우에만 VM 확장 처리기를 시작합니다. | 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning |
INFO Daemon Finished provisioning 를 검색합니다. |
직렬 로그에 오류, 오류 또는 예외가 있었나요? | fail error , 및 warn exception 직렬 로그를 검색합니다. |
일반 오류
비활성화된 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 디스크 프로비전'을 제공합니다. 이 프로비저닝 디스크는 일반적으로 /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
DHCP는 내에서 /var/tmp
실행할 수 있는 권한이 없기 때문에 dhclient
실패합니다.
Cloud-init 버전 >= 20.3에는 사용 권한 문제가 있는 경우 복사하여 실행 /var/tmp
하지 않고 "있는 그대로" 실행하는 dhclient
수정 사항이 포함되어 있습니다.
해결 방법: 버전 20.3보다 오래된 cloud-init를 실행하는 VM의 경우 탑재되지 않도록 /var/tmp
VM을 noexec
구성합니다. 또는 VM의 cloud-init 패키지를 버전 >= 20.3으로 업그레이드합니다.
참고 항목
dhclient
권한 문제는 cloud-init 22.4 이상 버전에서 해결되었습니다. 자세한 내용은 cloud-init 문제 3956을 참조하세요.
더 많은 로그 가져오기
문제를 이해하기 위해 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 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.