Rozwiązywanie problemów z wdrażaniem Resource Manager podczas tworzenia nowej maszyny wirtualnej z systemem Linux na platformie Azure

Uwaga

CentOS, do którego odwołuje się ten artykuł, jest dystrybucją systemu Linux i osiągnie koniec życia (EOL). Rozważ użycie i odpowiednio zaplanuj. Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące końca życia systemu CentOS.

Podczas próby utworzenia nowej maszyny wirtualnej platformy Azure typowe błędy to błędy aprowizacji lub błędy alokacji.

  • Błąd aprowizacji występuje, gdy nie można załadować obrazu systemu operacyjnego z powodu nieprawidłowych kroków przygotowawczych lub wybrania nieprawidłowych ustawień podczas przechwytywania obrazu z portalu.
  • Błąd alokacji powoduje, że klaster lub region nie ma dostępnych zasobów lub nie może obsłużyć żądanego rozmiaru maszyny wirtualnej.

Jeśli problem z platformą Azure nie został rozwiązany w tym artykule, odwiedź fora platformy Azure w witrynach MSDN i Stack Overflow. Możesz opublikować swój problem na tych forach lub opublikować na @AzureSupport w serwisie Twitter. Możesz również przesłać żądanie pomoc techniczna platformy Azure. Aby przesłać wniosek o pomoc techniczną, na stronie pomoc techniczna platformy Azure wybierz pozycję Uzyskaj pomoc techniczną.

Rozwiązywanie problemów z aprowizowaniem

Typowy scenariusz niepowodzenia aprowizacji występuje po utworzeniu obrazu niestandardowego, a następnie wdrożeniu z niej maszyny wirtualnej, a następnie wyświetleniu do 40 minut, gdy stan maszyny wirtualnej jest wyświetlany creating, i zostanie wyświetlony następujący komunikat o błędzie:

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/.

Lub:

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."
      }
    ]
  }
}

Następnie zostanie wyświetlony stan maszyny wirtualnej oznaczony jako failed.

Dlaczego występują błędy aprowizacji?

Często błędy aprowizacji mogą wystąpić z wielu powodów, takich jak:

  • Brak aprowizacji /niepoprawnie skonfigurowanego agenta

    • Musisz upewnić się, że agent jest obecny i działa prawidłowo, należy używać funkcji cloud-init lub jeśli obraz nie będzie tego obsługiwał, możesz przejrzeć te kroki.
  • Nieprawidłowa konfiguracja obrazu

Rozwiązywanie problemów z błędami aprowizacji

Aby zidentyfikować przyczynę niepowodzenia aprowizacji, należy zacząć od dziennika szeregowego, jest to dostępne przez wdrożenie maszyny wirtualnej z diagnostyką rozruchu platformy Azure.

Musisz wdrożyć nową maszynę wirtualną z włączoną diagnostyką rozruchu maszyny wirtualnej z obrazem, który nie może uzyskać dostępu do zdarzeń aprowizacji w dzienniku szeregowym.

# 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

Aby wyświetlić dziennik szeregowy, możesz przejść do portalu lub uruchomić poniższe polecenie, aby pobrać dziennik "serialConsoleLogBlobUri":

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

Omówienie dziennika szeregowego zdarzeń systemowych i zdarzeń aprowizacji

Po utworzeniu maszyny wirtualnej po raz pierwszy usługa cloud-init zostanie uruchomiona i spróbuje zainstalować iso, ustanowić łączność sieciową, ustawić właściwości przekazane podczas tworzenia maszyny wirtualnej, zainstalować efemeryczny dysk (w obsługiwanych rozmiarach maszyn wirtualnych) i zasygnalizować platformie Azure, że początkowa konfiguracja systemu operacyjnego została ukończona.

