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

Viktigt!

Azure Stack HCI är nu en del av Azure Local. Äldre versioner av Azure Stack HCI, till exempel 22H2, fortsätter dock att referera till Azure Stack HCI och återspeglar inte namnändringen. Läs mer.

Det finns olika diagnostikverktyg i Lagringsutrymmen Direct 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 en låg inverkan på systemet, det 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 till supportpersonal eller för att analysera den själv.

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

  1. Starta Administrationscenter för Windows 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. Om du vill börja samla in diagnostikdata klickar du 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 diagnostiska data.

  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 Öppna i filverktyget.

    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 (även kallat Get-PCStorageDiagnosticInfo, tidigare kallat 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 modulen PowerShellGet, 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 Networking Product Group 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

Om du vill uppdatera modulen kör du följande kommando i PowerShell:

Update-Module PrivateCloud.DiagnosticInfo

GitHub

Den GitHub-lagringsplatsen är den mest up-to-datumversionen av modulen, eftersom vi ständigt itererar här. Om du vill installera modulen från GitHub laddar du ned den senaste modulen från arkiv och extraherar katalogen PrivateCloud.DiagnosticInfo till rätt PowerShell-modulsökväg som anges 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 samt 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.

För att köra mot ett fjärrlagringskluster:

Get-SDDCDiagnosticInfo -ClusterName CLUS01

Så här utför du det lokalt på en 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 på ett riktigt kluster:

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

Som du ser validerar skriptet även det aktuella klustertillståndet:

PowerShell-skärmbild av datainsamling.

Alla data skrivs till mappen SDDCDiagTemp:

Data i File Explorers skärmbild.

När skriptet är klart skapar det en zip-fil i användarkatalogen:

Datazip-skärmbild i PowerShell.

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.

Utdata för Get-SDDCDiagnosticInfo

Följande filer 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åt, resurser online, klusterdelade volymer online, komponenter som inte är felfria osv.).
  • Information om komponenter som inte är felfria (klusterresurser som är offline, misslyckades eller väntar online).
  • 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).

Så här använder du XML-filer från Get-SDDCDiagnosticInfo

Du kan använda datan från XML-filerna som tillhandahålls från data som samlats 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 kommandon:

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

Nästa steg

Ge feedback om vad du vill se av arkiveringsproblem här. Du kan också bidra med användbara ändringar i skriptet genom att skicka en pull request.