Behandeln von Ressourcen-Manager-Bereitstellungsproblemen beim Erstellen eines neuen virtuellen Linux-Computers in Azure

Hinweis

CentOS, auf das in diesem Artikel verwiesen wird, ist eine Linux-Distribution und erreicht das Ende der Lebensdauer (End Of Life, EOL). Berücksichtigen Sie Ihre Verwendung, und planen Sie sie entsprechend. Weitere Informationen finden Sie unter Leitfaden zum Ende der Lebensdauer von CentOS.

Wenn Sie versuchen, einen neuen virtuellen Azure-Computer (VM) zu erstellen, treten häufig Bereitstellungsfehler oder Zuordnungsfehler auf.

  • Ein Bereitstellungsfehler tritt auf, wenn das Betriebssystem-Image aufgrund falscher Vorbereitungsschritte oder aufgrund der Auswahl der falschen Einstellungen während der Image-Erfassung nicht aus dem Portal geladen werden kann.
  • Dieser Fehler tritt auf, wenn in dem Cluster oder der Region keine Ressourcen verfügbar sind, oder wenn die angeforderte Größe des virtuellen Computers nicht unterstützt werden kann.

Wenn Ihr Problem mit Azure in diesem Artikel nicht behandelt wird, besuchen Sie die Azure-Foren auf MSDN und Stack Overflow. Sie können Ihr Problem in diesen Foren veröffentlichen oder auf Twitter an @AzureSupport posten. Sie können auch eine Azure-Supportanfrage stellen. Um eine Supportanfrage zu stellen, wählen Sie auf der Azure-Support-Seite Support erhalten.

Fehlerbehebung bei der Bereitstellung

Ein typisches Bereitstellungsfehlerszenario tritt auf, nachdem Sie ein benutzerdefiniertes Bild erstellt und dann eine VM daraus bereitgestellt haben. Anschließend wird für den VM-Status bis zu 40 Minuten lang creatingangezeigt, und Sie sehen diese Fehlermeldung:

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

oder -

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

Der VM-Status wird dann als failedangezeigt.

Warum treten Bereitstellungsfehler auf?

Im Allgemeinen können Bereitstellungsfehler aus mehreren Gründen auftreten, wie beispielsweise:

  • Fehlende Bereitstellung/falsch konfigurierter Agent

    • Sie müssen sicherstellen, dass ein Agent vorhanden ist und ordnungsgemäß funktioniert, und Sie sollten cloud-init verwenden. Falls Ihr Bild dies nicht unterstützt, können Sie die folgenden Schritte durchführen.
  • Falsche Bildkonfiguration

    • Wir haben eine Anleitung, wie Images mit cloud-init und anderen Azure-Anforderungen an Images eingerichtet werden sollten, bitte lesen Sie diese.

Behandeln von Bereitstellungsfehlern

Um den Grund für die fehlgeschlagene Bereitstellung zu ermitteln, müssen Sie mit dem seriellen Protokoll beginnen. Dieses steht Ihnen durch Bereitstellen der VM mit einer Azure Boot-Diagnose zur Verfügung.

Sie müssen eine neue VM mit aktivierter Startdiagnose bereitstellen, damit die VM mit dem fehlgeschlagenen Image auf Bereitstellungsereignisse im seriellen Protokoll zugreifen kann.

# 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

Um das serielle Protokoll anzuzeigen, können Sie zum Portal gehen oder den folgenden Befehl ausführen, um das Protokoll „serialConsoleLogBlobUri“ herunterzuladen:

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

Grundlegendes zum seriellen Protokoll für Systemereignisse und Bereitstellungsereignisse

Wenn die VM zum ersten Mal erstellt wird, startet cloud-init und versucht, eine ISO zu mounten, stellt die Netzwerkverbindung her, legt die während der VM-Erstellung übergebenen Eigenschaften fest, mountet die temporäre Festplatte (bei unterstützten VM-Größen) und meldet der Azure-Plattform zurück, dass die anfängliche Betriebssystemkonfiguration abgeschlossen ist.

