Partilhar via


Coletar 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

Importante

O Azure Stack HCI agora faz parte do Azure Local. No entanto, as versões mais antigas do Azure Stack HCI, por exemplo 22H2, continuarão a fazer referência ao Azure Stack HCI e não refletirão a alteração de nome. Mais informações.

Há várias ferramentas de diagnóstico no Storage Spaces Direct que você pode usar para coletar os dados necessários para solucionar problemas de clusters do Azure Stack HCI e do Windows Server. Neste artigo, vamos nos concentrar na instalação e no uso de ferramentas de diagnóstico SDDC para reunir informações relevantes para ajudá-lo a diagnosticar seu cluster.

Como os registos e outras informações são densos, as informações apresentadas neste artigo são úteis para resolver questões avançadas que foram escaladas e que podem exigir o envio de dados à Microsoft para triagem.

Instalar e usar ferramentas de diagnóstico com o Windows Admin Center

Você pode usar o Windows Admin Center (versão 1812 em diante) para:

  • Instale as ferramentas de diagnóstico SDDC e mantenha-as atualizadas.
  • Agende execuções de diagnóstico diárias (estas têm um baixo impacto no seu sistema, geralmente levam menos de cinco minutos para serem executadas em segundo plano e não ocupam mais de 500 MB no cluster).
  • Visualize as informações de diagnóstico coletadas anteriormente se precisar fornecê-las ao pessoal de suporte ou analisá-las você mesmo.

Para instalar as ferramentas de diagnóstico SDDC e começar a coletar dados, execute estas etapas:

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

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

  2. Para começar a coletar dados de diagnóstico, clique em Coletar. Você verá uma mensagem que diz "Coletando informações de diagnóstico. Isso pode levar alguns minutos." Após a coleta de dados inicial, se você quiser coletar dados automaticamente a cada 24 horas, altere o controle deslizante para Ativado.

    Clique em Coletar para coletar dados de diagnóstico.

  3. A coleta de dados não estará completa até que você veja a captura de tela abaixo. Para visualizar as informações de diagnóstico recolhidas, escolha Transferir (.zip) ou Abrir na ferramenta de Arquivos.

    Para exibir informações de diagnóstico, você pode baixar um arquivo de .zip ou abrir na ferramenta Arquivos.

Instalar o Get-SDDCDiagnosticInfo com o PowerShell

Você pode usar o Get-SDDCDiagnosticInfo cmdlet do PowerShell (também conhecido como Get-PCStorageDiagnosticInfo, anteriormente conhecido como Test-StorageHealth) para coletar logs e executar verificações de integridade para Clustering de Failover (cluster, recursos, redes, nós), Espaços de Armazenamento (discos físicos, compartimentos, discos virtuais), Volumes Compartilhados de Cluster, compartilhamentos de arquivos SMB e Desduplicação.

Há dois métodos de instalação do script: Galeria do PowerShell e GitHub. Ambos são descritos abaixo.

O Galeria do PowerShell é um instantâneo do repositório GitHub. Observe que a instalação de itens da 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 PowerShell 3 e 4).

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

Você pode instalar o módulo executando 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 de repositório do GitHub é a versão mais up-todo módulo, já que estamos continuamente iterando aqui. Para instalar o módulo do GitHub, baixe o módulo mais recente do arquivo e extraia o diretório PrivateCloud.DiagnosticInfo para o caminho correto dos módulos do PowerShell designado 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 você precisar obter esse módulo em um cluster offline, baixe o arquivo zip, mova-o para o nó do servidor de destino e instale o módulo.

Recolhendo os logs com o PowerShell

Depois de habilitar os canais de eventos e concluir o processo de instalação, você pode usar o cmdlet Get-SDDCDiagnosticInfo PowerShell no módulo para obter:

  • Relatórios sobre a integridade do armazenamento, além de detalhes sobre componentes não íntegros.
  • Relatórios de capacidade de armazenamento por pool, volume e volume deduplicado.
  • Registos de eventos de todos os nós do cluster e um relatório resumido de erros.

Suponha que seu cluster de armazenamento tenha o nome CLUS01.

Para executar em um cluster de armazenamento remoto:

Get-SDDCDiagnosticInfo -ClusterName CLUS01

Para executar localmente no nó de armazenamento clusterizado:

Get-SDDCDiagnosticInfo

Para salvar os resultados em uma pasta especificada:

Get-SDDCDiagnosticInfo -WriteToPath D:\Folder

Aqui está um exemplo de como isso se parece em um cluster real:

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

Como você pode ver, o script também faz a validação do estado atual do cluster:

Captura de tela do PowerShell de coleta de dados.

Todos os dados são gravados na pasta SDDCDiagTemp:

Dados na captura de tela do Explorador de Arquivos.

Depois que o script terminar, ele criará um arquivo zip no diretório do usuário:

Arquivo zip de dados na captura de tela do PowerShell.

Gere um relatório em um arquivo 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, aqui está um link para o relatório de exemplo e o ficheiro zip de exemplo.

Saída Get-SDDCDiagnosticInfo

Os seguintes ficheiros estão incluídos na saída comprimida do Get-SDDCDiagnosticInfo.

Relatório de resumo de saúde

O relatório de resumo de saúde é salvo como 0_CloudHealthSummary.log.

Este ficheiro é gerado após a análise de todos os dados recolhidos e destina-se a fornecer um resumo rápido do seu sistema. Contém:

  • Informações do sistema.
  • Visão geral da integridade do armazenamento (número de nós ativos, recursos on-line, volumes compartilhados de cluster on-line, componentes não íntegros, etc.).
  • Detalhes sobre componentes não saudáveis (recursos do cluster que estão offline, com falha, ou em espera para estar online).
  • Informações de firmware e controlador.
  • Detalhes do pool, do disco físico e do volume.
  • Desempenho do armazenamento (contadores de desempenho são recolhidos).

Este relatório é continuamente atualizado para incluir informações mais úteis. Para obter as informações mais recentes, consulte o arquivo readme do GitHub.

Logs e arquivos XML

O script executa vários scripts de coleta de log e salva a saída como arquivos xml. Recolhemos logs de cluster e de integridade, informações do sistema (MSInfo32), logs de eventos não filtrados (cluster de failover, diagnósticos de disco, Hyper-V, espaços de armazenamento e muito mais) e informações de diagnósticos de armazenamento (logs operacionais). Para obter as informações mais recentes sobre quais informações são recolhidas, consulte o ficheiro README do GitHub (informações que recolhemos).

Como consumir arquivos XML de Get-SDDCDiagnosticInfo

Você pode consumir os dados dos arquivos XML fornecidos nos dados coletados pelo Get-SDDCDiagnosticInfo cmdlet. Esses arquivos têm informações sobre os discos virtuais, discos físicos, informações básicas de cluster e outras saídas relacionadas ao PowerShell.

Para ver os resultados dessas saídas, abra uma janela do PowerShell e execute os seguintes comandos:

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

Próximos passos

Forneça feedback sobre o que gostaria de ver ao registar problemas aqui . Além disso, sinta-se à vontade para contribuir com alterações úteis no script ao enviar um pedido de pull.