Histórico de desempenho para Espaços de Armazenamento Diretos

Aplica-se a: Windows Server 2022, Windows Server 2019

O histórico de desempenho é um novo recurso que fornece aos administradores dos Espaços de Armazenamento Diretos acesso fácil a medições históricas de computação, memória, rede e armazenamento em servidores host, unidades, volumes, máquinas virtuais e muito mais. O histórico de desempenho é coletado automaticamente e armazenado no cluster por até um ano.

Importante

Este recurso é novo no Windows Server 2019. Ele não está disponível no Windows Server 2016.

Introdução

O histórico de desempenho é coletado por padrão com os Espaços de Armazenamento Diretos no Windows Server 2019. Você não precisa instalar, configurar ou iniciar nada. Não é necessário ter conexão com a Internet, System Center ou banco de dados externo.

Para ver o histórico de desempenho do cluster graficamente, use o Windows Admin Center:

Performance history in Windows Admin Center

Para consultá-lo e processá-lo programaticamente, use o novo cmdlet Get-ClusterPerf. Consulte Uso no PowerShell.

O que é coletado

O histórico de desempenho é coletado para sete tipos de objetos:

Types of objects

Cada tipo de objeto tem muitas séries: por exemplo, ClusterNode.Cpu.Usage é coletado para cada servidor.

Para obter detalhes sobre o que é coletado para cada tipo de objeto e como interpretá-los, consulte estes subtópicos:

Objeto Série
Unidades O que é coletado para unidades
Adaptadores de rede O que é coletado para adaptadores de rede
Servidores O que é coletado para servidores
Discos rígidos virtuais O que é coletado para discos rígidos virtuais
Máquinas virtuais O que é coletado para máquinas virtuais
Volumes O que é coletado para volumes
Clusters O que é coletado para clusters

Muitas séries são agregadas entre objetos pares ao pai: por exemplo, NetAdapter.Bandwidth.Inbound é coletado para cada adaptador de rede separadamente e agregado ao servidor geral. Da mesma forma, ClusterNode.Cpu.Usage é agregado ao cluster geral e assim por diante.

Períodos de tempo

O histórico de desempenho é armazenado por até um ano com granularidade decrescente. Para a hora mais recente, as medidas estão disponíveis a cada dez segundos. Depois disso, elas são mesclados de forma inteligente (pela média ou soma, conforme apropriado) em séries menos granulares que abrangem mais tempo. Para o dia mais recente, as medidas estão disponíveis a cada cinco minutos, para a semana mais recente, a cada quinze minutos, e assim por diante.

No Windows Admin Center, você pode selecionar o período de tempo no canto superior direito acima do gráfico.

Timeframes in Windows Admin Center

No PowerShell, use o parâmetro -TimeFrame.

Aqui estão os períodos disponíveis:

Período de tempo Frequência de medição Retido por
LastHour A cada 10 segundos 1 hora
LastDay A cada 5 minutos 25 horas
LastWeek A cada 15 minutos 8 dias
LastMonth A cada 1 hora 35 dias
LastYear A cada 1 dia 400 dias

Uso no PowerShell

Use o cmdlet Get-ClusterPerformanceHistory para consultar e processar o histórico de desempenho no PowerShell.

Get-ClusterPerformanceHistory

Dica

Use o alias Get-ClusterPerf para salvar alguns pressionamentos de tecla.

Exemplo

Obtenha o uso da CPU da máquina virtual MyVM na última hora:

Get-VM "MyVM" | Get-ClusterPerf -VMSeriesName "VM.Cpu.Usage" -TimeFrame LastHour

Para obter exemplos mais avançados, consulte os scripts de exemplo publicados que fornecem código inicial para encontrar valores de pico, calcular médias, plotar linhas de tendência, executar detecção de exceção e muito mais.

Especificar o objeto

Você pode especificar o objeto desejado pelo pipeline. Isso funciona com sete tipos de objetos:

Objeto do pipeline Exemplo
Get-PhysicalDisk Get-PhysicalDisk -SerialNumber "XYZ456" | Get-ClusterPerf
Get-NetAdapter Get-NetAdapter "Ethernet" | Get-ClusterPerf
Get-ClusterNode Get-ClusterNode "Server123" | Get-ClusterPerf
Get-VHD Get-VHD "C:\ClusterStorage\MyVolume\MyVHD.vhdx" | Get-ClusterPerf
Get-VM Get-VM "MyVM" | Get-ClusterPerf
Get-Volume Get-Volume -FriendlyName "MyVolume" | Get-ClusterPerf
Get-Cluster Get-Cluster "MyCluster" | Get-ClusterPerf

Se você não especificar, o histórico de desempenho do cluster geral será retornado.

Especificar a série

Você pode especificar a série desejada com estes parâmetros:

Parâmetro Exemplo Lista
-PhysicalDiskSeriesName "PhysicalDisk.Iops.Read" O que é coletado para unidades
-NetAdapterSeriesName "NetAdapter.Bandwidth.Outbound" O que é coletado para adaptadores de rede
-ClusterNodeSeriesName "ClusterNode.Cpu.Usage" O que é coletado para servidores
-VHDSeriesName "Vhd.Size.Current" O que é coletado para discos rígidos virtuais
-VMSeriesName "Vm.Memory.Assigned" O que é coletado para máquinas virtuais
-VolumeSeriesName "Volume.Latency.Write" O que é coletado para volumes
-ClusterSeriesName "PhysicalDisk.Size.Total" O que é coletado para clusters

Dica

Use o autopreenchimento com TAB para descobrir as séries disponíveis.

