Freigeben über


Fehler beim Ändern der Größe des Azure-Batchpools

Wenn Sie einen Batchpool erstellen, wird der Vorgang erfolgreich ausgeführt. Es werden jedoch keine Knoten bereitgestellt, und im Übersichtsbereich des erstellten Pools wird eine Warnung angezeigt (siehe den folgenden Screenshot als Beispiel). Die Warnung gibt an, dass die gewünschte Anzahl dedizierter Knoten nicht zugeordnet werden konnte. In diesem Artikel wird beschrieben, wie Sie fehler beim Ändern der Größe eines Azure-Batchpools beheben.

Screenshot der Warnung zum Zuweisungsfehler.

Symptom für Szenario 1

Nachdem Sie auf die Warnung zugegriffen haben, wird die folgende Fehlermeldung angezeigt:

Code: AllocationFailed
Meldung:
Gewünschte Anzahl von dedizierten Knoten konnte nicht zugeordnet werden
Werte: Grund: Fehler bei der Zuordnung, da das Subnetz externe Ressourcen delegiert hat.

Ursache: Subnetz hat Delegierung zu einer Dienstressource

Dieser Fehler tritt auf, da das von Ihnen verwendete Subnetz eine Delegierung an einen Dienst hat. Mit dieser Netzwerkeigenschaft können Sie dedizierte Azure-Dienste im virtuellen Netzwerk bereitstellen, um mit den Dienstressourcen privat über private IP-Adressen zu kommunizieren. Dieses Feature wird jedoch weiterhin vom Azure-Batchdienst nicht unterstützt.

Lösung: Subnetzdelegierung deaktivieren

Um dieses Problem zu beheben, deaktivieren Sie die Subnetzdelegierung mithilfe der Vorlage Azure-Portal, PowerShell, Azure CLI oder Azure Resource Manager. Anschließend können Sie Batchknoten zuordnen.

Weitere Informationen finden Sie unter Hinzufügen oder Entfernen einer Subnetzdelegierung in einem virtuellen Azure-Netzwerk.

Szenario 2: Die ausgewählte VM-Größe unterstützt kein Image der Generation 2.

Symptom für Szenario 2

Nachdem Sie auf die Warnung zugegriffen haben, wird die folgende Fehlermeldung angezeigt:

Code: AllocationFailed
Meldung:
Gewünschte Anzahl von dedizierten Knoten konnte nicht zugeordnet werden
Werte:
Anbieterfehler json - {
"error": {
"code": "BadRequest",
"message": "Die ausgewählte VM-Größe 'STANDARD_A1_V2' kann die Hypervisor-Generation '2' nicht starten. Wenn es sich um einen Create-Vorgang handelte, überprüfen Sie, ob die Hypervisorgenerierung des Images mit der Hypervisor-Generation der ausgewählten VM-Größe übereinstimmt. Wenn es sich um einen Updatevorgang handelt, wählen Sie bitte eine VM-Größe der Hypervisorgeneration "2" aus."
}
}
Anbieterfehler json abgeschnitten - False

Ursache: Ausgewählte Image- und VM-Größe sind nicht kompatibel

Dieser Fehler tritt auf, da das ausgewählte Image und die VM-Größe nicht kompatibel sind.

In diesem Szenario verfügt das ausgewählte Image über Hypervisor Generation 2, während die ausgewählte VM-Größe die Hypervisor-Generation 2 nicht unterstützt.

Einige VM-Größen unterstützen nur Images der 2. Generation. Wenn Sie ein Image mit Hypervisor Generation 1 und einer VM-Größe auswählen, die nur Hypervisor Generation 2 unterstützt, tritt ein ähnlicher Fehler auf.

Lösung 1: Wählen Sie eine VM-Größe aus, die der Hypervisorgenerierung des VM-Images entspricht, oder umgekehrt.

Um dieses Problem zu beheben, wählen Sie eine VM-Größe aus, die der Hypervisor-Generation des VM-Images entspricht oder umgekehrt. Einige VM-Größen unterstützen sowohl Hypervisor Generation 1 als auch 2. Weitere Informationen finden Sie unter Azure-Support für VMs der Generation 2.