Systemereignisse und wichtige Informationen Serielles Protokoll Notizen
Kernel-Release und Kernel-Version [ 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) Erscheint am Anfang des Serienprotokolls.
Kernel-Befehlszeilenoptionen [ 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
Erscheint am Anfang des Serienprotokolls. Suchen nach command line:.
Systemd-Version [ 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) Suchen nach systemd.
Systemd-Ziele erreicht [ [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.
Suchen nach Reached target.
Gemeinsame Systemd-Netzwerkziele in verschiedenen Distributionen [ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
Suchen nach Reached target Network.
Ausführlicher Netzwerkstatus und Netzwerkziele für Ubuntu und Distributionen, bei denen die Systemnetzwerke durch systemd-networkverwaltet werden. 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.
Suchen nach network oder networkd.
Detaillierter Netzwerkstatus und Netzwerkziele für RHEL/CentOS und Distributionen, bei denen die Systemnetzwerke durch Network Managerverwaltet werden. 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.
Suchen nach network oder Network Manager.
Detaillierter Netzwerkstatus und Netzwerkziele für SUSE/SLES und Distributionen, in denen die Systemnetzwerke durch Wickedverwaltet werden. 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.
Suchen nach network oder wicked.
Ging das Booten weit genug voran, um cloud-init starten zu können? Starting Initial cloud-init job (pre-networking)...
Starting Initial cloud-init job (metadata service crawler)...
Suchen nach Starting Initial cloud-init job.
Cloud-init-Version und Cloud-init-Stufen erreicht [ 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
Suchen nach Cloud-init v.
Netzwerkschnittstellen (NICs), NIC-Zustände (up/down) und NIC-IP-Adressen. Zeigt an, ob die NIC-IP-Adressen richtig konfiguriert und zugewiesen wurden. Die Zuweisung der IP-Adresse kann entweder dynamisch über DHCP erfolgen oder statisch konfiguriert werden. [ 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: +--------+------+-----------------------------+---------------+--------+-------------------+
Suchen nach ci-info oder Net device info.
IP-Routen (IPv4 und IPv6). Zeigt IP-Routen für verschiedene Endpunkte wie das VNET-Subnetz, den Azure-Endpunkt (168.63.129.16) und den Metadatenserver/IMDS-Endpunkt der Azure-Instanz (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: +-------+-------------+---------+-----------+-------+
Suchen nach ci-info, Route IPv4 infooder Route IPv6 info.
SSH-autorisierte Schlüssel für Benutzer auf der VM. Die authorized_keys-Datei in SSH gibt die SSH-Schlüssel an, die für die Anmeldung bei dem Benutzerkonto verwendet werden können, für das die Datei konfiguriert ist. 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: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
Suchen nach Authorized keys.
Generieren des SSH-Hostschlüssels. Ein Hostschlüssel ist ein kryptografischer Schlüssel, der zur Authentifizierung von Computern im SSH-Protokoll verwendet wird. Hostschlüssel sind Schlüsselpaare, die normalerweise die RSA-, DSA- oder ECDSA-Algorithmen verwenden. Öffentliche Hostschlüssel werden auf SSH-Clients gespeichert und/oder an diese verteilt, und private Schlüssel werden auf SSH-Servern gespeichert. 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
Suchen nach Generating public/private, Your identification has been saved in, The key fingerprint is:oder SHA.
Dump von SSH-Hostschlüssel-Fingerabdrücken. <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: #############################################################
Suchen nach BEGIN SSH HOST KEY FINGERPRINTS und END SSH HOST KEY FINGERPRINTS.
Dump von SSH-Hostschlüsseln. -----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-----
Suchen nach BEGIN SSH HOST KEY KEYS und END SSH HOST KEY KEYS.
Wurde der SSH-Server gestartet? 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.
Suchen nach Secure Shell server, OpenSSH server daemonoder OpenSSH Daemon.
Sind Benutzersitzungen und Benutzeranmeldungen erlaubt? Zeigt die VM eine Benutzeranmeldungsaufforderung an? 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:
Suchen nach Accounts Service, Permit User Sessions, Login Service, Login Promptsund login:.
Wurde der Azure Linux-Agent erfolgreich gestartet? [ [0;32m OK [0m] Started Azure Linux Agent.
2020/10/28 17:46:52.082569 INFO Daemon Azure Linux Agent Version:2.2.45
Suchen nach Azure Linux Agent.
Hat die VM aus Sicht des Azure Linux-Agenten die Bereitstellung erfolgreich abgeschlossen? Wurde der VM-Erweiterungshandler vom Azure Linux-Agent gestartet, nachdem die Bereitstellung erfolgreich war? Der Azure Linux-Agent startet den VM-Erweiterungshandler nur, wenn er erkennt, dass die VM-Bereitstellung erfolgreich war. 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning Suchen nach INFO Daemon Finished provisioning.
Gab es Fehler, Ausfälle oder Ausnahmen im seriellen Protokoll? Suchen nach fail, error, warn und exception in den Serienprotokollen.

Häufige Fehler

UDF-Treiber auf der Blockliste

Fehler: Im Serienprotokoll:

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

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

Ursache: Der UDF-Treiber wird nicht im Kernel geladen, dies ist jedoch für die Bereitstellung der VM erforderlich, siehe Bildanforderungen.

Wenn ein virtueller Computer zum ersten Mal in Azure bereitgestellt wird, präsentiert der Azure-Host dem virtuellen Computer einen „Bereitstellungs-CD-ROM-ISO-Datenträger“. Dieser Bereitstellungsdatenträger wird der VM normalerweise über /dev/sr0 angezeigt. Auf dem Bereitstellungsdatenträger befindet sich ein Bereitstellungsmanifest, das die Bereitstellungsinformationen einer VM enthält. Es wird erwartet, dass der Bereitstellungs-Agent in der VM den Bereitstellungsdatenträger bereitstellt, das Bereitstellungsmanifest liest und die VM entsprechend bereitstellt

Da der Bereitstellungsdatenträger ein cdrom iso diskist, wird der Linux-UDF-Treiber vom Kernel benötigt, um diesen Datenträger erfolgreich zu mounten. Dies wird in der Dokumentation zu Linux-Images von Microsoft referenziert. Für diese VM weisen Protokolle darauf hin, dass der Bereitstellungsdatenträger nicht gemountet werden konnte, was dazu führte, dass die Bereitstellung der VM fehlschlug. Der wahrscheinlichste Grund sind fehlende oder blockierte UDF-Treiber.

Lösung: Stellen Sie sicher, dass der UDF-Treiber so konfiguriert ist, dass er in den Kernel geladen wird.

Eine übliche Methode zum Blockieren von UDF-Treibern ist durch Konfigurationen innerhalb von /etc/modprobe.d/. Bitte arbeiten Sie mit dem Kunden/Image-Eigentümer zusammen, um sicherzustellen, dass Linux-UDF-Treiber vorhanden und nicht blockiert sind. Bitte konsultieren Sie diesen Artikel zum Blockieren/Entsperren von Kerneltreibern.

Problem mit Unicode-Zeichen in VM-Tags

Fehler: In 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'

Ursache: Dies geschieht, wenn VM-Tags Nicht-Ascii-Zeichen enthalten und die cloud-init-Version älter als 20.3 ist.

Lösung: Verwenden Sie cloud-init 20.3 oder neuer, oder stellen Sie sicher, dass Ihr Image cloud-init 20.3 oder neuer unterstützt, oder entfernen Sie Nicht-Ascii-Zeichen aus den VM-Tags.

Kennwort mit Unicode-Zeichen

Fehler: In 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)

Ursache: Dies geschieht, weil das angegebene Kennwort nicht unterstützte Zeichen (Nicht-Ascii) enthält.

Lösung: Geben Sie ein Kennwort ein, das nur Ascii-Zeichen enthält.

Dhclient-Berechtigung

Fehler: In 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'

Ursache: Ältere Versionen von cloud-init (vor Version 20.3) führen DHCP durch Kopieren und Ausführen von dhclient innerhalb von /var/tmp durch. Wenn /var/tmp durch die VM als noexec (keine Ausführung) gemountet wird, dann schlägt DHCP fehl, da dhclient keine Berechtigungen zum Ausführen innerhalb von /var/tmp besitzt.

Cloud-init-Versionen ab >= 20.3 enthalten einen Fix, der zurückfällt und dhclient im „Ist-Zustand“ ausführt (indem es nicht kopiert und in /var/tmp ausgeführt wird, wenn es Berechtigungsprobleme gibt).

Lösung: Konfigurieren Sie für VMs, auf denen eine ältere Version von cloud-init als 20.3 ausgeführt wird, die VM so, dass /var/tmp nicht als noexec gemountet wird. Als Alternative können Sie das cloud-init-Paket der VM auf eine Version von mindestens >= 20.3 aktualisieren.

Mehr Protokolle erhalten

Wenn Sie feststellen, dass Sie mehr Protokolle von der VM benötigen, um die Probleme zu verstehen, können Sie sich vielleicht per SSH in die VM einwählen, indem Sie die serielle Konsole mit einem Benutzer verwenden, der in das Image integriert ist. Wenn Sie keinen integrierten Benutzer haben, können Sie das Bild entweder mit einem Benutzer neu erstellen oder das AZ-VM-Reparaturtool verwenden. Dadurch wird der Betriebssystemdatenträger der VM, der nicht bereitgestellt werden konnte, zu einer anderen VM gemountet.

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

Cloud-init.log verstehen

Wenn Sie Zugriff auf die cloud-init-Protokolle haben, lesen Sie die Dokumentation zur Cloud-init-Fehlerbehebung.

Unterstützung erhalten

Wenn Sie der Anleitung gefolgt sind und Ihr Problem immer noch nicht beheben können, können Sie einen Supportfall eröffnen. Wählen Sie dabei bitte das richtige Produkt und das richtige Support-Thema aus, damit das richtige Support-Team eingeschaltet wird.

Auswahl des Produkts für den Fall:

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

Erfassen von Aktivitätsprotokollen

Sammeln Sie zur Problembehandlung zunächst die Aktivitätsprotokolle, um den Fehler zu ermitteln, auf den das Problem zurückzuführen ist. Die folgenden Links enthalten detaillierte Informationen zur Vorgehensweise.

Bereitstellungsvorgänge anzeigen

Anzeigen von Aktivitätsprotokollen zum Verwalten von Azure-Ressourcen

Problem: Benutzerdefiniertes Image; Bereitstellungsfehler

Bereitstellungsfehler treten auf, wenn Sie ein generalisiertes VM-Image als spezialisiertes VM-Image hochladen oder erfassen oder umgekehrt. Ersteres führt zu einem Zeitüberschreitungsfehler bei der Bereitstellung und letzteres zu einem Bereitstellungsfehler. Um Ihr benutzerdefiniertes Image fehlerfrei bereitzustellen, müssen Sie sicherstellen, dass sich der Typ des Images während des Erfassungsprozesses nicht ändert.

In der folgenden Tabelle sind die möglichen Kombinationen von generalisierten und spezialisierten Images, der Fehlertyp, auf den Sie stoßen werden und was Sie jeweils tun müssen, um die Fehler zu beheben.

In der folgenden Tabelle sind die möglichen Upload- und Erfassungskombinationen von generalisierten und spezialisierten Linux-Betriebssystemimages aufgeführt. Die Kombinationen, die ohne Fehler verarbeitet werden, sind mit einem Y gekennzeichnet, während diejenigen, die Fehler auslösen, mit einem N gekennzeichnet sind. Die Ursachen und Lösungen für die verschiedenen Fehler, auf die Sie stoßen, sind unter der Tabelle aufgeführt.

Betriebssystem Spez. hochladen Gen. hochladen Aufnahme spez. Aufnahme gen.
Linux gen. N1 J N3 J
Linux spez. J N2 J N4

J: Bei einem generalisierten Linux-Betriebssystem, das mit der generalisierten Einstellung hochgeladen und/oder erfasst wird, treten keine Fehler auf. Bei einem spezialisierten Linux-Betriebssystem, das mit der spezialisierten Einstellung hochgeladen und/oder erfasst wird, treten ebenfalls keine Fehler auf.

Uploadfehler

N1: Wenn ein generalisiertes Linux-Betriebssystem als spezialisiertes Betriebssystem hochgeladen wird, tritt bei der Bereitstellung ein Timeoutfehler auf, da der virtuelle Computer nicht über die Bereitstellungsphase hinauskommt.

N2: Wenn ein spezialisiertes Linux-Betriebssystem als generalisiertes Betriebssystem hochgeladen wird, tritt ein Bereitstellungsfehler auf, da der neue virtuelle Computer mit dem ursprünglichen Computernamen, Benutzernamen und Kennwort ausgeführt wird.

Lösung – Uploadfehler

Laden Sie zur Behebung dieser Fehler die ursprüngliche (lokal verfügbare) virtuelle Festplatte mit der gleichen Einstellung (generalisiert/spezialisiert) hoch, die auch für das Betriebssystem verwendet wird. Beim Hochladen als generalisiertes Image muss zuerst "-deprovision" ausgeführt werden.

Erfassungsfehler

N3: Wenn ein generalisiertes Linux-Betriebssystem als spezialisiertes Betriebssystem erfasst wird, tritt bei der Bereitstellung ein Timeoutfehler auf, da der ursprüngliche virtuelle Computer als generalisiert gekennzeichnet und somit nicht verwendbar ist.

N4: Wenn ein spezialisiertes Linux-Betriebssystem als generalisiertes Betriebssystem erfasst wird, tritt ein Bereitstellungsfehler auf, da der neue virtuelle Computer mit dem ursprünglichen Computernamen, Benutzernamen und Kennwort ausgeführt wird. Darüber hinaus ist der ursprüngliche virtuelle Computer als spezialisiert gekennzeichnet und somit nicht verwendbar.

Lösung – Erfassungsfehler

Löschen Sie zur Behebung dieser Fehler das aktuelle Image über das Portal, und erfassen Sie es auf der Grundlage der aktuellen VHDs erneut. Verwenden Sie dabei die gleiche Einstellung (generalisiert/spezialisiert), die auch für das Betriebssystem verwendet wird.

Dieser Fehler tritt auf, wenn die Anforderung für einen neuen virtuellen Computer an einen Cluster gesendet wird, der entweder nicht über genügend Speicherplatz verfügt oder die angeforderte VM-Größe nicht unterstützt.

Ursache 1

Der Cluster unterstützt nicht die angeforderte Größe der VM.

Lösung 1

  • Wiederholen Sie die Anforderung mit einer geringeren Größe des virtuellen Computers.

  • Wenn die Größe des angeforderten virtuellen Computers nicht geändert werden kann:

    • Beenden Sie alle virtuellen Computer in der Verfügbarkeitsgruppe. Klicken Sie auf Ressourcengruppen>Ihre Ressourcengruppe>Ressourcen>Ihre Verfügbarkeitsgruppe>Virtuelle Computer>Ihr virtueller Computer>Beenden.
    • Nachdem alle virtuellen Computer beendet wurden, erstellen Sie den neuen virtuellen Computer in der gewünschten Größe.
    • Starten Sie zunächst den neuen virtuellen Computer, wählen Sie dann alle angehaltenen virtuellen Computer aus, und klicken Sie auf Starten.

Ursache 2

Der Cluster besitzt keine freien Ressourcen.

Lösung 2

  • Wiederholen Sie die Anforderung zu einem späteren Zeitpunkt.
  • Wenn der neue virtuelle Computer Teil einer anderen Verfügbarkeitsgruppe sein kann
    • Erstellen Sie einen neuen virtuellen Computer in einer anderen Verfügbarkeitsgruppe (in derselben Region).
    • Fügen Sie den neuen virtuellen Computer zum gleichen virtuellen Netzwerk hinzu.

Häufigste Probleme

Die folgenden Hauptprobleme können bei der Lösung Ihres Problems helfen. Um mit der Fehlerbehebung zu beginnen, lesen Sie diese Schritte:

Der Cluster unterstützt nicht die angeforderte Größe des virtuellen Computers.

  • Wiederholen Sie die Anforderung mit einer geringeren Größe des virtuellen Computers.
  • Wenn die Größe des angeforderten virtuellen Computers nicht geändert werden kann:
    • Beenden Sie alle virtuellen Computer in der Verfügbarkeitsgruppe. Klicken Sie auf Ressourcengruppen> Ihre Ressourcengruppe >Ressourcen> Ihr Verfügbarkeitsgruppe >Virtuelle Computer>Ihr virtueller Computer>Beenden.
    • Nachdem alle virtuellen Computer beendet wurden, erstellen Sie den virtuellen Computer in der gewünschten Größe.
    • Starten Sie zunächst den neuen virtuellen Computer, wählen Sie dann alle angehaltenen virtuellen Computer aus, und klicken Sie auf „Starten“.

Der Cluster besitzt keine freien Ressourcen.

  • Versuchen Sie die Anforderung später erneut.
  • Wenn der neue virtuelle Computer Teil einer anderen Verfügbarkeitsgruppe sein kann
    • Erstellen Sie einen virtuellen Computer in einer anderen Verfügbarkeitsgruppe (in derselben Region).
    • Fügen Sie den neuen virtuellen Computer zum gleichen virtuellen Netzwerk hinzu.

FAQ

Wie aktiviere ich mein monatliches Guthaben für Visual Studio Enterprise (BizSpark)

Um Ihr monatliches Guthaben zu aktivieren, lesen Sie diesen Artikel.

Warum kann ich den GPU-Treiber nicht für eine NV-VM mit Ubuntu installieren?

Derzeit ist Linux-GPU-Unterstützung nur auf virtuellen Azure NC-Computern verfügbar, die Ubuntu Server 16.04 LTS ausführen. Weitere Informationen finden Sie unter Einrichten von GPU-Treibern für virtuelle Computer der N-Serie unter Linux.

Meine Treiber fehlen auf meiner Linux-VM der N-Serie

Anleitungen zum Installieren der Treiber für Linux-basierte VMs finden Sie hier.

Ich kann keine GPU-Instanz in meinem virtuellen Computer der N-Serie finden

Nach der Bereitstellung müssen Sie auf jeder VM Grafiktreiber installieren, um die GPU-Funktionen von Azure-VMs der N-Serie nutzen zu können. Informationen zur Treibereinrichtung sind hier verfügbar.

Stehen VMs der N-Serie in meiner Region zur Verfügung?

Informationen zur Verfügbarkeit finden Sie in der Tabelle verfügbarer Produkte nach Region, und Informationen zu Preisen finden Sie hier.

Ich kann keine Größenfamilie für virtuelle Computer sehen, die ich bei der Größenänderung meines virtuellen Computers benötige

Wenn eine VM ausgeführt wird, wird Sie auf einem physischen Server bereitgestellt. Die physischen Server in Azure-Regionen werden in Clustern gemeinsamer physischer Hardware gruppiert. Das Ändern der Größe einer VM, das erfordert, dass die VM in andere Hardwareclustern verschoben wird, kann unterschiedlich sein, je nachdem, welches Bereitstellungsmodell zur Bereitstellung der VM verwendet wurde.

  • Für VMs, die im klassischen Bereitstellungsmodell bereitgestellt werden, muss die Clouddienstbereitstellung entfernt werden und erneut bereitgestellt werden, um die Größe der VMs in eine andere Größenfamilie zu ändern.

  • Für die im Resource Manager-Bereitstellungsmodell bereitgestellten virtuellen Computer müssen Sie alle VMs in der Verfügbarkeitsgruppe anhalten, bevor Sie die Größe einer VM in der Verfügbarkeitsgruppe ändern.

Die aufgelistete Größe des virtuellen Computers wird bei der Bereitstellung in der Verfügbarkeitsgruppe nicht unterstützt

Wählen Sie eine Größe aus, die im Verfügbarkeitsgruppencluster unterstützt wird. Es wird empfohlen, dass Sie beim Erstellen der Verfügbarkeitsgruppe die größte VM-Größe auswählen, von der Sie glauben, dass Sie sie benötigen. Diese ist dann Ihre erste Bereitstellung für die Verfügbarkeitsgruppe.

Welche Linux-Verteilungen bzw. -Versionen werden in Azure unterstützt?

Sie können die Liste unter Linux auf von Azure unterstützten Verteilungen finden.

Kann ich einen vorhandenen klassischen virtuellen Computer zu einer Verfügbarkeitsgruppe hinzufügen?

Ja. Sie können einen vorhandenen klassischen virtuellen Computer in eine neue oder vorhandene Verfügbarkeitsgruppe hinzufügen. Weitere Informationen finden Sie unter Fügen Sie einer Verfügbarkeitsgruppe einen vorhandenen virtuellen Computer hinzu.

Wichtig

Klassische VMs werden am 1. September 2023 eingestellt.

Wenn Sie IaaS-Ressourcen von ASM nutzen, schließen Sie bitte Ihre Migration bis zum 1. September 2023 ab. Wir empfehlen Ihnen, den Wechsel früher vorzunehmen, um die vielen Funktionsverbesserungen in Azure Resource Manager zu nutzen.

Weitere Informationen finden Sie unter Migrieren Sie Ihre IaaS-Ressourcen bis zum 1. September 2023 zu Azure Resource Manager.

Nächste Schritte

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.