Risolvere i problemi di convalida della distribuzione portale di Azure per Azure Stack HCI versione 23H2
Si applica a: Azure Stack HCI, versione 23H2 che esegue la versione 2405 o successiva
Questo articolo fornisce indicazioni su come risolvere i problemi di convalida della distribuzione riscontrati durante la distribuzione del cluster Azure Stack HCI tramite il portale di Azure.
Errore - Errore di convalida della distribuzione
Quando si distribuisce Azure Stack HCI versione 23H2 tramite il portale di Azure, è possibile che si verifichi un errore di convalida della distribuzione. L'attività di convalida "Rete Azure Stack HCI - 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 si passa alla scheda Rete in portale di Azure distribuzione, nella configurazione della finalità 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 cluster 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.
Risoluzione consigliata
Il processo di risoluzione in più passaggi include i passaggi seguenti:
- Rimuovere il blocco dal nodo di inizializzazione
- Rimuovere l'errore di convalida
- Pulire la risorsa azure del dispositivo Perimetrale con informazioni sull'opzione di macchina virtuale non corrette
- Aggiornare i dati cloud
- Riavviare la distribuzione tramite portale di Azure
- Ricreare il blocco sulla risorsa del nodo di inizializzazione
Nota
Tutti i passaggi descritti in questo articolo devono essere eseguiti nel nodo di inizializzazione.
Rimuovere il blocco dal nodo di inizializzazione
Seguire questa procedura per rimuovere il blocco dal nodo di inizializzazione:
- Per rimuovere il blocco, nella portale di Azure passare all'oggetto tramite il gruppo di risorse o all'interno di Computer - Azure Arc.
- 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.
- Selezionare Elimina per il blocco.
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.
Connettersi al nodo di inizializzazione. Eseguire il comando PowerShell seguente:
Get-VMSwitch
Controllare l'output del comando per eventuali commutatori imprevisti della
Get-VMSwitch
macchina virtuale, ad esempio il commutatore creato durante il passaggio Convalida di rete e ha un nome simile al seguente:"ConvergedSwitch(compute_management)"
. Il nome esatto del commutatore dipende dalla configurazione della finalità di rete scelta.Se esiste un commutatore di macchina virtuale che non è stato creato intenzionalmente, rimuovere l'opzione. Eseguire il comando PowerShell seguente:
Remove-VMSwitch -Name "<VM Switch Name>" -Force
Assicurarsi di usare il nome del commutatore della macchina virtuale dal
Get-VMSwitch
comando . Se non è stato creato intenzionalmente un commutatore di macchina virtuale, ilGet-VMSwitch
comando non ha risultati. L'errore si verifica perché il passaggio di convalida della rete ha pulito il commutatore della macchina virtuale, maDeviceManagementExtension
non ha rilevato la pulizia.
Continuare con i passaggi di pulizia.
Pulire la risorsa azure del dispositivo Perimetrale con informazioni sull'opzione di macchina virtuale non corrette
Dopo aver rimosso l'interruttore della macchina virtuale nel dispositivo, pulire la risorsa Arm del dispositivo Edge contenente le informazioni sull'opzione di macchina virtuale non corretta tramite l'interfaccia della riga di comando di Azure.
In un client che può accedere ad Azure, verificare l'installazione o l'installazione dell'interfaccia della riga di comando di Azure: Installare l'interfaccia della riga di comando di Azure in Windows
- È possibile verificare l'installazione eseguendo:
az
- Se installato, restituisce un
"Welcome to Azure CLI!"
messaggio con i comandi disponibili.
- È possibile verificare l'installazione eseguendo:
Accedere ad Azure con l'interfaccia della riga di comando di Azure. Esegui questo comando:
az login --tenant <tenant ID> --use-device-code
Per altre informazioni, accedere in modo interattivo con l'interfaccia della riga di comando di Azure
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>
.Generare l'output dei dati archiviati all'interno della
edgeDevices
risorsa con le informazioni sul commutatore di macchina virtuale archiviate in modo non corretto. 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 il commutatore di macchina virtuale di convalida creato e pulito nel dispositivo, ma non è stato rilevato da DeviceManagementExtension e aggiornato sul lato cloud):"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Dopo aver confermato che il
show
comando ha funzionato eseguendo l'output deiedgeDevices
dati e confermando probabilmente ,"switchDetails"
è il momento di passare alladelete
risorsa da ARM in modo che possa essere aggiornato in modo appropriato 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.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
dishow
, quindi è possibile usare solo la stessa stringa. In effetti, è possibile semplicemente "freccia su" nella console e sostituireshow
condelete
.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.
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 opzioni non intenzionali della macchina virtuale rimosse, aggiornare di nuovo i dati sul lato edgeDevices
cloud.
Per aggiornare i dati cloud, seguire questa procedura:
Riavviare nel nodo di
DeviceManagementService
inizializzazione. Eseguire il comando PowerShell seguente:Restart-Service DeviceManagementService
Attendere alcuni minuti e verificare che i dati cloud
edgeDevices
siano aggiornati e riflettano lo stato corrente. Eseguire di nuovo ilshow
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:
Nella scheda Informazioni di base specificare gli input (selezionando di nuovo dagli elenchi a discesa) ai campi dall'alto.
Deselezionare i nodi nella parte inferiore della pagina.
Riconvalidare i nodi selezionati di nuovo.
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.
- Nella pagina Rete non dovrebbe più essere visualizzato l'errore
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:
- Nel portale di Azure passare all'oggetto tramite il gruppo di risorse o all'interno di Computer - Azure Arc.
- Passare a Impostazioni > Blocchi.
- Selezionare + Aggiungi nella parte superiore della pagina.
- Per Nome blocco immettere DoNotDelete.
- Per Tipo di blocco selezionare Elimina dall'elenco a discesa.
- Selezionare OK per salvare il blocco.