Lösung 2: Erstellen eines benutzerdefinierten Images

Wenn das zu verwendende Image die vm-Größe, die Sie verwenden möchten, nicht unterstützt, erstellen und verwenden Sie ein benutzerdefiniertes Image der VM, die die Hypervisorgenerierung unterstützt.

Weitere Informationen finden Sie im Lernprogramm – Erstellen von benutzerdefinierten VM-Images mit der Azure CLI.

Wenn Sie die Bilddefinition erstellen, wird das Bild standardmäßig von Generation 1 erstellt.

Wenn Sie die Generation 2 verwenden möchten, geben Sie sie mithilfe des az sig image-definition create Befehls an, wie im folgenden Beispiel gezeigt:

az sig image-definition create --resource-group myGalleryRG --gallery-name myGallery --gallery-image-definition myImageDefinition --publisher myPublisher --offer myOffer --sku mySKU --os-type Linux --os-state specialized --hyper-v-generation V2

Symptom für Szenario 3

Nachdem Sie auf die Warnung zugegriffen haben, wird einer der folgenden Fehler angezeigt:

  • "AccountCoreQuotaReached"

    Screenshot des Fehlercodes

    Dieser Fehler bedeutet, dass das Kontingent für die gesamte dedizierte vCPUs erreicht ist.

  • "AccountLowPriorityCoreQuotaReached"

    Screenshot des Fehlercodes

    Dieser Fehler bedeutet, dass das Kontingent für dedizierte vCPUs pro VM-Serie erreicht ist.

  • "AccountVMSeriesCoreQuotaReached"

    Dieser Fehler bedeutet, dass das Kontingent für Spot/VCPUs mit niedriger Priorität erreicht ist.

Ursache: Kernkontingente sind nicht ausreichend

Das Azure Batch-Konto ist in der Anzahl der Kerne begrenzt, die es über alle Pools hinweg zuordnen kann. Sobald dieses Kontingent erschöpft ist, werden von Azure Batch keine weiteren Knoten zugeordnet.

Azure Batch verfügt über unterschiedliche Kerngrenzwerte und Kontingente auf verschiedenen Ebenen: Spot/Low-Priority vCPUs, Total dedicated vCPUs und Dedicated vCPUs pro VM Series. Sie können Ihre aktuellen Kernkontingente über das Batchkontingent wie unten gezeigt überprüfen:

Screenshot, der zeigt, wie Kernkontingente überprüft werden.

Wie in der Warnung in diesem Screenshot erwähnt, werden beim Zuordnen dedizierter Knoten sowohl das gesamte dedizierte vCPU-Kontingent als auch die dedizierte vCPU pro VM-Reihenkontingent erzwungen.

Für Spot-/Knoten mit niedriger Priorität erzwingt Batch nur ein Gesamtkernkontingent für das Batchkonto ohne Unterscheidung zwischen verschiedenen VM-Reihen.

Wenn Sie ein Batchkonto erstellt haben, bei dem der Poolzuweisungsmodus auf das Benutzerabonnement festgelegt ist, werden Batch-VMs und andere Ressourcen direkt in Ihrem Abonnement erstellt, wenn ein Pool erstellt oder die Größe geändert wird. Die Azure Batch-Kernkontingente gelten nicht, und die Kontingente in Ihrem Abonnement für regionale Computekerne, pro Datenreihe berechnen Kerne und andere Ressourcen werden verwendet und erzwungen. Weitere Informationen zu diesen Kontingenten finden Sie unter Einschränkungen für Azure-Abonnements und -Dienste, Kontingente und Einschränkungen.

