LCM Controller dell’estensione Azure Stack HCI 23H2 (build 2311.2) può fallire l’installazione o avviarsi in modo irregolare su alcuni nodi. In questa guida trovi cause note, sintomi, procedura di ripristino passo‑passo e controlli di verifica, con focus su ambienti multi‑nodo.
Panoramica
L’estensione Microsoft.AzureStackHCI.LCM.DSC (“LCM Controller”) gestisce l’orchestrazione di configurazioni DSC (Desired State Configuration) e attività di Lifecycle/Compliance su Azure Stack HCI. Nella release 23H2 build 2311.2 è stato individuato un bug che può impedire l’installazione o lasciare l’estensione in stato Failed
/Provisioning failed
. Il problema è circoscritto al software dell’estensione: non impatta i dati e non richiede la ricreazione del cluster.
Chi è coinvolto
- Cluster Azure Stack HCI 23H2 con estensione LCM Controller build 2311.2.
- Topologie multi‑nodo dove l’estensione può riuscire su alcuni nodi e fallire su altri.
- Cluster con connettività Azure Arc (porte 443/TLS) soggetti a policy proxy o NTP non allineato.
Sintomi ricorrenti
Sintomo | Dettaglio |
---|---|
Installazione fallita | L’estensione si blocca in stato Failed o Provisioning failed; disinstallazione/ripetizione locale non risolve. |
Comportamento irregolare | In cluster multi‑nodo l’estensione può completare su 1–2 nodi e fallire sugli altri. |
Causa nota
- Bug nella versione 2311.2 dell’estensione LCM Controller. Microsoft ha riconosciuto il problema e ha annunciato un aggiornamento correttivo (comunicazione di metà febbraio 2024).
Impatto e rischi
- Nessuna perdita di dati o necessità di ricreare il cluster: il malfunzionamento è limitato all’estensione.
- Operatività del cluster non bloccante: i workload continuano a funzionare; tuttavia attività automatizzate di compliance o di configurazione orchestrata possono non avviarsi.
- Incoerenza tra nodi: in ambienti multi‑nodo, lo stato dell’estensione può risultare non uniforme, complicando il change management.
Work‑around operativo consigliato (procedura rapida)
- Logout dai nodi: disconnettersi da VM/host interessati per evitare lock su file o sessioni.
- Rimozione da portale: dal portale Azure, per ciascun nodo apri Extensions e disinstalla LCM Controller.
- Reinstallazione remota via Cloud Shell: apri Azure Cloud Shell (Bash o PowerShell) ed esegui:
az extension add --name stack-hci az login az account set --subscription <IDonome_sottoscrizione> az stack-hci extension install --cluster <nomeCluster> --name Microsoft.AzureStackHCI.LCM.DSC --version latest
Nota: se il cluster è in un resource group non predefinito, aggiungi--resource-group <nomeRG>
. - Verifica: attendi il passaggio a
Succeeded
. Se rimane inFailed
, raccogli i dettagli con PowerShell e valuta il riavvio del nodo:# PowerShell (modulo Az.StackHCI) Get-AzStackHciExtension | Select Name, Version, ProvisioningState In alternativa, Azure CLI az stack-hci extension list --cluster <nomeCluster> --output table
Esperienza sul campo: più utenti hanno confermato che disinstallazione dal portale seguita da reinstallazione via Cloud Shell risolve l’errore.
Procedura dettagliata, con best practice
Preparazione e prerequisiti
- Ruoli/RBAC: account con privilegi almeno Contributor sul resource group del cluster.
- Connettività: uscita HTTPS (porta 443/TLS) verso gli endpoint Azure e Azure Arc; controllo proxi aziendale se presente.
- Ora di sistema: sincronizzazione NTP corretta per evitare token scaduti o handshake TLS falliti.
- Sessioni locali: chiudi RDP/PowerShell remoting sui nodi interessati prima di rimuovere/reinstallare l’estensione.
Passo A — Rimozione precisa dal portale
- Apri il nodo del cluster in portale Azure e vai su Extensions.
- Seleziona Microsoft.AzureStackHCI.LCM.DSC e premi Uninstall.
- Ripeti su tutti i nodi in stato irregolare (one‑by‑one).
Passo B — Reinstallazione remota “pulita”
Esegui in Cloud Shell (Bash o PowerShell):
az extension add --name stack-hci
az login
az account set --subscription <IDorNAME>
Installazione/forzatura dell'ultima versione disponibile
az stack-hci extension install
--cluster
--name Microsoft.AzureStackHCI.LCM.DSC
--version latest
Il comando è idempotente: se l’estensione è assente, viene installata; se presente ma non coerente, forza l’allineamento alla versione indicata (latest
o una specifica).
Passo C — Verifica stato e coerenza tra nodi
# PowerShell
Get-AzStackHciExtension | Select Name,Version,ProvisioningState | Format-Table
Azure CLI (visualizzazione rapida)
az stack-hci extension list --cluster --output table
Ispezione dettaglio stato provisioning (JSON)
az stack-hci extension show --cluster
--name Microsoft.AzureStackHCI.LCM.DSC --output jsonc
Lo stato atteso è ProvisioningState = Succeeded
su tutti i nodi. In caso di Failed
persistente su un nodo isolato:
- Riavvia solo il nodo interessato durante una finestra di manutenzione.
- Ripeti il comando di installazione e ricontrolla lo stato.
Passo D — Convalida funzionale
- Drift/compliance: verifica che eventuali policy DSC/LCM riprendano l’applicazione su tutti i nodi.
- Eventi di sistema: controlla che non compaiano nuovi errori correlati all’estensione nelle ultime ore.
Diagnostica e raccolta log
- Verifica versione rapida:
Get-AzStackHciExtension | Select Name,Version,ProvisioningState
- Log locali (sui nodi):
C:\WindowsAzure\Logs\Plugins\Microsoft.AzureStackHCI.LCM.DSC\*
- Connettività Azure Arc: assicurati che la porta 443 sia aperta e che l’orologio di sistema sia sincronizzato. Esempi utili:
# Windows - sincronizzazione oraria w32tm /query /status w32tm /resync Proxy di sistema (se necessario) netsh winhttp show proxy netsh winhttp import proxy source=ie
- Supporto: se il problema persiste, apri un ticket in Microsoft Q&A per Azure Stack HCI allegando i log raccolti e l’output dei comandi di verifica.
Domande frequenti (FAQ)
Devo ricreare il cluster?
No. Il problema è limitato all’estensione e si risolve con disinstallazione/ripristino.
Ci sono rischi per i dati?
No. Non sono coinvolti i volumi o i workload; è un’anomalia software dell’estensione.
Serve un downtime?
La procedura standard non comporta indisponibilità dei servizi. Può essere richiesto un riavvio di un nodo solo se l’estensione rimane in Failed dopo la reinstallazione.
Come gestisco ambienti con proxy?
Allinea la configurazione del proxy a livello di sistema/servizio e verifica la reachability HTTPS (443) verso gli endpoint Azure/Arc.
Posso automatizzare su più cluster?
Sì. Puoi iterare via Azure CLI sugli elenchi di cluster e lanciare il comando di installazione con --version latest
.
Matrix scenari e azioni consigliate
Scenario | Stato osservato | Azione |
---|---|---|
Singolo nodo in Failed | Provisioning failed su un nodo | Rimuovi da portale sul nodo; reinstallazione via Cloud Shell; verifica; se necessario riavvia solo quel nodo. |
Più nodi in stato misto | Alcuni Succeeded , altri Failed | Allinea eseguendo la sequenza rimozione→installazione su ciascun nodo non conforme. |
Fallimento generalizzato | Tutti i nodi in Failed | Controlla proxy/443/NTP; esegui reinstallazione cluster‑wide; raccogli log se persiste. |
Aggiornamento definitivo
- Disponibilità fix: Microsoft ha indicato l’arrivo di un update correttivo nella settimana del 12 febbraio 2024.
- Percorso di upgrade:
- Da portale Azure: Extensions → seleziona LCM Controller → Update.
- Da PowerShell:
Update-AzStackHciExtension
. - Da Azure CLI: riesegui l’install con
--version latest
oppure specifica la versione pubblicata.
- Nessuna rimozione del cluster richiesta: l’upgrade dell’estensione è in‑place.
Runbook operativo (copia‑incolla)
# 0) Requisiti
- Azure CLI + estensione 'stack-hci' abilitata
- Permessi Contributor sul RG del cluster
- Connettività HTTPS (443) e orologio sincronizzato
1) Preparazione
az extension add --name stack-hci
az login
az account set --subscription <SUBSCRIPTIONIDOR_NAME>
2) Disinstallazione dal portale (manuale) sui nodi in errore
3) Reinstallazione remota
az stack-hci extension install --cluster <CLUSTER_NAME>
--name Microsoft.AzureStackHCI.LCM.DSC --version latest
4) Verifica
az stack-hci extension list --cluster <CLUSTER_NAME> --output table
5) Se un nodo resta in Failed: riavvio del nodo e ripetizione del passo 3
Script di verifica (PowerShell) per cluster HCI
Da una sessione PowerShell con moduli del cluster disponibili, puoi validare rapidamente lo stato su tutti i nodi:
# Elenco nodi del cluster (richiede modulo FailoverClusters)
$nodes = (Get-ClusterNode).Name
Write-Host "Nodi nel cluster:" $nodes -ForegroundColor Cyan
Stato estensione (richiede modulo Az.StackHCI importato e autenticato)
Get-AzStackHciExtension | Select Name,Version,ProvisioningState | Format-Table
Facoltativo: tail degli ultimi log LCM Controller su ciascun nodo (richiede WinRM abilitato)
foreach ($n in $nodes) {
Write-Host "==== $n ====" -ForegroundColor Yellow
Invoke-Command -ComputerName $n -ScriptBlock {
Get-ChildItem "C:\WindowsAzure\Logs\Plugins\Microsoft.AzureStackHCI.LCM.DSC" -Recurse -ErrorAction SilentlyContinue |
Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object {
Write-Host "Log recente:" $*.FullName
Get-Content $*.FullName -Tail 50
}
}
}
Checklist di troubleshooting aggiuntivo
- Verifica versione:
Get-AzStackHciExtension | Select Name,Version,ProvisioningState
- Log locali:
C:\WindowsAzure\Logs\Plugins\Microsoft.AzureStackHCI.LCM.DSC\*
- Connettività Azure Arc: aprire porta
443/TLS
in uscita e sincronizzare l’ora del sistema. - Supporto Microsoft: se il problema persiste, apri ticket in Microsoft Q&A con tag Azure Stack HCI allegando i log.
Buone pratiche per evitare recidive
- Finestra di manutenzione: pianifica l’aggiornamento dell’estensione durante slot dedicati, uno o due nodi per volta se preferisci approccio graduale.
- Allineamento orario: configura NTP affidabili (domain controller o server NTP aziendali) su tutti i nodi.
- Policy proxy: rendi persistente la configurazione proxy per i servizi di sistema e documenta le esclusioni necessarie.
- Monitoraggio: crea un controllo periodico sullo stato delle estensioni Arc/HCI (CLI o script) per intercettare anomalie tempestivamente.
Riepilogo
Il malfunzionamento di LCM Controller nella build 2311.2 è un bug noto e circoscritto al software dell’estensione. La soluzione pratica consiste nella disinstallazione dal portale seguita da reinstallazione via Azure Cloud Shell con az stack-hci extension install --version latest
, quindi verifica dello stato. In presenza del fix definitivo, è sufficiente aggiornare l’estensione (Update) senza rimuovere il cluster né toccare i dati. Applicare il work‑around a tutti i nodi interessati garantisce un ritorno rapido alla piena operatività.