Compartilhar 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

Há várias ferramentas de diagnóstico em Espaços de Armazenamento Diretos 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, nos concentraremos em instalar e usar ferramentas de diagnóstico do SDDC para coletar informações relevantes para ajudá-lo a diagnosticar seu cluster.

Como os logs e outras informações são densos, as informações apresentadas neste artigo são úteis para solucionar problemas avançados que foram escalonados e que podem exigir que os dados sejam enviados à Microsoft para triagem.

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

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

  • Instalar ferramentas de diagnóstico do SDDC e mantê-las atualizadas
  • Agendar execuções diárias de diagnóstico (elas têm um impacto baixo no sistema, geralmente levam menos de cinco minutos para serem executadas em segundo plano e não ocuparão mais de 500 MB no cluster)
  • Exibir informações de diagnóstico coletadas anteriormente se você precisar dar suporte a elas ou analisá-las por conta própria

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

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

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

  2. Para começar a coletar dados de diagnóstico, clique em Coletar. Você deverá 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 está concluída até que você veja a captura de tela abaixo. Para exibir as informações de diagnóstico coletadas, escolha Baixar (.zip) ou Abrir na ferramenta Arquivos.

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

Instalando Get-SDDCDiagnosticInfo com o PowerShell

Você pode usar o cmdlet do Get-SDDCDiagnosticInfo PowerShell (também conhecido como , anteriormente conhecido como Get-PCStorageDiagnosticInfoTest-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 clusterizados, compartilhamentos de arquivos SMB e Eliminação de Duplicaçã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 do Galeria do PowerShell requer a versão mais recente do módulo PowerShellGet, que está disponível em 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 de Diagnóstico de Rede da Microsoft durante esse processo também, pois Get-SDDCDiagnosticInfo depende disso. Este módulo de manifesto contém a ferramenta de diagnóstico e solução de problemas de rede, que são mantidas pelo Grupo de Produtos de Rede do Microsoft Core 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 Repositório GitHub é a versão mais atualizada do módulo, pois estamos iterando continuamente aqui. Para instalar o módulo do GitHub, baixe o módulo mais recente do arquivo morto e extraia o diretório PrivateCloud.DiagnosticInfo para o caminho correto de 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 você precisar obter este módulo em um cluster offline, baixe o zip, mova-o para o nó do servidor de destino e instale o módulo.

Coletando logs com o PowerShell

Depois de habilitar os canais de eventos e concluir o processo de instalação, você poderá usar o cmdlet do 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 duplicado
  • Logs de eventos de todos os nós de cluster e um relatório de erro de resumo

Suponha que o 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 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 fará a validação do estado atual do cluster:

Captura de tela do PowerShell da coleta de dados.

Todos os dados estão sendo gravados na pasta SDDCDiagTemp:

Dados em Explorador de Arquivos captura de tela.

Depois que o script for concluído, ele criará um ZIP no diretório do usuário:

Zip de dados na captura de tela do PowerShell.

Vamos gerar 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 zip de exemplo.

saída Get-SDDCDiagnosticInfo

Veja a seguir os arquivos incluídos na saída compactada de Get-SDDCDiagnosticInfo.

Relatório de resumo de integridade

O relatório de resumo de integridade é salvo como:

  • 0_CloudHealthSummary.log

Esse arquivo é gerado depois de analisar todos os dados coletados e destina-se a fornecer um resumo rápido do sistema. Ele contém:

  • Informações do sistema
  • Visão geral da integridade do armazenamento (número de nós para cima, recursos online, volumes compartilhados de cluster online, componentes não íntegros etc.)
  • Detalhes sobre componentes não íntegros (recursos de cluster offline, com falha ou pendentes online)
  • Informações de firmware e driver
  • Pool, disco físico e detalhes do volume
  • Desempenho de armazenamento (contadores de desempenho são coletados)

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

Logs e arquivos XML

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

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 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 as etapas a seguir.

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

Próximas etapas

Forneça comentários sobre o que você gostaria de ver apresentando problemas aqui. Além disso, fique à vontade para contribuir com alterações úteis no script enviando uma solicitação de pull.