Executar testes de cluster para Espaços de Armazenamento Diretos (S2D) no Windows HLK
Resumo
Este documento contém instruções para parceiros e fabricantes de equipamentos originais (OEMs) sobre como usar testes incluídos no HLK (Windows Hardware Lab Kit, anteriormente HCK) para validar configurações de hardware específicas para funcionalidade básica e confiabilidade para Espaços de Armazenamento Diretos (S2D).
Importante
As instruções neste documento são apenas para fins de teste. Eles não se destinam a usuários finais ou a configurar sistemas para uso em produção.
Pré-requisitos
- A configuração de hardware deve atender aos requisitos de S2D e deve ter passado primeiro em todos os testes de validação de cluster, incluindo novos testes adicionados para S2D.
- Você deve baixar, instalar e configurar o Windows HLK mais recente que dá suporte à Windows Server Technical Preview mais recente. É recomendável familiaridade com o Windows HLK. Para baixar e saber mais sobre o Windows HLK, consulte Windows Hardware Lab Kit.
- Primeiro, instale o HLKC (Controlador HLK) e o HLK Studio em um servidor de teste. Não instale-o em um nó de cluster. O administrador usará esse servidor para executar testes e gerenciar outros computadores. O HLKC pode ser usado para gerenciar vários clusters simultaneamente, para que um HLKC existente que já tenha sido configurado com outro cluster possa ser usado.
- Em seguida, instale clientes HLK em:
- Todos os servidores que devem ser usados como nós de cluster de armazenamento (o número de nós, também descrito em requisitos S2D separados, deve ser pelo menos quatro) e
- Um servidor que não faz parte do cluster como o controlador de teste (TC). É aqui que os testes serão executados.
- Todos os computadores usados para teste (incluindo o controlador HLK) devem ser ingressados no mesmo domínio e ter um usuário de domínio comum que tenha privilégios de administrador em todos os computadores. As credenciais desse usuário serão fornecidas à estrutura de teste na qual executar testes. A senha do usuário pode ser transmitida e armazenada como texto não criptografado.
- Todos os nós de cluster devem ter o DHCP habilitado em todos os adaptadores de rede conectados, com o DHCP configurado nas redes às quais estão conectados.
Instalação
Configurar o HLK
Para obter instruções detalhadas sobre como instalar o HLK, consulte o guia do usuário do HLK para obter instruções detalhadas. Depois de instalar e configurar o HLK em todos os seus computadores, crie um pool de computadores e um projeto:
- No HLK Studio no HLKC, crie um novo pool de computadores com um nome que possa identificar facilmente o cluster posteriormente, como o nome do cluster que você usará (este documento usa "Cluster"). Adicione o TC e todos os nós de cluster ao pool de computadores. Verifique se os computadores estão no status Pronto.
- Abra o HLK Studio, selecione Iniciar e, em seguida, Todos os Aplicativos>Kits> do WindowsHLK Studio.
- Selecione Configuração no canto superior direito.
- Clique com o botão direito do mouse em $(Raiz) e selecione Criar Pool de Computadores e especifique um nome. (Este documento usa "Cluster".)
- Mova seus computadores para o novo pool. Atualmente, o HLK Studio não dá suporte a várias seleções, portanto, você deve mover os computadores um de cada vez.
- Selecione todos os computadores no pool e clique com o botão direito do mouse e selecione Alterar Status> do ComputadorPronto. Os computadores serão alterados primeiro para o estado Inicializando .
- Verifique se os computadores atingem o estado Pronto . O HLK Studio não atualiza o estado exibido automaticamente. Aguarde alguns segundos e selecione o pool de computadores Padrão . Retorne ao pool de computadores do cluster para atualizar o status do computador. Depois que todos os computadores estiverem no estado Pronto , continue a criar um projeto.
- Crie um novo projeto com o mesmo nome.
- Se você estiver no modo de exibição Configuração, clique em Voltar (parece uma seta para a esquerda) à esquerda do título "Configuração" para retornar ao modo de exibição main.
- Na guia Projeto , selecione Criar projeto.
- Especifique "S2D" como o nome do projeto. O uso desse nome exato não é necessário, mas isso facilita a identificação do projeto.
Preparar os computadores para executar testes
Esta etapa implanta os binários e drivers de teste necessários nos nós de cluster e no controlador de teste para que você possa executar testes S2D. Esse trabalho de teste precisa ser executado apenas uma vez por cluster, mesmo que você execute testes S2D reais várias vezes. Esse trabalho reiniciará os computadores.
Importante
Antes de executar esse trabalho de teste, verifique se a inicialização segura e o BitLocker estão desabilitados em todos os computadores usados para teste. Se você estiver usando uma máquina virtual para o controlador de teste, talvez seja necessário desabilitar manualmente a inicialização segura e o BitLocker, pois eles podem estar habilitados por padrão.
Há duas maneiras de executar os testes HLK:
Em uma configuração sem S2D configurado, ou seja, para que os testes configurem o S2D:
- Executar S2D – Preparar computadores para testes
- Executar S2D – Configurar cluster de armazenamento
- Executar S2D – Testes básicos de verificação
- Executar S2D – Testes de Estresse
Em um cluster S2D existente:
- Deve haver um único volume de 256 GB (disco virtual) provisionado, que os testes usarão.
- Para um cluster de dois nós, você deve ter uma testemunha de quorum.
- Executar S2D – Preparar computadores para testes
- Executar S2D – Testes básicos de verificação
- Executar S2D – Testes de Estresse
Faça o seguinte no HLK Studio:
Na guia Projeto , clique duas vezes no projeto que você criou anteriormente (se ele ainda não estiver selecionado). O nome do projeto será exibido como o título da exibição depois de selecioná-lo.
Clique na guia Seleção .
Selecione o pool de computadores criado anteriormente que contém o cluster e o controlador de teste.
Selecione Sistemas à esquerda e marcar primeiro nó de cluster que aparece na lista.
Verifique se apenas um nó está selecionado e se você não seleciona acidentalmente o controlador de teste.
Clique com o botão direito do mouse no computador selecionado e selecione Adicionar/Modificar Recursos.
Na caixa de diálogo que é aberta, selecione o recurso System.Solutions.StorageSpacesDirect na Lista de Recursos do Dispositivo e selecione OK.
Na guia Testes , selecione o teste S2D – Preparar Computadores para Testes e, em seguida, selecione Executar Selecionado.
Especifique os parâmetros necessários.
- Para os parâmetros Domínio, NomedeUsuário e Senha, insira as informações apropriadas para um usuário de domínio que tenha acesso de administrador a todos os computadores no pool de computadores.
- Na lista suspensa Função , PrimaryNode deve ser selecionado. Na lista de computadores, confirme se o nó selecionado na guia Seleções está marcado. Além disso:
- Selecione TestController na lista suspensa Função e, em seguida, selecione o controlador de teste na lista de computadores.
- Selecione OutrosNodes na lista suspensa Função e, em seguida, selecione os nós restantes no cluster.
- Verifique se todos os computadores estão selecionados antes de continuar.
Selecione OK para executar o trabalho. Isso prepara os computadores.
Uma barra de progresso será exibida na parte inferior da janela do HLK Studio. Quando o processo for concluído, uma marca de marcar verde aparecerá na coluna Status do trabalho de teste. Se o status exibir um "X" vermelho, o trabalho de teste falhará. Confira Solução de problemas para obter mais informações.
Esse processo leva cerca de 10 minutos para ser executado. Pode levar mais tempo se os computadores levarem mais de cinco minutos para serem reiniciados.
Criar um cluster, um pool de armazenamento e um disco virtual
Depois de preparar computadores para testes, o S2D também precisa ser configurado para que você possa executar testes relacionados. O trabalho a seguir criará o cluster, habilitará o S2D e configurará um pool e um espaço.
Importante
Esse trabalho só terá êxito se nenhum cluster, pool de armazenamento ou disco virtual existente já tiver sido criado. Antes de executar esse trabalho, primeiro remova todos os discos virtuais, pools de armazenamento e funções de cluster. Remova também o próprio cluster. Se você já criou um cluster, habilitou o S2D e configurou e validou o pool e os espaços, ignore esta etapa e prossiga para executar os testes.
Na guia Testes no HLK Studio, selecione testar S2D – Configurar Cluster de Armazenamento e Executar Selecionado e especifique os parâmetros e as funções necessários.
- Para o parâmetro ClusterName, insira o nome do cluster que você deseja criar como seu valor. (Você precisará fornecer o mesmo nome de cluster para testes posteriores.)
- Você também poderá inserir um endereço IP no campo ClusterStaticIP se um endereço IP estático for atribuído ao cluster. Caso contrário, deixe esse parâmetro em branco. O endereço será atribuído ao nome do cluster.
- Deixe outros parâmetros em branco, a menos que você seja instruído de outra forma.
- Na lista suspensa Função , PrimaryNode deve ser selecionado. Na lista de computadores, confirme se o nó selecionado na guia Seleções está marcado. Além disso:
- Selecione TestController na lista suspensa Função e, em seguida, selecione o controlador de teste na lista de computadores.
- Selecione OutrosNodes na lista suspensa Função e, em seguida, selecione os outros nós no cluster na lista de computadores.
- Verifique se todos os computadores estão selecionados antes de continuar.
Selecione OK para executar o trabalho. Isso cria um cluster e configura o S2D.
Uma barra de progresso será exibida na parte inferior da janela do HLK Studio. Quando o processo for concluído, uma marca de marcar verde aparecerá na coluna Status do trabalho de teste. Se o status exibir um "X" vermelho, o trabalho de teste falhará. Confira Solução de problemas para obter mais informações.
Esse trabalho leva aproximadamente 15 minutos para ser concluído. Pode levar mais tempo se os computadores levarem mais de cinco minutos para serem reiniciados ou se você tiver um grande número de discos.
Executar testes
Executando testes básicos de verificação (BVT)
O BVT executa dois tipos de testes:
- Um tipo de teste move os CSVs (volumes compartilhados do cluster) sobre Espaços de Armazenamento Diretos entre nós enquanto executa E/S de gravação aleatória. Ele também verifica se a E/S é ininterrupta e se os CSVs não falham.
- O outro tipo de teste reduz um nó interrompendo o serviço de cluster, eliminando o serviço de cluster, removendo o nó, reiniciando computadores normalmente e reiniciando computadores sem êxito. (Cada ação tem como destino um nó aleatório.) Ele também executa E/S de gravação aleatória direcionada ao CSV apropriado durante falhas de nó e verifica se a E/S não falha.
Para executar esses testes no HLK:
Na guia Testes , selecione o teste S2D – Testes básicos de verificação e Executar Selecionado e insira os parâmetros necessários:
- Para o parâmetro ClusterName, insira o nome do cluster. Ele deve ser o mesmo nome que você forneceu anteriormente para configurar o cluster.
- Não altere ou preencha outros parâmetros, a menos que você seja instruído de outra forma.
- Na lista suspensa Função , PrimaryNode deve ser selecionado. Na lista de computadores abaixo, confirme se o nó selecionado na guia Seleções está marcado. Além disso:
- Selecione TestController na lista suspensa Função e, em seguida, selecione o controlador de teste na lista de computadores.
- Selecione OutrosNodes na lista suspensa Função e, em seguida, selecione os nós restantes no cluster.
- Verifique se todos os computadores estão selecionados antes de continuar.
Selecione OK para iniciar o trabalho. Isso executa os BVTs.
Uma barra de progresso será exibida na parte inferior da janela do HLK Studio. Quando o processo for concluído, uma marca de marcar verde aparecerá na coluna Status do trabalho de teste. Se o status exibir um "X" vermelho, o trabalho de teste falhará. Confira Solução de problemas para obter mais informações.
Esse trabalho normalmente leva de 30 a 60 minutos para ser executado. Para versões prévias, a taxa de aprovação esperada para os BVTs é de pelo menos 80%.
Executando testes de estresse
Os testes de estresse causam falhas de nó repetidas e aleatórias (interrompendo ou matando o serviço de cluster). Eles podem causar falha em vários nós se isso for tolerado pela configuração. Durante falhas de nó, o teste executa vários fluxos de E/S de vários nós direcionados ao CSV apropriado. (Cada fluxo executa leitura/gravação sequencial/aleatória com verificação de dados de leitura.)
Para executar estes testes:
Na guia Testes no HLK Studio, selecione o teste S2D – Testes de Estresse e Executar Selecionado e insira os parâmetros necessários:
- Para o parâmetro ClusterName, insira o nome do cluster. Ele deve ser o mesmo nome que você forneceu anteriormente para configurar o cluster.
- Não altere ou preencha outros parâmetros, a menos que você seja instruído de outra forma.
- Na lista suspensa Função , PrimaryNode deve ser selecionado. Na lista de computadores abaixo, confirme se o nó selecionado na guia Seleções está marcado. Além disso:
- Selecione TestController na lista suspensa Função e, em seguida, selecione o controlador de teste na lista de computadores.
- Selecione OutrosNodes na lista suspensa Função e, em seguida, selecione os nós restantes no cluster.
- Verifique se todos os computadores estão selecionados antes de continuar.
Selecione OK para executar o trabalho. Isso executa os testes de estresse.
Uma barra de progresso será exibida na parte inferior da janela do HLK Studio. Quando o processo for concluído, uma marca de marcar verde aparecerá na coluna Status do trabalho de teste. Se o status exibir um "X" vermelho, o trabalho de teste falhará. Confira Solução de problemas para obter mais informações.
Para versões prévias, a taxa de aprovação esperada para os testes de estresse é de pelo menos 60%. Esse trabalho de teste normalmente leva de 45 minutos a uma hora para ser executado com parâmetros padrão. No entanto, depois de passar uma vez com parâmetros padrão, recomendamos que você o execute novamente com um tempo de execução mais longo, fornecendo um valor maior para TestRunTime. (Isso especifica o tempo de execução principal em segundos; o trabalho normalmente é executado de 15 a 30 minutos a mais do que isso devido à instalação e limpeza do teste.) Esse trabalho dá suporte a um tempo de execução de até 24 horas.
Solução de problemas
Se um trabalho ou teste falhar, você poderá marcar os logs apropriados para descobrir por que ele falhou. Se precisar, você poderá encaminhar os logs para as pessoas apropriadas para ajudar na investigação. Esses documentos fazem referência a cada execução de um trabalho como resultado.
Obter logs de teste
Selecione a guia Resultados no HLK Studio enquanto estiver no mesmo projeto S2D em que os testes foram executados.
Expanda o teste que você está solucionando problemas selecionando o triângulo à esquerda do nome do teste.
Se você tiver executado o teste várias vezes, vários resultados serão exibidos. Cada resultado exibirá um carimbo de data/hora e identificará o computador onde ele foi executado. Clique com o botão direito do mouse no resultado que você está solucionando problemas e selecione Arquivos >AdicionaisMostrar Tudo. Isso abrirá uma janela no Explorador de Arquivos que contém os logs de teste e os logs relacionados.
Os nomes de arquivo dos logs de teste começam com "TST-". Se várias tarefas de teste tiverem sido executadas no trabalho de teste, poderá haver vários arquivos de log de teste. Por exemplo, o BVT pode ter uma tarefa de teste que executa a movimentação de CSV e outra que executa falhas de SSU (unidade de escala de armazenamento). (Devido à topologia de armazenamento anexada direta, cada nó e seu armazenamento são considerados uma SSU.) O nome da variação está no nome do arquivo (juntamente com Calabria, um nome de código para Espaços de Armazenamento Diretos).
Se houver vários arquivos de log de teste, para ver rapidamente qual tarefa falhou, primeiro expanda o resultado para que suas tarefas apareçam. Em seguida, você pode procurar tarefas que exibem um "X" vermelho.
No exemplo anterior, os ícones das tarefas indicam que Falha na movimentação de Verificar E/S com CSV (mostra apenas um "X" vermelho). Eles também indicam que Verificar E/S com Falha de SSU não foi executado e, em vez disso, foi ignorado (mostra um X vermelho sobre setas curvas) devido à falha anterior.
Depois de abrir um arquivo de log de teste em um editor de texto, pesquise "SEV2" para ver se o teste falhou e, em caso afirmativo, por quê. No exemplo a seguir, você pode ver que o espaço não está em um estado íntegro após uma recuperação de rack. Para obter detalhes adicionais sobre essa falha, consulte Problemas conhecidos comuns.
1940.1404 2015/01/09-16:36:14.867 [INFO] 0 : [TST]ID do espaço: 19CFCDFCC19EB54AAA780436B2B1D859 ID do pool: 5D12DF6A5D4DB444AA3407AFA5749578 Nome amigável: TestSpace é anexação manual? Sim é clusterizado? Sim Tipo de Resiliência: 2 Tipo de Provisionamento: 2 Número de cópias: 3 Número de colunas: 1 Tolerância a falhas: 2 Integridade: 1 (Aviso) Estado: 11 (InService/Regeneração) Anexado no nó: RR1FSC2623N05-1 Visível em nós: RR1FSC2623N05-1 RR1FSC2623N05-2 RR1FSC2623N28-1 RR1FSC2623N28-2 Unidades usadas por este espaço: [base\cluster\testsrc\common\storagewrapper\swvirtualdisk.cpp@66: ctsw::SWVirtualDisk::QuerySpInfo()] [orchestrator.cpp@192]
Erro: 1940.1404 2015/01/09-16:36:14.867 [ SEV2] 0 : [TST]Status=-2147418113(8000FFFFH) 'CalabriaBVT::VerifyIOWithRackFailure' – Comportamento inesperado: o espaço não está em estado íntegro após a recuperação do rack. [base\cluster\testsrc\calabria\calabriabvt\calabriabvt.cpp@1359 CalabriaBVT::VerifyIOWithRackFailure()] [calabriabvt.cpp@1379]
1940.1404 2015/01/09-16:36:14.867 [INFO] 0 : [TST] Mensagem de erro 2147549183 (0x8000ffff): falha catastrófica [wttlog.cpp@1237]
Erro: TAEF: conjunto 'TerminateOnFirstFailure' – ignorando todos os testes a seguir e tentando terminar normalmente.
EndGroup: CalabriaBVT::VerifyIOWithRackFailure [Failed]
Erro: 1940.1404 2015/01/09-16:36:14.867 [SEV2] 0 : [TST]Status=-2147418113(8000FFFFH) 'CalabriaBVT::VerifyIOWithRackFailure' – Comportamento inesperado: o espaço não está em estado íntegro após a recuperação do rack. [base\cluster\testsrc\calabria\calabriabvt\calabriabvt.cpp@1359 CalabriaBVT::VerifyIOWithRackFailure()] [calabriabvt.cpp@1379]
Saída de exemplo de testes de estresse para este problema:
1148.035C 2015/01/12-14:41:10.489 [INFO] 0 : [TST]Aguardando que todos os espaços se tornem saudáveis. O espaço 19CFCDFCC19EB54AAA780436B2B1D859 é InService/Regenerating [calabriastress.cpp@938]
Erro: 1148.035C 2015/01/12-14:41:10.489 [SEV2] 0 : [TST]Status=258(102H) Validação de falha: nem todos os espaços atingiram o estado íntegro dentro do tempo limite de 1200000 ms. Pode continuar aguardando até o tempo limite de espera. [calabriastress.cpp@962]
1148.035C 2015/01/12-14:41:10.505 [INFO] 0 : [TST] Mensagem para o erro 258 (0x102): a operação de espera atingiu o tempo limite. [wttlog.cpp@1237]
Obter logs de diagnóstico de cluster e armazenamento
Para obter os logs de diagnóstico de armazenamento e cluster para um resultado com falha:
Expanda o resultado com falha para que suas tarefas de teste sejam exibidas.
Clique com o botão direito do mouse nos logs de diagnóstico de armazenamento e cluster RunJob-Generate da tarefa e selecione Logs> de TarefasMostrar Tudo. Isso abre uma janela no Explorador de Arquivos que contém os logs de diagnóstico de armazenamento e cluster. Esses logs podem fornecer detalhes adicionais sobre por que o teste falhou.
Enviar logs para a Microsoft para análise de falha de teste
Se você precisar enviar logs para a Microsoft para obter ajuda na análise de falha de teste, consulte a seção Empacotar os resultados para obter as etapas para criar o . Pacote de resultados HLKX. Esse pacote conterá logs relevantes gerados e coletados por testes e ajudará na análise de falhas.
Problemas conhecidos comuns
A causa mais comum de falhas de teste é devido a um ou mais espaços demorando muito para regenerar dados (em um estado de serviço/regeneração por muito tempo) depois que um nó ou nós foram derrubados e recuperados. O desempenho irregular do armazenamento pode fazer com que a regeneração exceda o tempo limite e faça com que os testes falhem. Se você vir esse problema com frequência, sua configuração poderá ter gargalos de desempenho. Se esse for o caso, recomendamos que você marcar seu armazenamento, desempenho de rede e RDMA (acesso remoto direto à memória).
Saída de exemplo do BVT para este problema:
1940.1404 2015/01/09-16:36:14.867 [INFO] 0 : [TST]ID do espaço: 19CFCDFCC19EB54AAA780436B2B1D859 ID do pool: 5D12DF6A5D4DB444AA3407AFA5749578 Nome amigável: TestSpace é anexação manual? Sim é clusterizado? Tipo de Resiliência Sim: 2 Tipo de Provisionamento: 2 Número de cópias: 3 Número de colunas: 1 Tolerância a falhas: 2 Integridade: 1 (Aviso) Estado: 11 (InService/Regeneração) Anexado no nó: RR1FSC2623N05-1 Visível em nós: RR1FSC2623N05-1 RR1FSC2623N05-2 RR1FSC2623N28-1 RR1FSC2623N28-2 Unidades usadas por este espaço: [base\cluster\testsrc\common\storagewrapper\swvirtualdisk.cpp@66: ctsw::SWVirtualDisk::QuerySpInfo()] [orchestrator.cpp@192]
Erro: 1940.1404 2015/01/09-16:36:14.867 [SEV2] 0 : [TST]Status=-2147418113(8000FFFFH) 'CalabriaBVT::VerifyIOWithRackFailure' – Comportamento inesperado: o espaço não está em estado íntegro após a recuperação do rack. [base\cluster\testsrc\calabria\calabriabvt\calabriabvt.cpp@1359 CalabriaBVT::VerifyIOWithRackFailure()] [calabriabvt.cpp@1379]
Saída de exemplo de testes de estresse para este problema:
1148.035C 2015/01/12-14:41:10.489 [INFO] 0 : [TST]Aguardando que todos os espaços se tornem saudáveis. O espaço 19CFCDFCC19EB54AAA780436B2B1D859 é InService/Regenerating [calabriastress.cpp@938]
Erro: 1148.035C 2015/01/12-14:41:10.489 [SEV2] 0 : [TST]Status=258(102H) Validação de falha: nem todos os espaços atingiram o estado íntegro dentro do tempo limite de 1200000 ms. Pode continuar aguardando até o tempo limite de espera. [calabriastress.cpp@962]
1148.035C 2015/01/12-14:41:10.505 [INFO] 0 : [TST] Mensagem para o erro 258 (0x102): a operação de espera atingiu o tempo limite. [wttlog.cpp@1237]
Empacotar os resultados
Depois que todos os testes tiverem sido concluídos com êxito e enquanto você ainda estiver no mesmo projeto no HLK Studio, selecione a guia Pacote e, em seguida, Criar Pacote no canto inferior direito. Quando for solicitado que você insira Opções de Assinatura, selecione Não assinar. Salve os resultados em um arquivo. Esse arquivo precisa ser incluído em qualquer envio de certificação S2D.
Termos
Termo | Descrição |
---|---|
BVT | Testes de verificação básicos |
CSV | Volumes compartilhados do cluster |
DAS | Armazenamento anexado direto |
HCK | (Windows) Kit de Certificação de Hardware, o kit anterior para teste de certificação |
HLK | (Windows) Hardware Lab Kit, uma estrutura de teste usada para ajudar a validar as configurações de hardware do Windows. Ele também é usado para executar os testes descritos neste tópico. |
HLKC | Controlador HLK, o servidor que o administrador usa para executar testes e gerenciar outros computadores. Isso não deve fazer parte do cluster. |
TC | Controlador de teste, o servidor no qual alguns testes são executados para direcionar o cluster. Isso não deve fazer parte do cluster. |
S2D | Espaços de armazenamento Diretos |