Lösung: Erhöhung des Anforderungskontingents

  1. Überprüfen Sie die Batchkontokontingente in der Azure-Portal:

    1. Melden Sie sich beim Azure-Portal an.
    2. Wählen Sie Batch-Konten aus, oder suchen Sie danach.
    3. Wählen Sie auf der Seite Batch-Konten das Batch-Konto aus, das Sie überprüfen möchten.
    4. Wählen Sie im Menü des Batch-Kontos unter Einstellungen die Option Kontingente aus.
    5. Zeigen Sie die Kontingente an, die derzeit für das Batch-Konto gelten.
  2. Fordern Sie basierend auf den Kontingentanforderungen eine Kontingenterhöhung für Ihr Batchkonto oder Ihr Abonnement mithilfe der Azure-Portal oder mithilfe der Azure-Kontingent-REST-API an.

    Die Art der Kontingenterhöhung richtet sich nach dem Poolzuordnungsmodus Ihres Batch-Kontos. Um eine Erhöhung des Kontingents anzufordern, müssen Sie die VM-Serien angeben, deren Kontingent erhöht werden soll. Wenn die Erhöhung des Kontingents angewendet wird, gilt sie für alle VM-Serien.

    Wenn Sie Ihre Anforderung erstellen, können Sie die folgenden beiden Kontingenttypen auswählen:

    • Wählen Sie Pro Batch-Konto aus, um Kontingenterhöhungen für ein einzelnes Batch-Konto anzufordern. Diese Kontingenterhöhungen können dedizierte und Spotkerne und die Anzahl der Aufträge und Pools umfassen. Wenn Sie diese Option auswählen, geben Sie das Batch-Konto an, für das diese Anforderung gilt. Wählen Sie dann die Kontingente aus, die Sie aktualisieren möchten, und geben Sie den neuen Grenzwert an, den Sie für jede Ressource anfordern. Das Spot-Kontingent ist ein einzelner Wert für alle VM-Serien. Wenn Sie eingeschränkte SKUs benötigen, wählen Sie Spot-Kerne aus, und geben Sie die anzufordernden VM-Familien an.

    • Wählen Sie Alle Konten in dieser Region aus, um Kontingenterhöhungen anzufordern, die für alle Batch-Konten in einer Region gelten. Verwenden Sie beispielsweise diese Option, um die Anzahl der Batch-Konten pro Region und Abonnement zu erhöhen.

    Nachdem Sie Ihre Supportanfrage übermittelt haben, kontaktiert Azure-Support Sie. Kontingentanfragen können innerhalb weniger Minuten abgeschlossen werden oder bis zu zwei Werktage dauern. Sobald die Kontingentanforderung abgeschlossen oder erfüllt wurde, sollte die Poolerstellung erfolgreich sein.

Szenario 4: Vorübergehender interner Serverfehler beim Ändern der Größe des Batchpools

Symptom für Szenario 4

Der Batchpool wird einige Zeit lang normal ausgeführt. Unerwarteter Fehler beim Größenänderungsvorgang mit einem internen Serverfehler, oder der Größenänderungsvorgang blieb im Größenänderungszustand.

Dies ist die Fehlermeldung:

Code: AllocationFailed
Meldung:
Gewünschte Anzahl von dedizierten Knoten konnte nicht zugeordnet werden
Werte:
Grund: Der Server hat einen internen Fehler festgestellt.

Ursache: Vorübergehendes internes Serverproblem

Der Batchdienst kann gelegentlich Störungen oder regionale Infrastrukturprobleme verursachen, die sich auf die Leistung auswirken können.

Lösung: Wiederholen Sie den Vorgang zum Ändern der Größe, erstellen Sie einen neuen Pool, oder verwenden Sie eine andere Region.

Verwenden Sie die folgenden Methoden, um die Auswirkungen auf Ihre Produktion zu verringern:

  • Wiederholen Sie ihre Größenänderungsanforderung nach ein paar Minuten.
  • Erstellen Sie einen neuen Pool.
  • Verwenden Sie den Batchdienst in einer anderen verfügbaren Region als Failover, wenn die oben genannten Methoden nicht hilfreich sind.

Szenario 5: Unzureichende Kapazität für die angeforderte VM-Größe in der aktuellen Region

Symptom für Szenario 5

Der Batchpool wird einige Zeit lang normal ausgeführt. Der Größenänderungsvorgang ist jedoch mit einem unzureichenden Kapazitätsfehler fehlgeschlagen, oder der Größenänderungsvorgang blieb im Größenänderungszustand.

