Поделиться через


Сбор диагностических данных для кластеров

Область применения: 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 и начать сбор данных, выполните следующие действия.

  1. Запустите Windows Admin Center и выберите Средства > диагностики. Если диагностика средства еще не установлены, нажмите кнопку Установить.

    Нажмите кнопку Установить, чтобы установить средства диагностики SDDC.

  2. Чтобы начать сбор диагностических данных, нажмите кнопку Собрать. Должно появиться сообщение "Сбор диагностических сведений. Это может занять несколько минут". Если вы хотите автоматически собирать данные каждые 24 часа после первоначального сбора данных, измените ползунок на Включено.

    Нажмите кнопку Собрать, чтобы выполнить сбор диагностических данных.

  3. Сбор данных не будет завершен до тех пор, пока вы не увидите снимок экрана ниже. Чтобы просмотреть собранные диагностические сведения, выберите Скачать (.zip) или Открыть в файле.

    Чтобы просмотреть диагностические сведения, можно скачать .zip файл или открыть в средстве Файлы.

Установка Get-SDDCDiagnosticInfo с помощью PowerShell

Командлет PowerShell (также известный как Get-PCStorageDiagnosticInfo, ранее известный как Test-StorageHealth) можно использовать Get-SDDCDiagnosticInfo для сбора журналов и выполнения проверок работоспособности отказоустойчивой кластеризации (кластер, ресурсы, сети, узлы), дисковые пространства (физические диски, корпуса, виртуальные диски), общих томов кластера, файловых ресурсов SMB и дедупликации.

Существует два метода установки скрипта: коллекция PowerShell и GitHub. Оба варианта описаны ниже.

Коллекция 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

Как видите, скрипт также выполнит проверку текущего состояния кластера:

Снимок экрана powerShell для сбора данных.

Все данные записываются в папку SDDCDiagTemp:

Снимок экрана: данные проводник.

После завершения скрипта он создаст ZIP-файл в каталоге пользователя:

Снимок экрана: zip-файл данных в PowerShell.

Создадим отчет в текстовом файле:

#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

Дальнейшие действия

Оставьте отзыв о том, что вы хотели бы видеть, задавая здесь вопросы. Кроме того, вы можете внести полезные изменения в скрипт, отправив запрос на вытягивание.