Compartir a través de


Recopilación de datos de diagnóstico para clústeres

Se aplica a: Azure Stack HCI, versiones 22H2 y 21H2, Windows Server 2022, Windows Server 2019 y Windows Server 2016

Hay varias herramientas de diagnóstico en Espacios de almacenamiento directo que puede usar para recopilar los datos necesarios para solucionar problemas con los clústeres de Azure Stack HCI y Windows Server. En este artículo nos centraremos en la instalación y el uso de herramientas de diagnóstico de SDDC para recopilar información pertinente que le ayude a diagnosticar el clúster.

Como los registros y los demás datos son densos, la información que se presenta en este artículo resulta útil para solucionar problemas avanzados que se han escalado y que pueden requerir el envío de datos a Microsoft para la evaluación de prioridades.

Instalación y uso de herramientas de diagnóstico con Windows Admin Center

Puede usar Windows Admin Center (versión 1812 o posteriores) para:

  • Instalar herramientas de diagnóstico de SDDC y mantenerlas actualizadas
  • Programar ejecuciones de diagnóstico diarias (de impacto reducido en el sistema, suelen tardar menos de cinco minutos en ejecutarse en segundo plano y no ocupan más de 500 MB en el clúster).
  • Ver la información de diagnóstico recopilada previamente si necesita proporcionársela al soporte técnico o analizarla usted mismo.

Para instalar las herramientas de diagnóstico de SDDC y empezar a recopilar datos, siga estos pasos:

  1. Inicie Windows Admin Center y seleccione Herramientas > Diagnóstico. Si las herramientas de diagnóstico aún no están instaladas, haga clic en el botón Instalar.

    Haga clic en Instalar para instalar las herramientas de diagnóstico de SDDC.

  2. Para empezar a recopilar datos de diagnóstico, haga clic en Recopilar. Debería ver el mensaje: "Collecting diagnostic information. Esto puede tardar unos minutos". Después de la recopilación de datos inicial, si desea recopilar datos automáticamente cada 24 horas, cambie el control deslizante a Activado.

    Haga clic en Recopilar para recopilar datos de diagnóstico.

  3. La recopilación de datos terminará cuando vea la captura de pantalla siguiente. Para ver la información de diagnóstico recopilada, elija Download (.zip) (Descargar [.zip]) u Open in Files tool (Abrir en la herramienta Files).

    Para ver la información de diagnóstico, puede descargar un archivo .zip o abrirla en la herramienta Files.

Instalación de Get-SDDCDiagnosticInfo con PowerShell

Puede usar el cmdlet de PowerShell Get-SDDCDiagnosticInfo(también conocido como Get-PCStorageDiagnosticInfo, anteriormente conocido como Test-StorageHealth) para recopilar registros para los clústeres de conmutación por error (clúster, recursos, redes, nodos) y realizar comprobaciones de estado, los espacios de almacenamiento (discos físicos, alojamientos, discos virtuales), los volúmenes compartidos de clúster, los recursos compartidos de archivos SMB y la desduplicación.

Hay dos métodos para instalar el script: Galería de PowerShell y GitHub. Ambos se describen a continuación.

La Galería de PowerShell es una instantánea del repositorio de GitHub. Tenga en cuenta que para instalar elementos desde la Galería de PowerShell se requiere la versión más reciente del módulo PowerShellGet, disponible en Windows 10, en Windows Management Framework (WMF) 5.0 o en el programa de instalación basado en MSI (para PowerShell 3 y 4).

También se instala la versión más reciente de las herramientas de diagnóstico de redes de Microsoft durante este proceso, ya que Get-SDDCDiagnosticInfo se basa en ellas. Este módulo de manifiesto contiene la herramienta de diagnóstico y solución de problemas de red, que mantiene el grupo de productos de redes principales de Microsoft en Microsoft.

Para instalar el módulo, ejecute el siguiente comando en PowerShell como administrador:

Install-PackageProvider NuGet -Force
Install-Module PrivateCloud.DiagnosticInfo -Force
Import-Module PrivateCloud.DiagnosticInfo -Force
Install-Module -Name MSFT.Network.Diag

Para actualizarlo,ejecute el comando siguiente en PowerShell:

Update-Module PrivateCloud.DiagnosticInfo

GitHub

El repositorio de GitHub es la versión más reciente del módulo, ya que se itera aquí continuamente. Para instalar el módulo desde GitHub, descargue el módulo más reciente del archivo y extraiga el directorio PrivateCloud.DiagnosticInfo en la ruta de acceso correcta de los módulos de PowerShell a la que apunta mediante $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

Si necesita obtener este módulo en un clúster sin conexión, descargue el archivo .zip, muévalo al nodo del servidor de destino e instale el módulo.

Recopilación de registros con PowerShell

Una vez habilitados los canales de eventos y completada la instalación, puede usar el cmdlet de PowerShell Get-SDDCDiagnosticInfo en el módulo para obtener:

  • Informes sobre el estado del almacenamiento, además de detalles sobre los componentes incorrectos.
  • Informes sobre la capacidad de almacenamiento por grupo, volumen y volumen desduplicado.
  • Registros de eventos de todos los nodos del clúster y un informe resumido de los errores.

Supongamos que el clúster de almacenamiento tiene el nombre "CLUS01" .

Para una ejecución en un clúster de almacenamiento remoto:

Get-SDDCDiagnosticInfo -ClusterName CLUS01

Para ejecutar localmente en el nodo de almacenamiento en clústeres:

Get-SDDCDiagnosticInfo

Para guardar los resultados en una carpeta especificada:

Get-SDDCDiagnosticInfo -WriteToPath D:\Folder

Este es un ejemplo de cómo se ve esto en un clúster real:

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

Como puede ver, el script también realiza la comprobación del estado actual del clúster:

Captura de pantalla de PowerShell de recopilación de datos.

Todos los datos se escriben en la carpeta SDDCDiagTemp:

Datos en Explorador de archivos captura de pantalla.

Una vez finalizado el script, creará un archivo .zip en el directorio del usuario:

Captura de pantalla del archivo ZIP de datos en PowerShell.

Vamos a generar un informe en un archivo de texto:

#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

Como referencia, este es un vínculo al informe de ejemplo y al archivo .zip de ejemplo.

Salida Get-SDDCDiagnosticInfo

Estos son los archivos incluidos en la salida comprimida de Get-SDDCDiagnosticInfo.

Informe de estado resumido

El informe de estado resumido se guarda como:

  • 0_CloudHealthSummary.log

Este archivo se genera después de haberse analizado todos los datos recopilados y está pensado como resumen rápido del sistema. Contiene:

  • Información del sistema
  • Información general sobre el estado del almacenamiento (número de nodos activos, recursos en línea, volúmenes compartidos de clústeres en línea, componentes incorrectos, etc.)
  • Detalles sobre los componentes incorrectos (recursos de clúster sin conexión, con errores o en línea pendientes)
  • Información sobre el firmware y el controlador
  • Detalles sobre el grupo, el disco físico y el volumen
  • Rendimiento del almacenamiento (se recopilan contadores de rendimiento)

Este informe se actualiza continuamente para incluir información más útil. Para la información más reciente, consulte el archivo README de GitHub.

Registros y archivos XML

El script ejecuta varios scripts de recopilación de registros y guarda la salida como archivos XML. Recopilamos registros de clúster y estado, información del sistema (MSInfo32), registros de eventos sin filtrar (clústeres de conmutación por error, desdiagnósticos, Hyper-V, espacios de almacenamiento, etc.) e información de diagnóstico de almacenamiento (registros operativos). Para la información más reciente sobre qué información se recopila, consulte el archivo README de GitHub (qué recopilamos).

Consumo de archivos XML de Get-SDDCDiagnosticInfo

Puede consumir los datos de los archivos XML proporcionados en los datos que ha recopilado el cmdlet Get-SDDCDiagnosticInfo. Estos archivos tienen información sobre los discos virtuales, los discos físicos, la información básica del clúster y otras salidas relacionadas con PowerShell.

Para ver los resultados de estas salidas, abra una ventana de PowerShell y ejecute los pasos siguientes.

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

Pasos siguientes

Coméntenos sus problemas aquí e indíquenos qué es lo que le gustaría ver. No dude en contribuir con cambios útiles para el script mediante el envío de una solicitud de incorporación de cambios.