Zbieranie danych diagnostycznych dla klastrów
Dotyczy: Azure Stack HCI, wersje 22H2 i 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Istnieją różne narzędzia diagnostyczne w Bezpośrednie miejsca do magazynowania, których można użyć do zbierania danych wymaganych do rozwiązywania problemów z klastrami rozwiązania Azure Stack HCI i systemu Windows Server. W tym artykule skoncentrujemy się na instalowaniu i używaniu narzędzi diagnostycznych SDDC w celu zebrania odpowiednich informacji ułatwiających diagnozowanie klastra.
Ponieważ dzienniki i inne informacje są gęste, informacje przedstawione w tym artykule są przydatne do rozwiązywania zaawansowanych problemów, które zostały eskalacji i które mogą wymagać wysłania danych do firmy Microsoft w celu klasyfikacji.
Instalowanie i używanie narzędzi diagnostycznych za pomocą Windows Admin Center
Możesz użyć Windows Admin Center (nowszej wersji 1812), aby:
- Instalowanie narzędzi diagnostycznych SDDC i aktualizowanie ich
- Zaplanuj codzienne przebiegi diagnostyczne (mają one niewielki wpływ na system, zwykle trwa mniej niż pięć minut w tle i nie będą trwać więcej niż 500 MB w klastrze)
- Wyświetlanie wcześniej zebranych informacji diagnostycznych, jeśli musisz przekazać je do pomocy technicznej lub samodzielnie je przeanalizować
Aby zainstalować narzędzia diagnostyczne SDDC i rozpocząć zbieranie danych, wykonaj następujące kroki:
Uruchom Windows Admin Center i wybierz pozycję Narzędzia > diagnostyczne. Jeśli narzędzia diagnostyczne nie są jeszcze zainstalowane, kliknij przycisk Zainstaluj .
Aby rozpocząć zbieranie danych diagnostycznych, kliknij pozycję Zbieraj. Powinien zostać wyświetlony komunikat "Zbieranie informacji diagnostycznych. Może to potrwać kilka minut". Jeśli po początkowej kolekcji danych chcesz automatycznie zbierać dane co 24 godziny, zmień suwak na Włączone.
Zbieranie danych nie zostanie ukończone, dopóki nie zostanie wyświetlony poniższy zrzut ekranu. Aby wyświetlić zebrane informacje diagnostyczne, wybierz pozycję Pobierz (.zip) lub Narzędzie Otwórz w plikach.
Instalowanie Get-SDDCDiagnosticInfo przy użyciu programu PowerShell
Możesz użyć Get-SDDCDiagnosticInfo
polecenia cmdlet programu PowerShell (znanego wcześniej Test-StorageHealth
jako Get-PCStorageDiagnosticInfo
), aby zebrać dzienniki dla klastra trybu failover (klaster, zasoby, sieci, węzły), Miejsca do magazynowania (dyski fizyczne, obudowy, dyski wirtualne), udostępnione woluminy klastra, udziały plików SMB i deduplikację.
Istnieją dwie metody instalowania skryptu: Galeria programu PowerShell i GitHub. Oba elementy zostały opisane poniżej.
Galeria programu PowerShell
Galeria programu PowerShell to migawka repozytorium GitHub. Należy pamiętać, że instalowanie elementów z Galeria programu PowerShell wymaga najnowszej wersji modułu PowerShellGet, który jest dostępny w Windows 10, w Windows Management Framework (WMF) 5.0 lub w instalatorze opartym na msi (dla programu PowerShell 3 i 4).
Podczas tego procesu instalujemy najnowszą wersję narzędzi do diagnostyki sieci firmy Microsoft , ponieważ Get-SDDCDiagnosticInfo
na tym polega. Ten moduł manifestu zawiera narzędzie do diagnostyki sieci i rozwiązywania problemów, które są obsługiwane przez grupę produktów sieciowych microsoft Core w firmie Microsoft.
Moduł można zainstalować, uruchamiając następujące polecenie w programie PowerShell jako administrator:
Install-PackageProvider NuGet -Force
Install-Module PrivateCloud.DiagnosticInfo -Force
Import-Module PrivateCloud.DiagnosticInfo -Force
Install-Module -Name MSFT.Network.Diag
Aby zaktualizować moduł, uruchom następujące polecenie w programie PowerShell:
Update-Module PrivateCloud.DiagnosticInfo
GitHub
Repozytorium GitHub to najbardziej aktualna wersja modułu, ponieważ stale iterujemy tutaj. Aby zainstalować moduł z usługi GitHub, pobierz najnowszy moduł z archiwum i wyodrębnij katalog PrivateCloud.DiagnosticInfo do właściwej ścieżki modułów programu PowerShell wskazywanej przez $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
Jeśli chcesz pobrać ten moduł w klastrze offline, pobierz plik zip, przenieś go do węzła serwera docelowego i zainstaluj moduł.
Zbieranie dzienników za pomocą programu PowerShell
Po włączeniu kanałów zdarzeń i zakończeniu procesu instalacji możesz użyć Get-SDDCDiagnosticInfo
polecenia cmdlet programu PowerShell w module, aby uzyskać:
- Raporty dotyczące kondycji magazynu oraz szczegółowe informacje na temat składników w złej kondycji
- Raporty dotyczące pojemności magazynu według puli, woluminu i woluminu deduplikowanego
- Dzienniki zdarzeń ze wszystkich węzłów klastra i raport o błędach podsumowania
Załóżmy, że klaster magazynu ma nazwę "CLUS01".
Aby wykonać polecenie względem klastra magazynu zdalnego:
Get-SDDCDiagnosticInfo -ClusterName CLUS01
Aby wykonać lokalnie w klastrowym węźle magazynu:
Get-SDDCDiagnosticInfo
Aby zapisać wyniki w określonym folderze:
Get-SDDCDiagnosticInfo -WriteToPath D:\Folder
Oto przykładowy wygląd rzeczywistego klastra:
New-Item -Name SDDCDiagTemp -Path d:\ -ItemType Directory -Force
Get-SddcDiagnosticInfo -ClusterName S2D-Cluster -WriteToPath d:\SDDCDiagTemp
Jak widać, skrypt przeprowadzi również walidację bieżącego stanu klastra:
Wszystkie dane są zapisywane w folderze SDDCDiagTemp:
Po zakończeniu działania skryptu zostanie utworzony plik ZIP w katalogu użytkownika:
Wygenerujmy raport w pliku tekstowym:
#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
W tym miejscu znajduje się link do przykładowego raportu i przykładowego pliku zip.
dane wyjściowe Get-SDDCDiagnosticInfo
Poniżej przedstawiono pliki uwzględnione w spakowane dane wyjściowe pliku Get-SDDCDiagnosticInfo
.
Raport podsumowania kondycji
Raport podsumowania kondycji jest zapisywany jako:
- 0_CloudHealthSummary.log
Ten plik jest generowany po przeanalizowaniu wszystkich zebranych danych i ma na celu szybkie podsumowanie systemu. Zawiera ona:
- Informacje o systemie
- Omówienie kondycji magazynu (liczba węzłów w górę, zasoby w trybie online, udostępnione woluminy klastra w trybie online, składniki w złej kondycji itp.)
- Szczegółowe informacje o składnikach w złej kondycji (zasoby klastra, które są w trybie offline, niepowodzeniem lub oczekujące w trybie online)
- Informacje o oprogramowaniu układowym i sterowniku
- Szczegóły puli, dysku fizycznego i woluminu
- Wydajność magazynu (zbierane są liczniki wydajności)
Ten raport jest stale aktualizowany w celu uwzględnienia bardziej przydatnych informacji. Aby uzyskać najnowsze informacje, zobacz Plik README usługi GitHub.
Dzienniki i pliki XML
Skrypt uruchamia różne skrypty zbierania dzienników i zapisuje dane wyjściowe jako pliki XML. Zbieramy dzienniki klastra i kondycji, informacje o systemie (MSInfo32), niefiltrowane dzienniki zdarzeń (klastry trybu failover, diagnostykę, funkcję Hyper-V, miejsca do magazynowania i nie tylko) oraz informacje diagnostyczne dotyczące magazynu (dzienniki operacyjne). Aby uzyskać najnowsze informacje na temat zbieranych informacji, zobacz GitHub README (co zbieramy).
Jak korzystać z plików XML z Get-SDDCDiagnosticInfo
Możesz korzystać z danych z plików XML podanych w danych zebranych przez Get-SDDCDiagnosticInfo
polecenie cmdlet . Te pliki zawierają informacje o dyskach wirtualnych, dyskach fizycznych, podstawowych informacjach o klastrze i innych danych wyjściowych związanych z programem PowerShell.
Aby wyświetlić wyniki tych danych wyjściowych, otwórz okno programu PowerShell i uruchom następujące kroki.
ipmo storage
$d = import-clixml <filename>
$d
Następne kroki
Prześlij opinię na temat tego, co chcesz zobaczyć, zgłaszając tutaj problemy. Ponadto możesz współtworzyć przydatne zmiany skryptu, przesyłając żądanie ściągnięcia.