Zdarzenia systemowe i kluczowe informacje Dziennik szeregowy Uwagi
Wersja jądra i jądra [ 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) Pojawia się na początku dziennika szeregowego.
Opcje wiersza polecenia jądra [ 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
Pojawia się na początku dziennika szeregowego. Search dla programu command line:.
Wersja systemowa [ 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) Search dla programu systemd.
Osiągnięto cele systemowe [ [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.
Search dla programu Reached target.
Typowe systemowe cele sieciowe w różnych dystrybucjach [ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
Search dla programu Reached target Network.
Szczegółowy stan sieci i cele sieciowe dla systemu Ubuntu i dystrybucji, w których sieć systemowa jest zarządzana przez systemd-networkprogram . 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.
Search dla network lub networkd.
Szczegółowy stan sieci i cele sieciowe dla systemu RHEL/CentOS i dystrybucji, w których sieć systemowa jest zarządzana przez Network Managerprogram . 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.
Search dla network lub Network Manager.
Szczegółowy stan sieci i cele sieciowe dla usług SUSE/SLES i dystrybucji, w których sieć systemowa jest zarządzana przez Wickedprogram . 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.
Search dla network lub wicked.
Czy rozruch osiągnął wystarczająco daleko, aby rozpocząć pracę w chmurze? Starting Initial cloud-init job (pre-networking)...
Starting Initial cloud-init job (metadata service crawler)...
Search dla programu Starting Initial cloud-init job.
Osiągnięto etapy wersji cloud-init i 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
Search dla programu Cloud-init v.
Interfejsy sieciowe , stany karty sieciowej (w górę/w dół) i adresy IP karty sieciowej. Pokazuje, czy adresy IP karty sieciowej zostały prawidłowo skonfigurowane i przypisane. Przypisanie adresu IP może być dynamiczne za pośrednictwem protokołu DHCP lub statycznie skonfigurowane. [ 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: +--------+------+-----------------------------+---------------+--------+-------------------+
Search dla ci-info lub Net device info.
Trasy adresów IP (IPv4 i IPv6). Pokazuje trasy adresów IP dla różnych punktów końcowych, takich jak podsieć sieci wirtualnej, punkt końcowy platformy Azure (168.63.129.16) i punkt końcowy azure instance metadata Server/IMDS (169.254.169.254). [ 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: +-------+-------------+---------+-----------+-------+
Search dla ci-info, Route IPv4 infolub Route IPv6 info.
Klucze autoryzowane przez protokół SSH dla użytkowników na maszynie wirtualnej. Plik authorized_keys w programie SSH określa klucze SSH, które mogą być używane do logowania się do konta użytkownika, dla którego plik jest skonfigurowany. 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: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
Search dla programu Authorized keys.
Generowanie klucza hosta SSH. Klucz hosta jest kluczem kryptograficznym używanym do uwierzytelniania komputerów w protokole SSH. Klucze hosta to pary kluczy, zwykle używające algorytmów RSA, DSA lub ECDSA. Klucze hosta publicznego są przechowywane na klientach SSH i/lub dystrybuowane do klientów SSH, a klucze prywatne są przechowywane na serwerach 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
Search dla Generating public/private, Your identification has been saved in, The key fingerprint is:lub SHA.
Zrzut odcisków palców klucza hosta 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: #############################################################
Search dla BEGIN SSH HOST KEY FINGERPRINTS i END SSH HOST KEY FINGERPRINTS.
Zrzut kluczy hosta 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-----
Search dla BEGIN SSH HOST KEY KEYS i END SSH HOST KEY KEYS.
Czy serwer SSH został uruchomiony? 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.
Search dla Secure Shell server, OpenSSH server daemonlub OpenSSH Daemon.
Czy sesje użytkowników i logowania użytkowników są dozwolone? Czy na maszynie wirtualnej jest wyświetlany monit o zalogowanie użytkownika? 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:
Search dla Accounts Service, Permit User Sessions, Login Service, Login Prompts, i login:.
Czy pomyślnie uruchomiono agenta systemu 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
Search dla programu Azure Linux Agent.
Czy z punktu widzenia agenta systemu Azure Linux maszyna wirtualna pomyślnie zakończyła aprowizację? Czy program obsługi rozszerzenia maszyny wirtualnej został uruchomiony przez agenta systemu Azure Linux po pomyślnym zainicjowaniu obsługi administracyjnej? Agent systemu Linux platformy Azure uruchamia program obsługi rozszerzenia maszyny wirtualnej tylko wtedy, gdy wykryje, że aprowizowanie maszyny wirtualnej powiodło się. 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning Search dla programu INFO Daemon Finished provisioning.
Czy w dzienniku szeregowym wystąpiły błędy, błędy lub wyjątki? Search dla fail, error, warni exception w dziennikach szeregowych.

Typowe błędy

Sterownik UDF na liście zablokowanych

Błąd: W dzienniku szeregowym:

[   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.

W 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."

Przyczyna: Sterownik UDF nie jest ładowany w jądrze, jest to wymagane do aprowizowania maszyny wirtualnej, zobacz wymagania dotyczące obrazów.

Po pierwszym aprowizowaniu maszyny wirtualnej na platformie Azure host platformy Azure przedstawia maszynie wirtualnej "aprowizowanie dysku iso cdrom". Ten dysk aprowizacji jest zwykle przedstawiany maszynie wirtualnej za pośrednictwem /dev/sr0. Na dysku aprowizowania znajduje się manifest aprowizacji zawierający informacje o aprowizacji maszyny wirtualnej. Oczekuje się, że agent aprowizacji na maszynie wirtualnej zainstaluje dysk aprowizacji, odczyta manifest aprowizacji i odpowiednio aprowizuje maszynę wirtualną

Ponieważ dysk aprowizacji jest cdrom iso disk, sterownik UDF systemu Linux jest wymagany przez jądro w celu pomyślnego zainstalowania tego dysku. Dotyczy to dokumentacji firmy Microsoft dotyczącej obrazów systemu Linux. W przypadku tej maszyny wirtualnej dzienniki wskazują, że nie można zainstalować dysku inicjowania obsługi administracyjnej, co spowodowało niepowodzenie aprowizacji maszyny wirtualnej. Najbardziej prawdopodobną przyczyną jest brakujące lub zablokowane sterowniki UDF.

Rozwiązanie: Upewnij się, że sterownik UDF został skonfigurowany do załadowania do jądra.

Typowym sposobem blokowania sterowników UDF jest użycie konfiguracji w programie /etc/modprobe.d/. Skontaktuj się z klientem/właścicielem obrazu, aby upewnić się, że sterowniki UDF systemu Linux są obecne i nie są blokowane. Zapoznaj się z tym artykułem na temat blokowania/odblokowywania sterowników jądra.

Problem z znakami Unicode w tagach maszyny wirtualnej

Błąd: W 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'

Przyczyna: Dzieje się tak, ponieważ tagi maszyny wirtualnej mają znaki inne niż ascii, a wersja cloud-init jest starsza niż 20.3.

Rozwiązanie: użyj lub upewnij się, że obraz obsługuje funkcję cloud-init 20.3 lub nowszą albo usuń znaki inne niż ascii z tagów maszyny wirtualnej.

Hasło ze znakami unicode

Błąd: W 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)

Przyczyna: dzieje się tak, ponieważ podane hasło ma nieobsługiwanych znaków (nie ascii).

Rozwiązanie: podaj hasło, które zawiera tylko znaki ascii.

Uprawnienie dhclient

Błąd: W 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'

Przyczyna: starsze wersje funkcji cloud-init (przed wersją 20.3) wykonują protokół DHCP przez kopiowanie i wykonywanie dhclient w programie /var/tmp. Jeśli /var/tmp maszyna wirtualna jest zainstalowana jako noexec (bez wykonywania), protokół DHCP zakończy się niepowodzeniem z powodu dhclient braku uprawnień do wykonania w programie /var/tmp.

Wersje >cloud-init = 20.3 zawierają poprawkę, która powraca i wykonuje dhclient polecenie "as-is" (nie kopiując i nie wykonując jej w /var/tmp przypadku problemów z uprawnieniami).

Rozwiązanie: W przypadku maszyn wirtualnych z systemem cloud-init starszym niż wersja 20.3 skonfiguruj maszynę wirtualną tak, aby /var/tmp nie była zainstalowana jako noexec. Alternatywnie uaktualnij pakiet cloud-init maszyny wirtualnej do wersji >= 20.3.

Uzyskiwanie większej liczby dzienników

Jeśli okaże się, że potrzebujesz więcej dzienników z maszyny wirtualnej, aby zrozumieć problemy, być może możesz ssh do maszyny wirtualnej przy użyciu konsoli szeregowej przy użyciu użytkownika, który jest pieczony w obrazie. Jeśli użytkownik nie jest zapieczętowany, możesz ponownie utworzyć obraz z użytkownikiem lub użyć narzędzia naprawy maszyny wirtualnej AZ , które zainstaluje dysk systemu operacyjnego maszyny wirtualnej, której aprowizacja nie powiodła się, na innej maszynie wirtualnej.

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

Omówienie cloud-init.log

Jeśli masz dostęp do dzienników cloud-init, zapoznaj się z dokumentacją dotyczącą rozwiązywania problemów z usługą cloud-init.

Uzyskiwanie pomocy technicznej

Jeśli odwołujesz się do wskazówek i nadal nie możesz rozwiązać problemu, możesz otworzyć zgłoszenie do pomocy technicznej. W tym celu wybierz odpowiedni temat dotyczący produktu i pomocy technicznej. W ten sposób skontaktujesz się z odpowiednim zespołem pomocy technicznej.

Wybieranie produktu case:

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

Zbieranie dzienników aktywności

Aby rozpocząć rozwiązywanie problemów, zbierz dzienniki aktywności, aby zidentyfikować błąd skojarzony z problemem. Poniższe linki zawierają szczegółowe informacje na temat procesu, który należy wykonać.

Wyświetlanie operacji wdrażania

Wyświetlanie dzienników aktywności w celu zarządzania zasobami platformy Azure

Problem: Obraz niestandardowy; błędy aprowizacji

Błędy aprowizacji pojawiają się w przypadku przekazania lub przechwycenia uogólnionego obrazu maszyny wirtualnej jako wyspecjalizowanego obrazu maszyny wirtualnej lub na odwrót. Ten pierwszy spowoduje błąd przekroczenia limitu czasu aprowizacji, a drugi spowoduje błąd aprowizacji. Aby wdrożyć obraz niestandardowy bez błędów, należy upewnić się, że typ obrazu nie zmienia się podczas procesu przechwytywania.

W poniższej tabeli wymieniono możliwe kombinacje uogólnionych i wyspecjalizowanych obrazów, typ błędu, który napotkasz i co należy zrobić, aby naprawić błędy.

Poniższa tabela zawiera listę możliwych kombinacji przekazywania i przechwytywania uogólnionych i wyspecjalizowanych obrazów systemu operacyjnego Linux. Kombinacje, które będą przetwarzane bez żadnych błędów, są wskazywane przez wartość Y, a te, które będą zgłaszać błędy, są wskazywane przez znak N. Przyczyny i rozwiązania różnych błędów, które zostaną napotkane, są podane poniżej tabeli.

OS Specyfikacja przekazywania. Przekaż gen. Specyfikacja przechwytywania. Przechwyć gen.
Linux gen. N1 T N3 T
Specyfikacja systemu Linux. T N2 T N4

Y: Jeśli system operacyjny jest uogólniony w systemie Linux i jest przekazywany i/lub przechwytywany przy użyciu uogólnionego ustawienia, nie będzie żadnych błędów. Podobnie, jeśli system operacyjny jest wyspecjalizowany w systemie Linux i jest przekazywany i/lub przechwytywany przy użyciu ustawienia wyspecjalizowanego, nie będzie żadnych błędów.

Błędy przekazywania

N1: Jeśli system operacyjny jest uogólniony w systemie Linux i jest przekazywany jako wyspecjalizowany, zostanie wyświetlony błąd przekroczenia limitu czasu aprowizacji, ponieważ maszyna wirtualna jest zablokowana na etapie aprowizacji.

N2: Jeśli system operacyjny jest wyspecjalizowany w systemie Linux i jest przekazywany jako uogólniony, zostanie wyświetlony błąd niepowodzenia aprowizacji, ponieważ nowa maszyna wirtualna jest uruchomiona z oryginalną nazwą komputera, nazwą użytkownika i hasłem.

Rozwiązanie — błąd przekazywania

Aby rozwiązać oba te błędy, przekaż oryginalny dysk VHD dostępny lokalnie z tym samym ustawieniem co w przypadku systemu operacyjnego (uogólnionego/wyspecjalizowanego). Aby przekazać element jako uogólniony, należy najpierw uruchomić polecenie -deprovision.

Błędy przechwytywania

N3: Jeśli system operacyjny jest uogólniony w systemie Linux i jest przechwytywany jako wyspecjalizowany, zostanie wyświetlony błąd przekroczenia limitu czasu aprowizacji, ponieważ oryginalna maszyna wirtualna nie jest użyteczna, ponieważ jest oznaczona jako uogólniona.

N4: Jeśli system operacyjny jest wyspecjalizowany w systemie Linux i jest przechwytywany jako uogólniony, zostanie wyświetlony błąd niepowodzenia aprowizacji, ponieważ nowa maszyna wirtualna jest uruchomiona z oryginalną nazwą komputera, nazwą użytkownika i hasłem. Ponadto oryginalna maszyna wirtualna nie jest użyteczna, ponieważ jest oznaczona jako wyspecjalizowana.

Rozwiązanie — błąd przechwytywania

Aby rozwiązać oba te błędy, usuń bieżący obraz z portalu i odzyskaj go z bieżących dysków VHD przy użyciu tego samego ustawienia co dla systemu operacyjnego (uogólnionego/wyspecjalizowanego).

Ten błąd występuje w sytuacjach, gdy nowe żądanie maszyny wirtualnej jest przypięte do klastra, który nie może obsłużyć żądanego rozmiaru maszyny wirtualnej lub nie ma dostępnego wolnego miejsca do uwzględnienia żądania.

Przyczyna 1

Klaster nie może obsługiwać żądanego rozmiaru maszyny wirtualnej.

Uchwała 1

  • Ponów próbę żądania przy użyciu mniejszego rozmiaru maszyny wirtualnej.

  • Jeśli nie można zmienić rozmiaru żądanej maszyny wirtualnej:

    • Zatrzymaj wszystkie maszyny wirtualne w zestawie dostępności. Kliknij pozycję Grupy>zasobów grupy> zasobówZasoby>zestaw> dostępności Virtual Machines>zatrzymaj maszyny> wirtualnejZatrzymaj.
    • Po zatrzymaniu wszystkich maszyn wirtualnych utwórz nową maszynę wirtualną w żądanym rozmiarze.
    • Najpierw uruchom nową maszynę wirtualną, a następnie wybierz każdą zatrzymaną maszynę wirtualną i kliknij przycisk Start.

Przyczyna 2

Klaster nie ma bezpłatnych zasobów.

Uchwała 2

  • Ponów próbę żądania w późniejszym czasie.
  • Jeśli nowa maszyna wirtualna może być częścią innego zestawu dostępności
    • Utwórz nową maszynę wirtualną w innym zestawie dostępności (w tym samym regionie).
    • Dodaj nową maszynę wirtualną do tej samej sieci wirtualnej.

Najważniejsze problemy

Poniższe najważniejsze problemy mogą pomóc w rozwiązaniu problemu. Aby rozpocząć rozwiązywanie problemów, przejrzyj następujące kroki:

Klaster nie może obsługiwać żądanego rozmiaru maszyny wirtualnej

  • Ponów próbę żądania przy użyciu mniejszego rozmiaru maszyny wirtualnej.
  • Jeśli nie można zmienić rozmiaru żądanej maszyny wirtualnej:
    • Zatrzymaj wszystkie maszyny wirtualne w zestawie dostępności. Kliknij pozycję Grupy> zasobów grupa > zasobów Zasoby> zestaw > dostępności Virtual Machines> maszyny > wirtualnej Zatrzymaj.
    • Po zatrzymaniu wszystkich maszyn wirtualnych utwórz maszynę wirtualną w żądanym rozmiarze.
    • Najpierw uruchom nową maszynę wirtualną, a następnie wybierz każdą zatrzymaną maszynę wirtualną i kliknij przycisk Start.

Klaster nie ma bezpłatnych zasobów

  • Ponów próbę żądania później.
  • Jeśli nowa maszyna wirtualna może być częścią innego zestawu dostępności
    • Utwórz maszynę wirtualną w innym zestawie dostępności (w tym samym regionie).
    • Dodaj nową maszynę wirtualną do tej samej sieci wirtualnej.

Często zadawane pytania

Jak mogę aktywować moje miesięczne środki na program Visual Studio Enterprise (BizSpark)

Aby aktywować miesięczne środki, zobacz ten artykuł.

Dlaczego nie mogę zainstalować sterownika procesora GPU dla maszyny wirtualnej Zbuntu NV?

Obecnie obsługa procesorów GPU systemu Linux jest dostępna tylko na maszynach wirtualnych nc platformy Azure z systemem Ubuntu Server 16.04 LTS. Aby uzyskać więcej informacji, zobacz Konfigurowanie sterowników procesorów GPU dla maszyn wirtualnych z serii N z systemem Linux.

Brakuje moich sterowników dla maszyny wirtualnej z serii N z systemem Linux

Instrukcje dotyczące instalowania sterowników dla maszyn wirtualnych opartych na systemie Linux znajdują się tutaj.

Nie mogę znaleźć wystąpienia procesora GPU na maszynie wirtualnej z serii N

Aby korzystać z możliwości procesora GPU maszyn wirtualnych z serii N platformy Azure, należy zainstalować sterowniki grafiki na każdej maszynie wirtualnej po wdrożeniu. Informacje o konfiguracji sterownika są dostępne tutaj.

Czy maszyny wirtualne z serii N są dostępne w moim regionie?

Dostępność można sprawdzić w tabeli Produkty dostępne według regionów i cenniku tutaj.

Nie widzę rodziny rozmiarów maszyn wirtualnych, której chcę, podczas zmiany rozmiaru maszyny wirtualnej

Gdy maszyna wirtualna jest uruchomiona, jest wdrażana na serwerze fizycznym. Serwery fizyczne w regionach platformy Azure są pogrupowane w klastry wspólnego sprzętu fizycznego. Zmiana rozmiaru maszyny wirtualnej wymagającej przeniesienia maszyny wirtualnej do różnych klastrów sprzętowych różni się w zależności od tego, który model wdrażania został użyty do wdrożenia maszyny wirtualnej.

  • Maszyny wirtualne wdrożone w klasycznym modelu wdrażania, wdrożenie usługi w chmurze musi zostać usunięte i ponownie wdrożone, aby zmienić rozmiar maszyn wirtualnych w innej rodzinie rozmiarów.

  • Maszyny wirtualne wdrożone w modelu wdrażania Resource Manager należy zatrzymać wszystkie maszyny wirtualne w zestawie dostępności przed zmianą rozmiaru dowolnej maszyny wirtualnej w zestawie dostępności.

Rozmiar wymienionej maszyny wirtualnej nie jest obsługiwany podczas wdrażania w zestawie dostępności

Wybierz rozmiar obsługiwany w klastrze zestawu dostępności. Zalecane jest utworzenie zestawu dostępności w celu wybrania największego rozmiaru maszyny wirtualnej, którego potrzebujesz, i jest to pierwsze wdrożenie w zestawie dostępności.

Jakie dystrybucje/wersje systemu Linux są obsługiwane na platformie Azure?

Listę można znaleźć w witrynie Linux w witrynie Dystrybucje zatwierdzone przez platformę Azure.

Czy mogę dodać istniejącą klasyczną maszynę wirtualną do zestawu dostępności?

Tak. Możesz dodać istniejącą klasyczną maszynę wirtualną do nowego lub istniejącego zestawu dostępności. Aby uzyskać więcej informacji, zobacz Dodawanie istniejącej maszyny wirtualnej do zestawu dostępności.

Ważna

Klasyczne maszyny wirtualne zostaną wycofane 1 września 2023 r.

Jeśli używasz zasobów IaaS z usługi ASM, zakończ migrację do 1 września 2023 r. Zachęcamy do dokonania zmiany wcześniej, aby skorzystać z wielu ulepszeń funkcji w usłudze Azure Resource Manager.

Aby uzyskać więcej informacji, zobacz Migrowanie zasobów IaaS do usługi Azure Resource Manager do 1 września 2023 r.

Następne kroki

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.