Cluster de servidor de 2003 do Windows com um recurso script genérico deixa de responder para períodos longos

Traduções de Artigos Traduções de Artigos
Artigo: 811685 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Num cluster em que exista um recurso script genérico activo, o cluster poderá deixar de responder. O administrador de clusters e cluster.exe parecer deixar de responder (não reagir). O registo 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 gdwQuoBlockingResources para recursos f37f58fb-03ff-44b3-a4d7-086b0838d73d
O registo de eventos contém uma mensagem semelhante a um dos seguintes procedimentos:

ID do evento: 1232
Tipo de evento: erro
Origem do evento: ClusSvc
O recurso script genérico omeuscript excedido o tempo de cluster. Online ponto de entrada de script não concluiu a execução atempadamente. Isto pode ser devido a um ciclo infinito ou de um não reagir no ponto de entrada ou o tempo limite pendente poderá ser demasiado pequeno para este recurso. Reveja o ponto de entrada script online para garantir que há nenhum ciclo infinito ou de um não reagir no código de script e, em seguida, considere aumentar o valor do tempo limite pendente, se necessário. Na shell de comandos, execute "cluster res"Omeuscript"/Prop PersistentState = 0" para desactivar este recurso e, em seguida, execute "net stop clussvc" para parar o serviço de cluster. Certifique-se que qualquer problema no código de script é corrigido. Em seguida, execute "net start clussvc" para iniciar o serviço de cluster. Se necessário, certifique-se que o tempo limite pendente aumentou antes de colocar online o recurso novamente.

ou

ID do evento: 1233
Tipo de evento: erro
Origem do evento: ClusSvc
Omeuscript o recurso script genérico de cluster: pedido para efectuar a operação online não será processado. Trata-se devido a uma tentativa falhada anterior para executar o ponto de entrada online de uma forma atempada. Reveja o código de script para este ponto de entrada para Certifique-se que aí é não ciclo infinito ou um não reagir na mesma e, em seguida, considere aumentar o recurso pendentes valor de tempo de espera se necessário. Na shell de comandos, execute "cluster res" omeuscript "/ pro PersistentState = 0" para desactivar este recurso e, em seguida, execute "net stop clussvc" para parar o serviço de cluster. Certifique-se que qualquer problema no código de script é corrigido. Em seguida, execute "net start clussvc" para iniciar o serviço de cluster. Se necessário, certifique-se que o tempo limite pendente aumentou antes de colocar online o recurso novamente.

Causa

Um script de recurso script genérico pode causar o cluster completo deixar de responder ou deixar de responder se qualquer uma das seguintes condições:
  • O script de recurso script genérico contém um ciclo infinito (e por isso nunca sai).
  • Chamadas para determinados cluster application programming interfaces (APIs) estão a ocorrer. Chamadas para determinados cluster API tem ser evitado de dentro de um script DLL ou recurso de recurso porque pode fazer com que um bloqueio de todo o cluster. Este script pode chamar o cluster API ou cluster.exe inicial (o que poderá resultar num cluster de chamada API que deve ser evitado) como um dos passos. Para obter informações sobre as APIs que não deve ser chamadas a partir de uma DLL de recurso ou script, consulte ? função chamadas para evitar no recurso dll ? no Microsoft Platform SDK (PSDK).
  • Uma acção que está a executar o script de recurso script genérico demora mais tempo do que o valor do tempo limite pendente.
Para evitar uma situação de não reagir infinita, o Monitor de recursos de cluster recusa efectuar quaisquer operações (como, por exemplo, online, offline, IsAlive e LooksAlive) sobre o script depois de qualquer operação excedeu o valor do tempo limite pendente. Quaisquer tentativas adicionais efectuar operações de recurso script genérico desse recurso irão resultar numa segunda mensagem de registo de eventos apresentada na secção "Sintomas" deste artigo.

Resolução

O Monitor de recursos de cluster não executará quaisquer operações adicionais num recurso script genérico depois de qualquer ponto de entrada excedeu o valor do tempo limite pendente, mas o thread problemático continuará em execução. Para resolver o problema, desactive o recurso (isto é, impedir ficar online), pare o serviço de cluster (termina o thread problemático), corrigir o problema de script e reinicie o cluster service. Dependendo da causa deste problema, poderá aumentar a online ou offline pendente 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 ? secção mais adiante neste artigo.

Alterar valores de limite de tempo pendente

Qualquer operação de recurso de cluster deve concluir a execução bem dentro do intervalo de tempo limite pendente. Por este motivo, não altere o valor de limite de tempo sem um conhecimento profundo do porque o ponto de entrada de script excede este período de tempo. Considere também a todas as implicações de aumentar este valor porque o cluster será responder até que o valor de limite de tempo for excedido.

Recuperação e reiniciar o serviço de cluster

  1. Desactive ao recurso (neste exemplo, denominado omeuscript) escrevendo o seguinte comando:
    /properties de "Omeuscript" recurso de cluster PersistentState = 0
  2. Pare o serviço de cluster no nó que possui actualmente grupo ?s Este recurso escrevendo o seguinte comando numa janela de consola:
    net stop clussvc
  3. Resolver qualquer problema que identificam o script que causa a deixar de responder, repetir ou exceder o valor do tempo limite pendente. Pode determinar que a medida adequada a tomar aumentar o valor de tempo limite pendente, mas certifique-se que considere cuidadosamente as implicações de fazê-lo.
  4. Reinicie o serviço de cluster, escrevendo o seguinte comando:
    net start clussvc
  5. Coloque online o recurso manualmente utilizando o administrador de clusters ou cluster.exe. Para o fazer, escreva o seguinte comando:
    ? omeuscript ? o recurso de cluster / online
    Tenha em atenção que colocar online o recurso automaticamente define PersistentState para 1 , pelo que é necessário um comando adicional alterar o valor de 0 .

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo.

Propriedades

Artigo: 811685 - Última revisão: 28 de fevereiro de 2007 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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