Partilhar via


Recolher dados de diagnóstico para clusters

Aplica-se a: Azure Stack HCI, versões 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

Existem várias ferramentas de diagnóstico no Espaços de Armazenamento Direto que pode utilizar para recolher os dados necessários para resolver problemas de clusters do Azure Stack HCI e do Windows Server. Neste artigo, vamos focar-nos na instalação e utilização de ferramentas de diagnóstico SDDC para recolher informações relevantes para o ajudar a diagnosticar o cluster.

Uma vez que os registos e outras informações são densos, as informações apresentadas neste artigo são úteis para resolver problemas avançados que foram escalados e que podem exigir o envio de dados para a Microsoft para triagem.

Instalar e utilizar ferramentas de diagnóstico com Windows Admin Center

Pode utilizar Windows Admin Center (versão 1812) para:

  • Instalar ferramentas de diagnóstico SDDC e mantê-las atualizadas
  • Agendar execuções de diagnóstico diárias (estas têm um impacto baixo no seu sistema, normalmente demoram menos de cinco minutos a ser executadas em segundo plano e não ocupam mais de 500 MB no cluster)
  • Veja as informações de diagnóstico recolhidas anteriormente se precisar de as dar para suportar ou analisá-las por si próprio

Para instalar ferramentas de diagnóstico SDDC e começar a recolher dados, siga estes passos:

  1. Inicie Windows Admin Center e selecione Ferramentas > Diagnósticos. Se as ferramentas de diagnóstico ainda não estiverem instaladas, clique no botão Instalar .

    Clique em Instalar para instalar ferramentas de diagnóstico SDDC.

  2. Para começar a recolher dados de diagnóstico, clique em Recolher. Deverá ver uma mensagem a indicar "Recolher informações de diagnóstico. Isto pode demorar alguns minutos." Após a recolha de dados inicial, se quiser recolher dados automaticamente a cada 24 horas, altere o controlo de deslize para Ativado.

    Clique em Recolher para recolher dados de diagnóstico.

  3. A recolha de dados não está concluída até ver a captura de ecrã abaixo. Para ver as informações de diagnóstico recolhidas, selecione Transferir (.zip) ou Abrir na ferramenta Ficheiros.

    Para ver as informações de diagnóstico, pode transferir um ficheiro .zip ou abrir na ferramenta Ficheiros.

Instalar Get-SDDCDiagnosticInfo com o PowerShell

Pode utilizar o cmdlet do Get-SDDCDiagnosticInfo PowerShell (também conhecido como Get-PCStorageDiagnosticInfo, anteriormente conhecido como Test-StorageHealth) para recolher registos e efetuar verificações de estado de funcionamento do Clustering de Ativação Pós-falha (cluster, recursos, redes, nós), Espaços de Armazenamento (discos físicos, bastidores, discos virtuais), Volumes Partilhados de Cluster, partilhas de ficheiros SMB e Eliminação de Duplicados.

Existem dois métodos para instalar o script: Galeria do PowerShell e GitHub. Ambos estão descritos abaixo.

O Galeria do PowerShell é um instantâneo do Repositório do GitHub. Tenha em atenção que a instalação de itens do Galeria do PowerShell requer a versão mais recente do módulo PowerShellGet, que está disponível no Windows 10, no Windows Management Framework (WMF) 5.0 ou no instalador baseado em MSI (para o PowerShell 3 e 4).

Instalamos a versão mais recente das ferramentas de Diagnóstico de Rede da Microsoft durante este processo, uma Get-SDDCDiagnosticInfo vez que depende disto. Este módulo de manifesto contém o diagnóstico de rede e a ferramenta de resolução de problemas, que são mantidos pelo Microsoft Core Networking Product Group na Microsoft.

Pode instalar o módulo ao executar o seguinte comando no PowerShell como administrador:

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

Para atualizar o módulo, execute o seguinte comando no PowerShell:

Update-Module PrivateCloud.DiagnosticInfo

GitHub

