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:
Starta Administrationscenter för Windows och välj Verktyg > Diagnostik. Om diagnostikverktygen inte redan är installerade klickar du på knappen Installera .
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 På.
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.
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
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:
Alla data skrivs till mappen SDDCDiagTemp:
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.