Lista de cmdlet do cmdlet Test-Cluster Powershell vs Validate

8

O cmdlet Powershell Test-Cluster consulta uma infinidade de dados e executa testes de validação que envolvem um relatório bonito. Se você executar Test-Cluster -List , obterá uma lista de itens que você pode consultar individualmente com o cmdlet. Há um esquema de nomenclatura comum quando você lê o DisplayName 's. Todos começam com "Lista" ou "Validar" .

Obviamente, "Validar" testará realmente o failover por falhar. Mas nomear algo "Lista" faz-me pensar que é apenas uma consulta de dados como está 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 percebo qualquer atividade de failover enquanto esse relatório é gerado. O technet da Microsoft também não está claro sobre isso, mas eles inferem que o comportamento está em linha com o que estou pensando que é. Veja este trecho (grifo meu):

Test results are captured in a file with the file name that you specify. By running the validation tests, you can confirm that your hardware and settings are compatible with Failover Clustering. There are multiple types of tests, including Cluster, Inventory, Network, Storage, System, and other types of tests. Storage tests will not test online disks or storage pools that are in use by a clustered role. To test such disks, first run Stop-ClusterGroup to stop the clustered role, and then run Test-Cluster. After the tests are done, start the clustered roles, also known as resource groups, again.

Página do 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. Eu pesquisei um pouco para encontrar a documentação que descreve a lógica por trás da divisão "Validar" vs "Lista" , mas não encontrei nada. Isso leva à pergunta ...

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

    
por Colyn1337 19.11.2014 / 23:52

4 respostas

1

A divisão entre Validação e Lista destina-se a direcionar o resultado esperado. Os testes Validação são booleanos e retornam aprovação / reprovação, sim / não, até / com falha, etc. Os testes Lista retornam dados estatísticos e operacionais para revisão.

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

  • Validar a arbitragem de disco
  • Validar failover de disco
  • Validar Arbitragem Múltipla
  • Validar reserva persistente SCSI-3
  • Validar o failover simultâneo

É importante observar que, se Test-Cluster for executado sem o uso dos parâmetros include ou exclude, executará esses testes . Embora os testes listados acima acionarão um evento de failover, os testes a seguir podem afetar o desempenho . Eles são:

  • Validar a latência do acesso ao disco
  • Validar sistema de arquivos
  • Validar discos baseados em MPIO da Microsoft
  • Validar dados vitais do produto do dispositivo SCSI

Todos os testes listados acima fazem parte da categoria armazenamento . Como tal, é normalmente recomendado que os testes 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 parâmetro Include para escolher seletivamente seus testes, há dois testes de armazenamento seguros que você pode executar. Eles são:

  • Listar todos os discos
  • Listar discos a serem validados

Fonte 1 e Source 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 categoria Storage contém testes que dispararão um desempenho de failover ou impacto (de acordo com a Microsoft). Além disso, a maioria dessas categorias de teste não deve ser executada depois que o cluster for certificado e operacional. Exceto por um que seja ...

Para clusters existentes

Microsoft projetado Cluster Configuration testes para uso em um cluster existente. Na verdade, esses testes são executados somente em clusters existentes. Para executar esta categoria de teste, execute o seguinte comando:

Test-Cluster -Include "Cluster Configuration"

Fonte 3

    
por 15.12.2014 / 17:48
0

Na minha experiência, o Test-Cluster nunca aciona um evento de failover. Ele é 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 "Validar Cluster" da GUI dentro do Gerenciador de Cluster de Failover. Na verdade, ele não "testa" a função "Failover" do cluster.

    
por 02.12.2014 / 21:27
0

De acordo com o link abaixo:

[descrição do cluster de teste] [1] link

Exemplo 3: Lista de clusters de teste

Este comando lista os nomes de todos os testes e categorias na validação do 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 de sua pergunta: o displayname

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

    
por 03.12.2014 / 14:36
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" tem sido consistente desde 2008R2. A maioria dos testes que começam com "Lista" são considerados Testes de Inventário , eles não afetam o estado de um cluster atualmente configurado. Todos os commandlets que começam com list são de natureza informativa, conforme detalhado neste snippet de technet abaixo.

Inventory tests provide lists of information about the hardware, software, and settings on each of the servers you are testing. You can use inventory tests alone (without other tests in the Validate a Cluster Configuration Wizard) to review or record the configuration of hardware (for example, to review that the software updates on each server are identical after you perform scheduled maintenance).

Mais informações podem ser encontradas em: Technet - Noções Básicas Sobre Testes de Validação de Clusters: Inventário

    
por 03.12.2014 / 14:54