Dies ist die Fehlermeldung:

Code: AllocationFailed
Meldung:
Gewünschte Anzahl von dedizierten Knoten konnte nicht zugeordnet werden
Werte:
Grund: Fehler bei der Bereitstellungszuweisung aufgrund unzureichender Kapazität für die angeforderte VM-Größe in der Region.

Ursache: Infrastrukturbeschränkungen

Der Batchdienst kann aufgrund einiger Infrastrukturbeschränkungen diese Probleme verursachen. Sie bezieht sich nicht auf das Kernkontingent der Benutzer.

Lösung: Wiederholen Sie den Vorgang zum Ändern der Größe, erstellen Sie einen neuen Pool mit einer anderen VM-Größe, oder verwenden Sie eine andere Region.

Probieren Sie die folgenden Methoden aus, um dieses Problem zu beheben:

  • Wiederholen Sie den Vorgang zum Ändern der Größe.

    Die Ressourcenverfügbarkeit kann sich ändern, da Ressourcen ständig im Cluster, in der Region oder in der Zone freigegeben werden.

  • Ändern Sie die Größe des virtuellen Computers, und erstellen Sie einen neuen Pool mit einer anderen VM-Größe.

  • Verwenden Sie den Batchdienst in einer anderen verfügbaren Region.

Szenario 6: Azure Batch-Dienstberechtigungsproblem

Symptom für Szenario 6

Die folgende Fehlermeldung wird im Übersichtsbereich des Pools angezeigt:

Fehler beim Ändern der Größe:
Die gewünschte Anzahl dedizierter Knoten konnte nicht zugeordnet werden (Code: AllocationFailed)
Details:
– Azure Batch Service verfügt nicht über die gewünschten Berechtigungen zum Ausführen eines Poolvorgangs. (Code: Reason)

Ursache: Der Azure Batch-Dienst verfügt nicht über die Berechtigung zum Verwalten von Computeressourcen.

Dieser Fehler tritt nur im Zuordnungsmodus des Benutzerabonnements auf. Wenn ein Pool erstellt wird, werden die Compute- und VM-bezogenen Ressourcen für diesen Pool im Zuordnungsmodus des Benutzerabonnements direkt im Batchkontoabonnement erstellt. Daher benötigt der Azure Batch-Dienst die richtige Berechtigung (die Rolle "Mitwirkender " oder "Besitzer "), um diese Compute- und VM-bezogenen Ressourcen im Abonnement eines Benutzers zu verwalten.

Lösung: Erteilen der richtigen Berechtigungen für Microsoft Azure Batch

  1. Suchen Sie im Azure-Portal nach Abonnements, und wählen Sie den Eintrag aus.
  2. Wählen Sie auf der Seite Abonnements das Abonnement aus, das Sie für das Batch-Konto verwenden möchten.
  3. Wählen Sie im linken Navigationsbereich auf Zugriffssteuerung (IAM) .
  4. Wählen Sie oben auf der Seite Zugriffssteuerung (IAM) die Optionen Hinzufügen>Rollenzuweisung hinzufügen aus.
  5. Wählen Sie auf dem Bildschirm Rollenzuweisung hinzufügen unter Zuweisungstyp die Option Privilegierte Administratorrolle und dann Weiter aus.
  6. Wählen Sie auf der Registerkarte "Rolle " die Rolle "Mitwirkender " oder "Besitzer " für das Batchkonto und dann " Weiter" aus.
  7. Wählen Sie auf der Registerkarte Mitglieder die Option Mitglieder auswählen aus. Suchen Sie auf dem Bildschirm Mitglieder auswählen nach dem Eintrag Microsoft Azure Batch, wählen Sie ihn aus, und wählen Sie dann Auswählen aus.
  8. Wählen Sie die Registerkarte "Überprüfen+ Zuweisen" und dann "Zuweisen" aus.

Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Ihr Abonnement für Azure Batch.

Szenario 7: Schlüsseltresorberechtigungsproblem

Symptom für Szenario 7

