Condividi tramite


Risolvere i problemi di convalida della distribuzione del portale di Azure per Azure Locale

** Si applica a: Azure locale 2405 e versioni successive

Questo articolo fornisce indicazioni su come risolvere i problemi di convalida della distribuzione riscontrati durante la distribuzione di Azure Local tramite il portale di Azure.

Errore - Errore di convalida della distribuzione

Quando si distribuisce Azure Locale tramite il portale di Azure, è possibile che si verifichi un errore di convalida della distribuzione. L'attività di convalida "Rete locale di Azure - Controllare i requisiti di rete" ha esito negativo con l'errore seguente:

Could not complete the operation. 400: Resource creation validation failed. Details:
[{"Code":"AnswerFileValidationFailed","Message":"Errors in Value Validation:\r\nPhysicalNodesValidator
found error at deploymentdata.physicalnodes[0].ipv4address: The specified  for 
\u0027deploymentdata.physicalnodes[0].ipv4address\u0027 is not a valid IPv4 address.
Example: 192.168.0.1 or 192.168.0.1","Target":null,"Details":null}].

Se vai alla scheda Rete nel portale di distribuzione di Azure, nella configurazione dell'Intento di Rete, è possibile che venga visualizzato l'errore seguente:

The selected physical network adapter is not binded to the management virtual switch.

Causa

Questo problema si verifica nelle distribuzioni attivate dopo il 6 agosto. Il problema si verifica se la convalida della distribuzione è stata attivata nel sistema e il risultato della convalida è stato un errore, con tentativi di convalida successivi.

Il problema si verifica per il motivo seguente:

  • La convalida nel dispositivo crea un commutatore di macchina virtuale per i test correlati alla rete e viene eliminato alla fine dei test.
  • DeviceManagementExtension l'estensione non rileva l'eliminazione del commutatore di macchina virtuale.

Il processo di risoluzione in più passaggi include i passaggi seguenti:

Nota

Tutti i passaggi di questo articolo devono essere eseguiti sul nodo seed.

Rimuovere il blocco dal nodo di inizializzazione

Seguire questa procedura per rimuovere il blocco dal nodo di inizializzazione:

  1. Per rimuovere il blocco, nel portale di Azure, passare all'oggetto attraverso il gruppo di risorse o alla voce Macchine - Azure Arc.
  2. Nel riquadro sinistro passare a Impostazioni > Blocchi. Verrà visualizzato un blocco denominato DoNotDelete. Si tratta del blocco automatico delle risorse creato al momento dell'onboarding del nodo.
  3. Selezionare Elimina contro il lucchetto.

Se si tentano i passaggi nella sezione successiva senza rimuovere il blocco, il comando Delete ha esito negativo con l'errore seguente:

Some resources failed to be deleted (run with `--verbose` for more information):
/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default

Ecco l'output di esempio quando viene eseguito con l'opzione --verbose :

(ScopeLocked) The scope '/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Code: ScopeLocked
Message: The scope '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.

Rimuovere l'errore di convalida

Dopo aver rimosso il blocco, seguire questa procedura per rimuovere l'errore di convalida.

  1. Connettersi al nodo di inizializzazione. Eseguire il comando PowerShell seguente:

    Get-VMSwitch
    
  2. Controllare l'output del comando Get-VMSwitch per eventuali commutatori imprevisti della VM, ad esempio, il commutatore creato durante il passaggio Convalida di rete, con un nome simile a: "ConvergedSwitch(compute_management)". Il nome esatto del commutatore dipende dalla configurazione della finalità di rete scelta.

  3. Se esiste un commutatore di macchina virtuale che non è stato creato intenzionalmente, rimuovere il commutatore. Eseguire il comando PowerShell seguente:

    Remove-VMSwitch -Name "<VM Switch Name>" -Force
    

    Assicurarsi di usare il nome del commutatore della macchina virtuale nel comando Get-VMSwitch. Se non è stato creato intenzionalmente un commutatore di macchina virtuale, il Get-VMSwitch comando non ha risultati. L'errore si verifica perché il passaggio di convalida della rete ha pulito il commutatore della macchina virtuale, ma DeviceManagementExtension non ha rilevato la pulizia.

Continuare con i passaggi di pulizia.

Pulire la risorsa di Azure del dispositivo Edge con informazioni sullo switch VM non corrette.

Dopo aver rimosso il VM switch sul dispositivo, pulire la risorsa del dispositivo Edge ARM contenente le informazioni errate sul VM switch tramite Azure CLI.

  1. In un client che può accedere ad Azure, verificare l'installazione dell'interfaccia della riga di comando di Azure (CLI) o installarla: Installare l'interfaccia della riga di comando di Azure su Windows

    • È possibile verificare l'installazione eseguendo: az
    • Se installato, restituisce un "Welcome to Azure CLI!" messaggio con i comandi disponibili.
  2. Accedere ad Azure con l'interfaccia della riga di comando di Azure. Esegui questo comando:

    az login --tenant <tenant ID> --use-device-code
    

    Per ulteriori informazioni, accedi interattivamente con Azure CLI

  3. Per impostare una sottoscrizione specifica, eseguire il comando seguente:

    az account set --subscription "<Subscription ID>"
    

    Sostituire il valore nel comando di esempio precedente con il valore appropriato per <Subscription ID>.

  4. Esporta i dati contenuti nella risorsa edgeDevices che hanno informazioni sul commutatore di macchine virtuali archiviate in modo errato. Esegui questo comando:

    az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    Sostituire i valori nel comando di esempio precedente con i valori appropriati per:<Subscription ID>, <Resource Group Name>e <Machine Name>.

    Ecco un output di esempio:

    az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/ASRR1N26R15U33/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    L'output di questo comando mostra un po' di dettaglio sul nome< del >computer usato nel comando. Nella parte inferiore dell'output è presente una sezione per "switchDetails", che probabilmente mostrerà quanto segue (ovvero lo switch VM di validazione, che è stato creato e ripulito sul dispositivo, ma non è stato rilevato da DeviceManagementExtension e quindi non aggiornato sul lato cloud): "switchName": "ConvergedSwitch(managementcompute)","switchType": "External"

  5. Dopo aver confermato che il comando show ha funzionato generando l'output dei dati edgeDevices e probabilmente verificato il "switchDetails", è il momento di recuperare la risorsa delete da ARM in modo che possa essere aggiornata correttamente dal nodo di inizializzazione.

    Nota

    L'eliminazione dei edgeDevices dati è un'azione sicura da eseguire, ma deve essere eseguita solo se specificata in modo esplicito. Non eseguire questa azione a meno che non sia consigliabile farlo.

  6. Eliminare la edgeDevices risorsa con le informazioni sul commutatore di macchina virtuale archiviate in modo non corretto. Esegui questo comando:

    az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    Sostituire i valori (ricordarsi di rimuovere anche i <> caratteri) con i valori appropriati per: <subGUID><resourceGROUPNAME><Machine Name>

    Si tratta della stessa risorsa --ids di show, quindi è possibile usare solo la stessa stringa. In effetti, è possibile semplicemente "freccia su" nella console e sostituire show con delete.

    Ecco un output di esempio:

    `az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    Quando viene eseguito, non è disponibile alcun output da questo comando. Il comando funziona e restituisce il prompt dei comandi oppure presenta un errore. Non dovrebbe presentare un errore, ma in caso affermativo, ciò richiederà più risoluzione dei problemi.

  7. Verificare l'eliminazione della risorsa eseguendo di nuovo il show comando . Ecco un output di esempio:

    (ResourceNotFound) The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
    Code: ResourceNotFound
    Message: The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
    

Aggiornare i dati cloud edgeDevices

Con la risorsa ARM e tutte le commutazioni non intenzionali della macchina virtuale rimosse, aggiornare di nuovo i dati dal lato cloud edgeDevices.

Per aggiornare i dati cloud, seguire questa procedura:

  1. Riavvia il DeviceManagementService sul nodo seed. Eseguire il comando PowerShell seguente:

     Restart-Service DeviceManagementService
    
  2. Attendere alcuni minuti e verificare che i dati cloud edgeDevices siano aggiornati e riflettano lo stato corrente. Eseguire di nuovo il show comando ed esaminare l'output. Assicurarsi che l'output non contenga più commutatori imprevisti della macchina virtuale, vale a dire:

    "switchName": "ConvergedSwitch(managementcompute)", "switchType": "External"

Riavviare la distribuzione tramite portale di Azure

Con i dati del dispositivo e del cloud ora sincronizzati, è possibile passare alla portale di Azure e fornire gli input di distribuzione. Il passaggio precedente impedisce eventuali informazioni memorizzate nella cache da tentativi precedenti.

Seguire questa procedura nel portale di Azure:

  1. Nella scheda Informazioni di base, fornire i tuoi input (selezionando di nuovo dagli elenchi a discesa) nei campi in alto.

  2. Deselezionare i nodi nella parte inferiore della pagina.

  3. Riconvalidare i nodi selezionati di nuovo.

  4. Confermare le informazioni nelle pagine successive. Verranno visualizzate le modifiche seguenti:

    • Nella pagina Rete non dovrebbe più essere visualizzato l'errore The selected physical network adapter is not binded to the management virtual Switch visualizzato in precedenza.
    • Nella pagina Convalida alla fine, se si supera il problema originale, l'errore deploymentdata.physicalnodes[0].ipv4address is not a valid IPv4 address non verrà visualizzato.
  5. Se non si verificano altri problemi di convalida, avviare la distribuzione.

Ricreare il blocco sulla risorsa del nodo di inizializzazione

Al termine della mitigazione, è consigliabile ricreare il blocco sulla risorsa.

Per ricreare il blocco, seguire questa procedura:

  1. Nel portale di Azure, vai all'oggetto tramite il gruppo di risorse o all'interno di Macchine - Azure Arc.
  2. Passare a Impostazioni > Blocchi.
  3. Selezionare + Aggiungi nella parte superiore della pagina.
    1. Per Nome blocco, immettere DoNotDelete.
    2. Per Tipo di blocco selezionare Elimina dall'elenco a discesa.
  4. Selezionare OK per salvare il blocco.