Dela via


Samla in diagnostikdata för kluster

Gäller för: Azure Stack HCI, versionerna 22H2 och 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

Det finns olika diagnostikverktyg i Lagringsdirigering som du kan använda för att samla in de data som behövs för att felsöka Azure Stack HCI- och Windows Server-kluster. I den här artikeln fokuserar vi på att installera och använda SDDC-diagnostikverktyg för att samla in relevant information som hjälper dig att diagnostisera klustret.

Eftersom loggarna och annan information är kompakta är informationen som presenteras i den här artikeln användbar för att felsöka avancerade problem som har eskalerats och som kan kräva att data skickas till Microsoft för sortering.

Installera och använda diagnostikverktyg med Windows Admin Center

Du kan använda Windows Admin Center (version 1812 och senare) för att:

  • Installera diagnostikverktyg för SDDC och håll dem uppdaterade
  • Schemalägg dagliga diagnostikkörningar (dessa har låg inverkan på systemet, tar vanligtvis mindre än fem minuter att köra i bakgrunden och tar inte upp mer än 500 MB i klustret)
  • Visa tidigare insamlad diagnostikinformation om du behöver ge den för att stödja eller analysera den själv

Följ dessa steg för att installera diagnostikverktyg för SDDC och börja samla in data:

  1. Starta Windows Admin Center och välj Verktyg > diagnostik. Om diagnostikverktygen inte redan är installerade klickar du på knappen Installera .

    Klicka på Installera för att installera SDDC-diagnostikverktyg.

  2. Börja samla in diagnostikdata genom att klicka på Samla in. Du bör se ett meddelande med texten "Samla in diagnostikinformation. Det kan ta några minuter." Om du vill samla in data var 24:e timme automatiskt efter den första datainsamlingen ändrar du skjutreglaget till .

    Klicka på Samla in för att samla in diagnostikdata.

  3. Datainsamlingen är inte klar förrän du ser skärmbilden nedan. Om du vill visa insamlad diagnostikinformation väljer du Ladda ned (.zip) eller Verktyget Öppna i filer.

    Om du vill visa diagnostikinformation kan du antingen ladda ned en .zip fil eller öppna den i filverktyget.

Installera Get-SDDCDiagnosticInfo med PowerShell

Du kan använda PowerShell-cmdleten Get-SDDCDiagnosticInfo (kallas Get-PCStorageDiagnosticInfoäven tidigare Test-StorageHealth) för att samla in loggar för och utföra hälsokontroller för redundansklustring (kluster, resurser, nätverk, noder), Lagringsutrymmen (fysiska diskar, kabinett, virtuella diskar), klusterdelade volymer, SMB-filresurser och deduplicering.

Det finns två metoder för att installera skriptet: PowerShell-galleriet och GitHub. Båda beskrivs nedan.

PowerShell-galleriet är en ögonblicksbild av GitHub-lagringsplatsen. Observera att installation av objekt från PowerShell-galleriet kräver den senaste versionen av PowerShellGet-modulen, som är tillgänglig i Windows 10, i Windows Management Framework (WMF) 5.0 eller i det MSI-baserade installationsprogrammet (för PowerShell 3 och 4).

Vi installerar den senaste versionen av Microsofts verktyg för nätverksdiagnostik under den här processen, eftersom Get-SDDCDiagnosticInfo vi förlitar oss på detta. Den här manifestmodulen innehåller verktyget för nätverksdiagnostik och felsökning, som underhålls av Microsoft Core-produktgruppen för nätverk på Microsoft.

Du kan installera modulen genom att köra följande kommando i PowerShell som administratör:

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

Uppdatera modulen genom att köra följande kommando i PowerShell:

Update-Module PrivateCloud.DiagnosticInfo

GitHub

GitHub-lagringsplatsen är den senaste versionen av modulen, eftersom vi kontinuerligt itererar här. Om du vill installera modulen från GitHub laddar du ned den senaste modulen från arkivet och extraherar katalogen PrivateCloud.DiagnosticInfo till rätt PowerShell-modulsökväg som pekas av $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

Om du behöver hämta den här modulen i ett offlinekluster laddar du ned zip-filen, flyttar den till målservernoden och installerar modulen.

Samla in loggar med PowerShell

När du har aktiverat händelsekanaler och slutfört installationsprocessen kan du använda Get-SDDCDiagnosticInfo PowerShell-cmdleten i modulen för att hämta:

  • Rapporter om lagringshälsa, plus information om komponenter som inte är felfria
  • Rapporter om lagringskapacitet efter pool, volym och deduplicerad volym
  • Händelseloggar från alla klusternoder och en sammanfattningsfelrapport

Anta att lagringsklustret har namnet "CLUS01".

Så här kör du mot ett fjärrlagringskluster:

Get-SDDCDiagnosticInfo -ClusterName CLUS01

Så här kör du lokalt på klustrad lagringsnod:

Get-SDDCDiagnosticInfo

Så här sparar du resultat i en angiven mapp:

Get-SDDCDiagnosticInfo -WriteToPath D:\Folder

Här är ett exempel på hur detta ser ut i ett riktigt kluster:

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

Som du ser utför skriptet även validering av aktuellt klustertillstånd:

PowerShell-skärmbild av datainsamling.

Alla data skrivs till mappen SDDCDiagTemp:

Data i Utforskaren skärmbild.

När skriptet är klart skapar det en ZIP i användarkatalogen:

Skärmbild av Data zip i PowerShell.

Nu ska vi generera en rapport till en textfil:

#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

Som referens finns här en länk till exempelrapporten och zip-exemplet.

Get-SDDCDiagnosticInfo utdata

Följande är de filer som ingår i zippade utdata för Get-SDDCDiagnosticInfo.

Hälsosammanfattningsrapport

Hälsosammanfattningsrapporten sparas som:

  • 0_CloudHealthSummary.log

Den här filen genereras efter parsning av alla insamlade data och är avsedd att ge en snabb sammanfattning av systemet. Den innehåller:

  • Systeminformation
  • Översikt över lagringshälsa (antalet noder upp, resurser online, klusterdelade volymer online, felaktiga komponenter osv.)
  • Information om komponenter som inte är felfria (klusterresurser som är offline, misslyckade eller online väntar)
  • Information om inbyggd programvara och drivrutin
  • Information om pooler, fysiska diskar och volymer
  • Lagringsprestanda (prestandaräknare samlas in)

Den här rapporten uppdateras kontinuerligt så att den innehåller mer användbar information. Den senaste informationen finns i GitHub README.

Loggar och XML-filer

Skriptet kör olika logginsamlingsskript och sparar utdata som XML-filer. Vi samlar in kluster- och hälsologgar, systeminformation (MSInfo32), ofiltrerade händelseloggar (redundanskluster, disdiagnostik, Hyper-V, lagringsutrymmen med mera) och information om lagringsdiagnostik (driftloggar). Den senaste informationen om vilken information som samlas in finns i GitHub README (vad vi samlar in).

Använda XML-filer från Get-SDDCDiagnosticInfo

Du kan använda data från XML-filerna som tillhandahålls i data som samlas in av cmdleten Get-SDDCDiagnosticInfo . Dessa filer innehåller information om virtuella diskar, fysiska diskar, grundläggande klusterinformation och andra PowerShell-relaterade utdata.

Om du vill se resultatet av dessa utdata öppnar du ett PowerShell-fönster och kör följande steg.

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

Nästa steg

Ge feedback om vad du vill se genom att lämna in ärenden här. Du kan också bidra med användbara ändringar i skriptet genom att skicka en pull-begäran.