O Repositório do GitHub é a versão mais atualizada do módulo, uma vez que estamos continuamente a iterar aqui. Para instalar o módulo a partir do GitHub, transfira o módulo mais recente do arquivo e extraia o diretório PrivateCloud.DiagnosticInfo para o caminho correto dos módulos do PowerShell apontado por $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

Se precisar de obter este módulo num cluster offline, transfira o zip, mova-o para o nó do servidor de destino e instale o módulo.

Recolher registos com o PowerShell

Depois de ativar os canais de eventos e concluir o processo de instalação, pode utilizar o cmdlet do Get-SDDCDiagnosticInfo PowerShell no módulo para obter:

  • Relatórios sobre o estado de funcionamento do armazenamento, além de detalhes sobre componentes em mau estado de funcionamento
  • Relatórios de capacidade de armazenamento por conjunto, volume e volume duplicado
  • Registos de eventos de todos os nós de cluster e um relatório de erros de resumo

Suponha que o cluster de armazenamento tem o nome "CLUS01".

Para executar num cluster de armazenamento remoto:

Get-SDDCDiagnosticInfo -ClusterName CLUS01

Para executar localmente no nó de armazenamento em cluster:

Get-SDDCDiagnosticInfo

Para guardar resultados numa pasta especificada:

Get-SDDCDiagnosticInfo -WriteToPath D:\Folder

Eis um exemplo do aspeto deste aspeto num cluster real:

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

Como pode ver, o script também fará a validação do estado atual do cluster:

Captura de ecrã do PowerShell de recolha de dados.

Todos os dados estão a ser escritos na pasta SDDCDiagTemp:

Dados na Explorador de Ficheiros captura de ecrã.

Após a conclusão do script, irá criar um ZIP no seu diretório de utilizador:

Zip de dados na captura de ecrã do PowerShell.

Vamos gerar um relatório num ficheiro 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

Para referência, eis uma ligação para o relatório de exemplo e o zip de exemplo.

Get-SDDCDiagnosticInfo saída

Seguem-se os ficheiros incluídos na saída zipada de Get-SDDCDiagnosticInfo.

Relatório de resumo do estado de funcionamento

O relatório de resumo do estado de funcionamento é guardado como:

  • 0_CloudHealthSummary.log

Este ficheiro é gerado depois de analisar todos os dados recolhidos e destina-se a fornecer um resumo rápido do seu sistema. Contém:

  • Informações do sistema
  • Descrição geral do estado de funcionamento do armazenamento (número de nós para cima, recursos online, volumes partilhados de cluster online, componentes em mau estado de funcionamento, etc.)
  • Detalhes sobre componentes em mau estado de funcionamento (recursos de cluster que estão offline, com falhas ou online pendentes)
  • Informações de firmware e controlador
  • Detalhes do conjunto, do disco físico e do volume
  • Desempenho do Armazenamento (os contadores de desempenho são recolhidos)

Este relatório está a ser atualizado continuamente para incluir informações mais úteis. Para obter as informações mais recentes, consulte o GitHub README.

Registos e ficheiros XML

O script executa vários scripts de recolha de registos e guarda a saída como ficheiros xml. Recolhemos registos de clusters e de estado de funcionamento, informações do sistema (MSInfo32), registos de eventos não filtrados (clustering de ativação pós-falha, diagnósticos dis, Hyper-V, espaços de armazenamento e muito mais) e informações de diagnóstico de armazenamento (registos operacionais). Para obter as informações mais recentes sobre as informações recolhidas, consulte o GITHub README (o que recolhemos).

Como consumir ficheiros XML a partir de Get-SDDCDiagnosticInfo

Pode consumir os dados dos ficheiros XML fornecidos nos dados recolhidos pelo Get-SDDCDiagnosticInfo cmdlet. Estes ficheiros têm informações sobre os discos virtuais, discos físicos, informações básicas do cluster e outras saídas relacionadas com o PowerShell.

Para ver os resultados destas saídas, abra uma janela do PowerShell e execute os seguintes passos.

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

Passos seguintes

Forneça feedback sobre o que gostaria de ver ao arquivar problemas aqui. Além disso, pode contribuir com alterações úteis para o script ao submeter um pedido Pull.