Histórico de desempenho para Espaços de Armazenamento Diretos
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:
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:
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.
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.
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 o Windows Server 2025, se instalou o Clustering de Failover e se está executando 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:
Se o objeto tiver sido adicionado ou criado recentemente, aguarde até que ele seja descoberto (até 15 minutos).
Atualize a página ou aguarde a próxima atualização em segundo plano (até 30 segundos).
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.
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.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.