Azure Stack HCI 23H2: errore LCM Controller (build 2311.2) – sintomi, cause e fix operativo

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.

Indice

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

SintomoDettaglio
Installazione fallitaL’estensione si blocca in stato Failed o Provisioning failed; disinstallazione/ripetizione locale non risolve.
Comportamento irregolareIn 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)

  1. Logout dai nodi: disconnettersi da VM/host interessati per evitare lock su file o sessioni.
  2. Rimozione da portale: dal portale Azure, per ciascun nodo apri Extensions e disinstalla LCM Controller.
  3. 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>.
  4. Verifica: attendi il passaggio a Succeeded. Se rimane in Failed, 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

  1. Apri il nodo del cluster in portale Azure e vai su Extensions.
  2. Seleziona Microsoft.AzureStackHCI.LCM.DSC e premi Uninstall.
  3. 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:

  1. Riavvia solo il nodo interessato durante una finestra di manutenzione.
  2. 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

ScenarioStato osservatoAzione
Singolo nodo in FailedProvisioning failed su un nodoRimuovi da portale sul nodo; reinstallazione via Cloud Shell; verifica; se necessario riavvia solo quel nodo.
Più nodi in stato mistoAlcuni Succeeded, altri FailedAllinea eseguendo la sequenza rimozione→installazione su ciascun nodo non conforme.
Fallimento generalizzatoTutti i nodi in FailedControlla 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 ControllerUpdate.
    • 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

  1. Verifica versione: Get-AzStackHciExtension | Select Name,Version,ProvisioningState
  2. Log locali: C:\WindowsAzure\Logs\Plugins\Microsoft.AzureStackHCI.LCM.DSC\*
  3. Connettività Azure Arc: aprire porta 443/TLS in uscita e sincronizzare l’ora del sistema.
  4. 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à.


Indice