Se você não especificar, todas as séries disponíveis para o objeto especificado serão retornadas.

Especificar o período de tempo

Você pode especificar o período de tempo do histórico desejado com o parâmetro -TimeFrame.

Dica

Use o autopreenchimento com TAB para descobrir os períodos disponíveis.

Se você não especificar, a medida MostRecent será retornada.

Como ele funciona

Armazenamento do histórico de desempenho

Logo após a habilitação dos Espaços de Armazenamento Diretos, um volume de aproximadamente 10 GB chamado ClusterPerformanceHistory é criado e uma instância do Mecanismo de Armazenamento Extensível (também conhecido como Microsoft JET) é provisionada lá. Esse banco de dados leve armazena o histórico de desempenho sem qualquer envolvimento ou gerenciamento do administrador.

Volume for performance history storage

O volume é apoiado pelos Espaços de Armazenamento e usa resiliência de espelhamento simples, de duas vias ou de três vias, dependendo do número de nós no cluster. Ele é reparado após falhas de unidade ou servidor, assim como qualquer outro volume nos Espaços de Armazenamento Diretos.

O volume usa ReFS, mas não é CSV (Volume Compartilhado Clusterizado). Portanto, ele só aparece no nó proprietário do Grupo de Clusters. Além de ser criado automaticamente, não há nada de especial nesse volume: você pode vê-lo, navegá-lo, redimensioná-lo ou excluí-lo (não recomendado). Se algo der errado, confira a Solução de problemas.

Descoberta de objetos e coleta de dados

O histórico de desempenho descobre automaticamente objetos relevantes, como máquinas virtuais, em qualquer lugar do cluster e começa a transmitir seus contadores de desempenho. Os contadores são agregados, sincronizados e inseridos no banco de dados. O streaming é executado continuamente e é otimizado para impacto mínimo no sistema.

A coleta é tratada pelo Serviço de Integridade, que é altamente disponível: se o nó em que ele está em execução ficar inativo, ele será retomado momentos depois em outro nó no cluster. O histórico de desempenho pode falhar brevemente, mas será retomado automaticamente. Você pode ver o Serviço de Integridade e seu nó proprietário executando Get-ClusterResource Health no PowerShell.

Tratamento de lacunas de medição

Quando as medidas são mescladas em séries menos granulares que abrangem mais tempo, conforme descrito em Períodos de tempo, os períodos de dados ausentes são excluídos. Por exemplo, se o servidor ficou inativo por 30 minutos, então ao executar em 50% da CPU nos próximos 30 minutos, a média ClusterNode.Cpu.Usage da hora será registrada corretamente como 50% (não 25%).

Extensibilidade e personalização

O histórico de desempenho é amigável para scripts. Use o PowerShell para efetuar pull de qualquer histórico disponível diretamente do banco de dados para criar relatórios ou alertas automatizados, exportar o histórico de segurança, criar suas próprias visualizações etc. Consulte os scripts de exemplo publicados para obter um código inicial útil.

Não é possível coletar o histórico de objetos, períodos de tempo ou séries adicionais.

A frequência de medição e o período de retenção não são configuráveis no momento.

Iniciar ou parar o histórico de desempenho

Como habilitar esse recurso?

A menos que você ative Stop-ClusterPerformanceHistory, o histórico de desempenho está habilitado por padrão.

Para habilitá-lo novamente, execute este cmdlet do PowerShell como Administrador:

Start-ClusterPerformanceHistory

Como desabilitar esse recurso?

Para parar de coletar o histórico de desempenho, execute este cmdlet do PowerShell como Administrador:

Stop-ClusterPerformanceHistory

Para excluir as medidas existentes, use o sinalizador -DeleteHistory:

Stop-ClusterPerformanceHistory -DeleteHistory

Dica

Durante a implantação inicial, você pode impedir que o histórico de desempenho seja iniciado definindo o parâmetro -CollectPerformanceHistory de Enable-ClusterStorageSpacesDirect como $False.

Solução de problemas

O cmdlet não funciona

Uma mensagem de erro como "O termo 'Get-ClusterPerf' não é reconhecido como o nome de um cmdlet" significa que o recurso não está disponível ou instalado. Verifique se você tem a compilação de pré-visualização 17692 ou posterior do Windows Server Insider, se instalou o Clustering de Failover e se está executando os Espaços de Armazenamento Diretos.

Observação

Esse recurso não está disponível no Windows Server 2016 ou anterior.

Sem dados disponíveis

Se um gráfico exibir "Nenhum dado disponível" como mostrado, veja como solucionar o problema:

No data available

  1. Se o objeto tiver sido adicionado ou criado recentemente, aguarde até que ele seja descoberto (até 15 minutos).

  2. Atualize a página ou aguarde a próxima atualização em segundo plano (até 30 segundos).

  3. Determinados objetos especiais são excluídos do histórico de desempenho, por exemplo, máquinas virtuais que não estão clusterizadas e volumes que não usam o sistema de arquivos CSV (Volume Compartilhado Clusterizado). Verifique o subtópico do tipo de objeto, como Histórico de desempenho para volumes, para obter os detalhes.

  4. Se o problema persistir, abra o PowerShell como Administrador e execute o cmdlet Get-ClusterPerf. O cmdlet inclui lógica de solução de problemas para identificar problemas comuns, como se o volume ClusterPerformanceHistory está ausente, e fornece instruções de correção.

  5. Se o comando na etapa anterior não retornar nada, você poderá tentar reiniciar o Serviço de Integridade (que coleta o histórico de desempenho) executando Stop-ClusterResource Health ; Start-ClusterResource Health no PowerShell.

Referências adicionais