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:
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.
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.
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).
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.
Galería de PowerShell
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:
Todos los datos se escriben en la carpeta SDDCDiagTemp:
Una vez finalizado el script, creará un archivo .zip en el directorio del usuario:
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.