Die folgende Fehlermeldung wird im Übersichtsbereich des Pools angezeigt:

Fehler beim Ändern der Größe:
Die gewünschte Anzahl dedizierter Knoten konnte nicht zugeordnet werden (Code: AllocationFailed)
Details:
– Die Zuordnung ist fehlgeschlagen, da batch nicht berechtigt ist, auf den Schlüsseltresor zuzugreifen. (Code: Reason)

Ursache: Der Azure Batch-Dienst verfügt nicht über die Berechtigung für den Zugriff auf den zugehörigen Schlüsseltresor.

Dieser Fehler tritt nur im Zuordnungsmodus des Benutzerabonnements auf. Im Zuordnungsmodus des Benutzerabonnements muss Azure Batch auf den zugeordneten Azure Key Vault zugreifen, um geheime Schlüssel für Pooländerungsvorgänge zu verwalten.

Lösung: Gewähren des Zugriffs auf den Schlüsseltresor

  1. Wählen Sie im Azure Batch-Portal "Eigenschaften" aus der linken Navigation aus.

  2. Suchen Sie unten auf der Seite den Namen des zugeordneten Azure Key Vault.

  3. Suchen Und wählen Sie den zugeordneten Azure Key Vault aus.

  4. Wählen Sie die Access-Konfiguration unter "Einstellungen" aus der linken Navigation aus.

  5. Überprüfen Sie das Berechtigungsmodell Ihres Schlüsseltresors.

    Wenn das Schlüsseltresor-Berechtigungsmodell die rollenbasierte Zugriffssteuerung von Azure ist, führen Sie die folgenden Schritte aus:

    1. Wählen Sie auf der Seite für den Schlüsseltresor im linken Navigationsmenü die Option Zugriffssteuerung (IAM) aus.

    2. Wählen Sie oben auf der Seite Zugriffssteuerung (IAM) die Optionen Hinzufügen>Rollenzuweisung hinzufügen aus.

    3. Wählen Sie auf dem Bildschirm "Rollenzuweisung hinzufügen" unter der Registerkarte "Rolle" unter der Untertabelle "Rollen der Funktion "Auftrag" die Rolle "Schlüsseltresorgeheimnisse" oder "Schlüsseltresoradministrator" für das Batchkonto aus, und wählen Sie dann "Weiter" aus.

    4. Wählen Sie auf der Registerkarte Mitglieder die Option Mitglieder auswählen aus. Suchen Sie auf dem Bildschirm Mitglieder auswählen nach dem Eintrag Microsoft Azure Batch, wählen Sie ihn aus, und wählen Sie dann Auswählen aus.

    5. Wählen Sie "Überprüfen" und "Erstellen" unten aus, um zur Registerkarte "Überprüfen+ Zuweisen" zu wechseln, und wählen Sie dann erneut "Überprüfen+ erstellen" aus.

    Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

    Wenn das Schlüsseltresor-Berechtigungsmodell die Richtlinie für den Tresorzugriff ist, führen Sie die folgenden Schritte aus:

    1. Wählen Sie auf der Seite für den Schlüsseltresor im linken Navigationsmenü die Option Zugriffsrichtlinien aus.

    2. Wählen Sie auf der Seite Zugriffsrichtlinien die Option Erstellen aus.

    3. Wählen Sie auf dem Bildschirm "Zugriffsrichtlinie erstellen" unter "Geheime Berechtigungen" mindestens die Berechtigungen "Abrufen", "Liste", "Festlegen" und "Löschen" aus. Wählen Sie für Schlüsseltresore mit aktiviertem vorläufigem Löschen auch Wiederherstellen aus.

      Screenshot der geheimen Schlüsseltresor-Berechtigung.

    4. Wählen Sie Weiter aus.

    5. Suchen Sie auf der Registerkarte Prinzipal nach Microsoft Azure Batch, und wählen Sie den Eintrag aus.

    6. Wählen Sie die Registerkarte Überprüfen + Erstellen und dann Erstellen aus.

Weitere Informationen finden Sie unter Manuelles Gewähren des Zugriffs auf den Schlüsseltresor.

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.