Raccogliere i dati di diagnostica per i cluster

Si applica a: Azure Stack HCI, versioni 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

Sono disponibili vari strumenti di diagnostica in Spazi di archiviazione diretta che è possibile usare per raccogliere i dati necessari per risolvere i problemi relativi ai cluster azure Stack HCI e Windows Server. In questo articolo ci concentreremo sull'installazione e sull'uso di strumenti di diagnostica SDDC per raccogliere informazioni pertinenti per facilitare la diagnosi del cluster.

Poiché i log e altre informazioni sono densi, le informazioni presentate in questo articolo sono utili per la risoluzione dei problemi avanzati che sono stati inoltrati e che potrebbero richiedere l'invio di dati a Microsoft per la valutazione.

Installare e usare strumenti di diagnostica con Windows Admin Center

È possibile usare Windows Admin Center (versione 1812 in poi) per:

  • Installare gli strumenti di diagnostica SDDC e tenerli aggiornati
  • Pianificare le esecuzioni di diagnostica giornaliere (queste hanno un impatto ridotto sul sistema, in genere richiedono meno di cinque minuti per l'esecuzione in background e non richiederanno più di 500 MB nel cluster)
  • Visualizzare le informazioni di diagnostica raccolte in precedenza se è necessario fornire il supporto o analizzarlo autonomamente

Per installare gli strumenti di diagnostica SDDC e iniziare a raccogliere dati, seguire questa procedura:

  1. Avviare Windows Admin Center e selezionare Strumenti > di diagnostica. Se gli strumenti di diagnostica non sono già installati, fare clic sul pulsante Installa .

    Fare clic su Installa per installare gli strumenti di diagnostica SDDC.

  2. Per iniziare a raccogliere dati di diagnostica, fare clic su Raccogliere. Verrà visualizzato un messaggio che indica "Raccolta di informazioni di diagnostica. Questo può richiedere alcuni minuti." Dopo la raccolta dati iniziale, se si desidera raccogliere automaticamente i dati ogni 24 ore, modificare il dispositivo di scorrimento su .

    Fare clic su Raccoglie per raccogliere i dati di diagnostica.

  3. La raccolta dati non viene completata finché non viene visualizzata la schermata seguente. Per visualizzare le informazioni di diagnostica raccolte, scegliere Scarica (.zip) o Apri nello strumento File.

    Per visualizzare le informazioni di diagnostica, è possibile scaricare un file .zip o aprire nello strumento File.

Installazione di Get-SDDCDiagnosticInfo con PowerShell

È possibile usare il Get-SDDCDiagnosticInfo cmdlet di PowerShell (noto anche come , noto in precedenza come Get-PCStorageDiagnosticInfoTest-StorageHealth) per raccogliere i log e eseguire controlli di integrità per il clustering di failover (cluster, risorse, reti, nodi), Spazi di archiviazione (dischi fisici, enclosure, dischi virtuali), Volumi condivisi cluster, condivisioni file SMB e Deduplicazione.

Esistono due metodi per installare lo script: PowerShell Gallery e GitHub. Entrambi sono descritti di seguito.

Il PowerShell Gallery è uno snapshot del repository GitHub. Si noti che l'installazione di elementi dalla PowerShell Gallery richiede la versione più recente del modulo PowerShellGet, disponibile in Windows 10, in Windows Management Framework (WMF) 5.0 o nel programma di installazione basato su MSI (per PowerShell 3 e 4).

Durante questo processo Get-SDDCDiagnosticInfo viene installata anche la versione più recente degli strumenti di diagnostica di rete Microsoft. Questo modulo manifesto contiene lo strumento di diagnostica e risoluzione dei problemi di rete, gestito dal gruppo di prodotti Microsoft Core Networking in Microsoft.

È possibile installare il modulo eseguendo il comando seguente in PowerShell come amministratore:

Install-PackageProvider NuGet -Force
Install-Module PrivateCloud.DiagnosticInfo -Force
Import-Module PrivateCloud.DiagnosticInfo -Force
Install-Module -Name MSFT.Network.Diag

Per aggiornare il modulo, eseguire il comando seguente in PowerShell:

Update-Module PrivateCloud.DiagnosticInfo

GitHub

Il repository GitHub è la versione più aggiornata del modulo, poiché viene continuamente eseguita l'iterazione qui. Per installare il modulo da GitHub, scaricare il modulo più recente dall'archivio ed estrarre la directory PrivateCloud.DiagnosticInfo nel percorso corretto dei moduli di PowerShell puntati da $env:PSModulePath

# Allowing Tls12 and Tls11 -- e.g. github now requires Tls12
# If this is not set, the Invoke-WebRequest fails with "The request was aborted: Could not create SSL/TLS secure channel."
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$module = 'PrivateCloud.DiagnosticInfo'
Invoke-WebRequest -Uri https://github.com/PowerShell/$module/archive/master.zip -OutFile $env:TEMP\master.zip
Expand-Archive -Path $env:TEMP\master.zip -DestinationPath $env:TEMP -Force
if (Test-Path $env:SystemRoot\System32\WindowsPowerShell\v1.0\Modules\$module) {
    rm -Recurse $env:SystemRoot\System32\WindowsPowerShell\v1.0\Modules\$module -ErrorAction Stop
    Remove-Module $module -ErrorAction SilentlyContinue
} else {
    Import-Module $module -ErrorAction SilentlyContinue
}
if (-not ($m = Get-Module $module -ErrorAction SilentlyContinue)) {
    $md = "$env:ProgramFiles\WindowsPowerShell\Modules"
} else {
    $md = (gi $m.ModuleBase -ErrorAction SilentlyContinue).PsParentPath
    Remove-Module $module -ErrorAction SilentlyContinue
    rm -Recurse $m.ModuleBase -ErrorAction Stop
}
cp -Recurse $env:TEMP\$module-master\$module $md -Force -ErrorAction Stop
rm -Recurse $env:TEMP\$module-master,$env:TEMP\master.zip
Import-Module $module -Force

Se è necessario ottenere questo modulo in un cluster offline, scaricare il file zip, spostarlo nel nodo del server di destinazione e installare il modulo.

Raccolta dei log con PowerShell

Dopo aver abilitato i canali eventi e completato il processo di installazione, è possibile usare il Get-SDDCDiagnosticInfo cmdlet di PowerShell nel modulo per ottenere:

  • Report sull'integrità dell'archiviazione, oltre ai dettagli sui componenti non integri
  • Report di capacità di archiviazione per pool, volume e volume deduplicato
  • Log eventi da tutti i nodi del cluster e un report di errore di riepilogo

Si supponga che il cluster di archiviazione abbia il nome "CLUS01".

Per eseguire su un cluster di archiviazione remota:

Get-SDDCDiagnosticInfo -ClusterName CLUS01

Per eseguire localmente nel nodo di archiviazione cluster:

Get-SDDCDiagnosticInfo

Per salvare i risultati in una cartella specificata:

Get-SDDCDiagnosticInfo -WriteToPath D:\Folder

Ecco un esempio di aspetto su un cluster reale:

New-Item -Name SDDCDiagTemp -Path d:\ -ItemType Directory -Force
Get-SddcDiagnosticInfo -ClusterName S2D-Cluster -WriteToPath d:\SDDCDiagTemp

Come si può notare, lo script eseguirà anche la convalida dello stato del cluster corrente:

Screenshot della raccolta dati di PowerShell.

Tutti i dati vengono scritti nella cartella SDDCDiagTemp:

Dati in Esplora file screenshot.

Al termine dello script, creerà un file ZIP nella directory utente:

Zip dei dati nello screenshot di PowerShell.

Verrà generato un report in un file di testo:

#find the latest diagnostic zip in UserProfile
    $DiagZip=(get-childitem $env:USERPROFILE | where Name -like HealthTest*.zip)
    $LatestDiagPath=($DiagZip | sort lastwritetime | select -First 1).FullName
#expand to temp directory
    New-Item -Name SDDCDiagTemp -Path d:\ -ItemType Directory -Force
    Expand-Archive -Path $LatestDiagPath -DestinationPath D:\SDDCDiagTemp -Force
#generate report and save to text file
    $report=Show-SddcDiagnosticReport -Path D:\SDDCDiagTemp
    $report | out-file d:\SDDCReport.txt

Per informazioni di riferimento, ecco un collegamento al report di esempio e alla zip di esempio.

output Get-SDDCDiagnosticInfo

Di seguito sono riportati i file inclusi nell'output compresso di Get-SDDCDiagnosticInfo.

Report di riepilogo dell'integrità

Il report di riepilogo dell'integrità viene salvato come:

  • 0_CloudHealthSummary.log

Questo file viene generato dopo l'analisi di tutti i dati raccolti ed è destinato a fornire un riepilogo rapido del sistema. Contiene quanto segue:

  • Informazioni di sistema
  • Panoramica dell'integrità dell'archiviazione (numero di nodi in alto, risorse online, volumi condivisi cluster online, componenti non integri e così via)
  • Dettagli sui componenti non integri (risorse del cluster offline, non riuscite o online in sospeso)
  • Informazioni sul firmware e sul driver
  • Dettagli del pool, del disco fisico e del volume
  • Prestazioni di archiviazione (i contatori delle prestazioni vengono raccolti)

Questo report viene aggiornato continuamente per includere informazioni più utili. Per le informazioni più recenti, vedere GitHub README.

Log e file XML

Lo script esegue vari script di raccolta log e salva l'output come file xml. Vengono raccolti log cluster e integrità, informazioni di sistema (MSInfo32), log eventi non filtrati (clustering di failover, diagnostica dis, Hyper-V, spazi di archiviazione e altro ancora) e informazioni di diagnostica di archiviazione (log operativi). Per le informazioni più recenti su quali informazioni vengono raccolte, vedere GitHub README (cosa viene raccolto).

Come usare i file XML da Get-SDDCDiagnosticInfo

È possibile utilizzare i dati dai file XML forniti nei dati raccolti dal Get-SDDCDiagnosticInfo cmdlet. Questi file contengono informazioni sui dischi virtuali, i dischi fisici, le informazioni di base sul cluster e altri output correlati a PowerShell.

Per visualizzare i risultati di questi output, aprire una finestra di PowerShell ed eseguire la procedura seguente.

ipmo storage
$d = import-clixml <filename>
$d

Passaggi successivi

Fornire commenti e suggerimenti su ciò che si desidera visualizzare inviando i problemi qui. Inoltre, è possibile contribuire a modifiche utili allo script inviando una richiesta pull.