Сбор диагностических данных для кластеров
Область применения: Azure Stack HCI версий 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
В Локальные дисковые пространства есть различные средства диагностики, которые можно использовать для сбора данных, необходимых для устранения неполадок в кластерах Azure Stack HCI и Windows Server. В этой статье мы сосредоточимся на установке и использовании средств диагностики SDDC для сбора соответствующих сведений, которые помогут вам диагностировать кластер.
Так как журналы и другие сведения являются плотными, сведения, представленные в этой статье, полезны для устранения дополнительных проблем, которые были обострились и которые могут потребовать отправки данных в Корпорацию Майкрософт для рассмотрения.
Установка и использование средств диагностики с Windows Admin Center
Вы можете использовать Windows Admin Center (начиная с версии 1812), чтобы:
- Установите средства диагностики SDDC и поддерживайте их в актуальном состоянии
- Планирование ежедневных диагностических запусков (они имеют низкое влияние на вашу систему, обычно занимают менее пяти минут в фоновом режиме и не занимают более 500 МБ в кластере).
- Просмотр ранее собранных диагностических сведений, если вам нужно предоставить поддержку или проанализировать их самостоятельно
Чтобы установить средства диагностики SDDC и начать сбор данных, выполните следующие действия.
Запустите Windows Admin Center и выберите Средства > диагностики. Если диагностика средства еще не установлены, нажмите кнопку Установить.
Чтобы начать сбор диагностических данных, нажмите кнопку Собрать. Должно появиться сообщение "Сбор диагностических сведений. Это может занять несколько минут". Если вы хотите автоматически собирать данные каждые 24 часа после первоначального сбора данных, измените ползунок на Включено.
Сбор данных не будет завершен до тех пор, пока вы не увидите снимок экрана ниже. Чтобы просмотреть собранные диагностические сведения, выберите Скачать (.zip) или Открыть в файле.
Установка Get-SDDCDiagnosticInfo с помощью PowerShell
Командлет PowerShell (также известный как Get-PCStorageDiagnosticInfo
, ранее известный как Test-StorageHealth
) можно использовать Get-SDDCDiagnosticInfo
для сбора журналов и выполнения проверок работоспособности отказоустойчивой кластеризации (кластер, ресурсы, сети, узлы), дисковые пространства (физические диски, корпуса, виртуальные диски), общих томов кластера, файловых ресурсов SMB и дедупликации.
Существует два метода установки скрипта: коллекция PowerShell и GitHub. Оба варианта описаны ниже.
Коллекция PowerShell
Коллекция PowerShell — это snapshot репозитория GitHub. Обратите внимание, что для установки элементов из коллекция PowerShell требуется последняя версия модуля PowerShellGet, доступная в Windows 10, в Windows Management Framework (WMF) 5.0 или в установщике на основе MSI (для PowerShell 3 и 4).
Во время этого процесса мы устанавливаем последнюю версию средств диагностики сети Майкрософт , так как Get-SDDCDiagnosticInfo
она используется. Этот модуль манифеста содержит средства диагностики и устранения неполадок сети, которые поддерживаются группой основных сетевых продуктов Майкрософт в Корпорации Майкрософт.
Модуль можно установить, выполнив следующую команду в PowerShell от имени администратора:
Install-PackageProvider NuGet -Force
Install-Module PrivateCloud.DiagnosticInfo -Force
Import-Module PrivateCloud.DiagnosticInfo -Force
Install-Module -Name MSFT.Network.Diag
Чтобы обновить модуль, выполните следующую команду в PowerShell:
Update-Module PrivateCloud.DiagnosticInfo
GitHub
Репозиторий GitHub является самой актуальной версией модуля, так как мы постоянно итерируем здесь. Чтобы установить модуль из GitHub, скачайте последний модуль из архива и извлеките каталог PrivateCloud.DiagnosticInfo в правильный путь к модулям PowerShell, указанный $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
Если вам нужно получить этот модуль в автономном кластере, скачайте ZIP-файл, переместите его на узел целевого сервера и установите модуль.
Сбор журналов с помощью PowerShell
После включения каналов событий и завершения процесса установки можно использовать Get-SDDCDiagnosticInfo
командлет PowerShell в модуле для получения следующих сведений:
- Отчеты о работоспособности хранилища, а также сведения о неработоспособных компонентах
- Отчеты о емкости хранилища по пулу, тому и дедуплицированному тому
- Журналы событий со всех узлов кластера и сводный отчет об ошибках
Предположим, что кластер хранилища имеет имя "CLUS01".
Выполнение в кластере удаленного хранилища:
Get-SDDCDiagnosticInfo -ClusterName CLUS01
Чтобы выполнить локально на узле кластеризованного хранилища, выполните приведенные далее действия.
Get-SDDCDiagnosticInfo
Чтобы сохранить результаты в указанной папке, выполните указанные действия.
Get-SDDCDiagnosticInfo -WriteToPath D:\Folder
Ниже приведен пример того, как это выглядит в реальном кластере:
New-Item -Name SDDCDiagTemp -Path d:\ -ItemType Directory -Force
Get-SddcDiagnosticInfo -ClusterName S2D-Cluster -WriteToPath d:\SDDCDiagTemp
Как видите, скрипт также выполнит проверку текущего состояния кластера:
Все данные записываются в папку SDDCDiagTemp:
После завершения скрипта он создаст ZIP-файл в каталоге пользователя:
Создадим отчет в текстовом файле:
#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
Для справки ниже приведена ссылка на пример отчета и пример ZIP-файла.
выходные данные Get-SDDCDiagnosticInfo
Ниже приведены файлы, включенные в zip-выходные Get-SDDCDiagnosticInfo
данные .
Сводный отчет о работоспособности
Сводный отчет о работоспособности сохраняется следующим образом:
- 0_CloudHealthSummary.log
Этот файл создается после анализа всех собранных данных и предназначен для предоставления краткой сводки по системе. Она содержит следующие виртуальные машины:
- Сведения о системе
- Общие сведения о работоспособности хранилища (количество узлов, подключенные ресурсы, подключенные общие тома кластера, неработоспособные компоненты и т. д.)
- Сведения о неработоспособных компонентах (ресурсы кластера, которые находятся в автономном режиме, завершили сбой или находятся в состоянии ожидания подключения)
- Сведения о встроенном ПО и драйвере
- Сведения о пуле, физическом диске и томе
- Производительность хранилища (собираются счетчики производительности)
Этот отчет постоянно обновляется для включения более полезной информации. Последние сведения см. в файле сведений GitHub.
Журналы и XML-файлы
Скрипт запускает различные скрипты сбора журналов и сохраняет выходные данные в виде XML-файлов. Мы собираем журналы кластера и работоспособности, сведения о системе (MSInfo32), журналы нефильтрованных событий (кластеризация отработки отказа, dis диагностика, Hyper-V, дисковых пространств и т. д.) и сведения о диагностика хранилища (операционные журналы). Последние сведения о том, какие сведения собираются, см. в файле сведений GitHub (собираемые сведения).
Использование XML-файлов из Get-SDDCDiagnosticInfo
Вы можете использовать данные из XML-файлов, предоставленных в данных, собранных командлетом Get-SDDCDiagnosticInfo
. Эти файлы содержат сведения о виртуальных дисках, физических дисках, основные сведения о кластере и другие выходные данные, связанные с PowerShell.
Чтобы просмотреть результаты этих выходных данных, откройте окно PowerShell и выполните следующие действия.
ipmo storage
$d = import-clixml <filename>
$d
Дальнейшие действия
Оставьте отзыв о том, что вы хотели бы видеть, задавая здесь вопросы. Кроме того, вы можете внести полезные изменения в скрипт, отправив запрос на вытягивание.