Cluster do Windows Server 2003 Server com um recurso script genérico pára de responder para períodos longo

Traduções deste artigo Traduções deste artigo
ID do artigo: 811685 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Em um cluster onde não há um recurso script genérico ativo, o cluster pode parar de responder. O administrador de cluster e cluster.exe parecem parar de responder (travar). O log de cluster mostra threads bloqueados dentro de um recurso script genérico. Por exemplo:
000007c4.000007e4::2002/12/12-19:17:03.781 INFO [FM] FmpRmOnlineResource: chamado InterlockedIncrement em gdwQuoBlockingResources para recurso f37f58fb-03ff-44b3-a4d7-086b0838d73d
O log de eventos contém uma mensagem semelhante a um destes procedimentos:

IDENTIFICAÇÃO de evento: 1232
Tipo de evento: erro
Origem do evento: ClusSvc
Recurso de script genérico MyScript atingiu o tempo limite de cluster. On-line ponto de entrada de script não foi concluída execução em tempo hábil. Isso pode ser devido a um loop infinito ou uma paralisação deste ponto de entrada ou o tempo limite pendente pode ser muito curto para este recurso. Examine o ponto de entrada script online para verificar se que há não loop infinito ou uma paralisação no código de script e, em seguida, considere aumentar o valor de tempo limite pendente se necessário. Em um shell de comando, execute "cluster res"MyScript"/prop PersistentState = 0" para desativar esse recurso e então execute "net stop clussvc" para parar o serviço de cluster. Certifique-se que qualquer problema no código de script é fixo. Em seguida, execute "net start clussvc" para iniciar o serviço de cluster. Se necessário, certifique-se que aumenta o tempo limite pendente antes de colocar o recurso online novamente.

ou

IDENTIFICAÇÃO de evento: 1233
Tipo de evento: erro
Origem do evento: ClusSvc
Recurso de script genérico MyScript de cluster: solicitação para executar a operação online não será processada. Isso é devido a uma anterior Falha ao tentar executar o ponto de entrada online em tempo hábil. Examine o código de script para esse ponto de entrada para Verifique se que há não loop infinito ou uma paralisação nela e considere aumentar o recurso pendentes valor de tempo limite se necessário. Em um shell de comando, execute "cluster res" MyScript "/ pro PersistentState = 0" para desativar esse recurso e então execute "net stop clussvc" para parar o serviço de cluster. Certifique-se que qualquer problema no código de script é fixo. Em seguida, execute "net start clussvc" para iniciar o serviço de cluster. Se necessário, certifique-se que aumenta o tempo limite pendente antes de colocar o recurso online novamente.

Causa

Um script de recurso script genérico pode fazer com que o cluster inteiro para parar de responder ou pare de responder se qualquer uma das seguintes condições existir:
  • O script de recurso script genérico contém um loop infinito (e, portanto, nunca sai).
  • Chamadas para determinados cluster application programming interfaces (APIs) estão ocorrendo. Chamadas para determinados cluster APIs deve ser evitadas de dentro de um script de recurso DLL ou recurso porque pode causar um bloqueio de todo o cluster. Esse script pode ser chamada cluster APIs ou cluster.exe inicial (o que pode resultar em cluster chamada APIs que deve ser evitadas) como uma das etapas. Para obter informações sobre APIs que não deve ser chamadas de uma DLL de recursos ou script, consulte ? função chamadas para evitar de recurso DLLs ? no Microsoft Platform SDK (PSDK).
  • Uma ação que está executando o script de recurso script genérico leva mais tempo que o valor de tempo limite pendente.
Para evitar uma situação de travar infinito, o Monitor de recursos de cluster recusa executar quaisquer operações (como online, offline, IsAlive e LooksAlive) no script após qualquer operação excedeu o tempo limite pendente. Qualquer tentativa adicional de executar operações de recurso script genérico nesse recurso resultará na segunda mensagem de log de eventos que é mostrada na seção "Sintomas" deste artigo.

Resolução

O Monitor de recursos de cluster não executará qualquer operações adicionais em um recurso script genérico após qualquer ponto de entrada excedeu o tempo limite pendente, mas o thread problemático continuará sendo executado. Para resolver o problema, desative o recurso (isto é, impedir que ele vem on-line), pare o serviço de cluster (Isso encerra o thread problemático), corrigir o problema de script e reiniciar o cluster de serviço. Dependendo da causa do problema, convém aumentar a on-line ou off-line pendentes valor de tempo limite para este recurso. Para obter instruções passo a passo, consulte a "recuperação e reiniciar o serviço de cluster ? seção mais adiante neste artigo.

Alterar valores de tempo limite pendente

Qualquer operação de recurso de cluster deve concluir a execução bem dentro do intervalo de tempo de limite pendente. Por esse motivo, não altere o valor de tempo limite sem um entendimento completo sobre por que o ponto de entrada de script excede esse período de tempo. Além disso, considere todas as implicações de aumentar esse valor como o cluster será responder até que o valor de tempo limite for excedido.

Recuperar e reiniciar o serviço de cluster

  1. Desative o recurso (neste exemplo, chamado MyScript) digitando o seguinte comando:
    cluster recurso "MyScript" /properties PersistentState = 0
  2. Pare o serviço de cluster no nó que detém atualmente grupo ?s Este recurso digitando o seguinte comando em uma janela de console:
    net stop clussvc
  3. Corrigir qualquer problema que você identificar no script que faz com que ele pare de responder, loop ou exceder o valor de tempo limite pendente. Você pode determinar que a coisa apropriada a fazer é aumentar o valor de tempo limite pendente, mas certifique-se que você considere cuidadosamente as implicações de fazer isso.
  4. Reinicie o serviço de cluster digitando o seguinte comando:
    net start clussvc
  5. Coloque o recurso on-line manualmente usando o administrador de cluster ou cluster.exe. Para fazer isso, digite o seguinte comando:
    ? MyScript ? recurso de cluster / on-line
    Observe que colocar o recurso novamente on-line automaticamente define PersistentState como 1 , para que não é necessário para um comando adicional alterar o valor de 0 .

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.

Propriedades

ID do artigo: 811685 - Última revisão: quarta-feira, 28 de fevereiro de 2007 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
Palavras-chave: 
kbmt kbbug KB811685 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 811685

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com