Lista de cmdlet do PowerShell do Test-Cluster vs Validar

8

O cmdlet do Powershell Test-Clusterconsulta uma infinidade de dados e executa testes de validação, os quais agrupam em um relatório bonito. Se você executar Test-Cluster -Listuma lista de itens, poderá consultar individualmente o cmdlet. Existe um esquema de nomenclatura comum quando você lê os DisplayName. Todos eles começam com "Lista" ou "Validar" .

Obviamente, "Validar" realmente testará o failover ao falhar. Mas nomear algo "Lista" me faz pensar que é apenas uma consulta de dados, como no momento em que foi executada. Eu testei isso com o seguinte script:

$TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"}
Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report"

Não vejo nenhum erro de cluster registrado ou noto qualquer atividade de failover enquanto este relatório é gerado. O technet da Microsoft também não é claro quanto a isso, mas eles inferem que o comportamento está alinhado com o que eu estou pensando. Veja este trecho (ênfase minha):

Os resultados do teste são capturados em um arquivo com o nome que você especificar. Ao executar os testes de validação, você pode confirmar se o hardware e as configurações são compatíveis com Failover Clustering . Existem vários tipos de testes, incluindo Cluster, Inventário, Rede, Armazenamento, Sistema e outros tipos de testes. Os testes de armazenamento não testam discos online ou conjuntos de armazenamentos que estão sendo usados ​​por uma função em cluster. Para testar esses discos, primeiro execute o Stop-ClusterGroup para interromper a função em cluster e, em seguida, execute o Test-Cluster. Após a conclusão dos testes, inicie as funções em cluster, também conhecidas como grupos de recursos.

Página TechNet do Cluster de Teste

Gostaria de chamar sua atenção para o uso da palavra "Validação" . Além disso, ao executar esse script, como parte da saída, ele diz:

Test Result:
ClusterSkippedTestsCompleted

Se você incluir um teste de validação, o resultado será:

Test Result:
ClusterConditionallyApproved

No meu ambiente de teste, os testes de rede geraram alguns avisos que acionaram a aprovação condicional. Pesquisei bastante no Google a documentação que descreve a lógica por trás da divisão "Validar" x "Lista", mas não encontrei nada. Isso leva à pergunta ...

As solicitações de lista acionam um evento de failover?

Colyn1337
fonte

Respostas:

2

A divisão entre Validação e Lista tem como objetivo direcionar o resultado esperado. Os testes de validação são booleanos e retornam aprovação / reprovação, sim / não, ativo / reprovado, etc. Os testes da Lista retornam dados estatísticos e operacionais para revisão.

A Microsoft criou os testes com o Zero Downtime em mente. E na maioria das vezes isso é verdade. Existem testes que acionam um failover e causam tempo de inatividade . Eles são:

  • Validar arbitragem de disco
  • Validar failover de disco
  • Validar arbitragem múltipla
  • Validar reserva persistente SCSI-3
  • Validar Failover Simultâneo

É importante observar que, se Test-Clusterfor executado sem o uso dos parâmetros de inclusão ou exclusão, ele executará esses testes . Embora os testes listados acima disparem um evento de failover, os seguintes testes podem afetar o desempenho . Eles são:

  • Validar Latência de Acesso ao Disco
  • Validar sistema de arquivos
  • Validar discos baseados no Microsoft MPIO
  • Validar dados vitais do produto do dispositivo SCSI

Todos os testes listados acima fazem parte da categoria de armazenamento . Como tal, normalmente é recomendado que os testes de armazenamento sejam evitados em um servidor em produção. Para excluir esses testes, execute o seguinte comando:

Test-Cluster -Ignore Storage

Se você estiver usando o Includeparâmetro para escolher seletivamente seus testes, há dois testes de armazenamento seguro que você pode executar. Eles são:

  • Listar todos os discos
  • Listar discos a serem validados

Fonte 1 e Fonte 2

Todos os testes de cluster disponíveis são agrupados em 5 categorias de teste. Eles são Cluster Configuration, Inventory, Network, Storage, e System Configuration. Somente a Storagecategoria contém testes que acionam um failover ou afetam o desempenho (de acordo com a Microsoft). Além disso, a maioria dessas categorias de teste não deve ser executada após o cluster ser certificado e operacional. Exceto por um que é ...

Para Clusters Existentes

A Microsoft projetou Cluster Configuration testes para uso em um cluster existente. De fato, esses testes são executados apenas em clusters existentes. Para executar esta categoria de teste, execute o seguinte comando:

Test-Cluster -Include "Cluster Configuration"

Fonte 3

Colyn1337
fonte
0

Na minha experiência, o Test-Cluster nunca aciona um evento de failover. Ele foi projetado apenas para verificar as configurações de hardware e software para ver se tudo é compatível com o cluster de failover. Pelo que entendi, o Test-Cluster também é executado ao usar a função GUI "Validate Cluster" no Gerenciador de Cluster de Failover. Na verdade, não "testa" a função "Failover" do cluster.

NorbyTheGeek
fonte
0

Conforme o link abaixo:

[descrição do cluster de teste] [1] http://technet.microsoft.com/en-us/library/ee461026.aspx

Exemplo 3: Lista de Cluster de Teste

Este comando lista os nomes de todos os testes e categorias na validação de cluster . Você pode especificar esses nomes de teste com -Ignore ou -Include para executar testes específicos.

Portanto, o comando list fornece apenas uma lista de testes que você pode executar e validar o cluster.


A outra parte da sua pergunta: O nome da exibição

Os DisplayNames que começam com List apenas capturam as informações dos nós do cluster , enquanto os DisplayNames que começam com Validate realmente testam a configuração (faz o failover de discos, testes de sharewithess, testes de rede etc ...)

Zarko
fonte
0

Resposta simples: solicitações de lista NÃO acionam eventos de failover.

Resposta detalhada: A lógica por trás da divisão dos testes em "Validar" vs "Lista" é consistente desde 2008R2. A maioria dos testes iniciados com "Lista" são considerados Testes de inventário , mas não afetam o estado de um cluster configurado no momento. Todos os comandos que começam com a lista são informativos, conforme detalhado neste snippet de technet abaixo.

Os testes de inventário fornecem listas de informações sobre o hardware, software e configurações em cada um dos servidores que você está testando. Você pode usar os testes de inventário sozinhos (sem outros testes no Assistente para validar uma configuração de cluster) para revisar ou registrar a configuração do hardware (por exemplo, para verificar se as atualizações de software em cada servidor são idênticas após a execução da manutenção programada).

Mais informações podem ser encontradas em: Technet - Compreendendo os testes de validação de cluster: Inventário

Nate
fonte
Inventoryé uma categoria de testes que inclui testes de lista. No entanto, os testes de lista NÃO são considerados testes de inventário.
Colyn1337