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:
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 .
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.
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.
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.
Galeria do PowerShell
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:
Todos os dados estão a ser escritos na pasta SDDCDiagTemp:
Após a conclusão do script, irá criar um ZIP no seu diretório de utilizador:
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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários