Provisionamento de problemas Servidor IIS 7.5 usando o Web Farm Framework 2

2

Temos o WFF 2.5 instalado e o usamos para configurar com êxito um farm e provisionar um servidor secundário em nosso ambiente de teste.

Nosso ambiente (controlador, primário, servidores secundários) é o Windows 2008 Server Web Edition R2, executando o IIS 7.5, com o WFF 2.5 instalado.

Temos problemas contínuos com um arquivo .tmp em um diretório relacionado a pools de aplicativos sendo bloqueado. Process Monitor indica que é o processo de trabalho (w3wp.exe) bloqueando o arquivo.

A mensagem de erro exata é Falha ao executar a operação "ProvisionApplications". Falha ao executar o método "Microsoft.Web.Farm.SyncApplicationsRemoteMethod" no servidor "abc". Exceção no fluxo de resposta. Foi encontrado um erro ao processar a operação "Delete File" em "ABC85DA.tmp". O código de erro foi 0x80070020. O processo não pode acessar "C: \ inetpub \ temp \ appPools \ ABC85DA.tmp" porque está sendo usado por outro processo

Se eu encerrar o Serviço de Ativação de Processos do Windows, que o AFAIK hospeda o processo de trabalho, o erro será solucionado.

Obviamente, para colocar o servidor online, precisamos iniciar o serviço e, assim que o fizermos, a etapa de provisionamento automatizado falhará, e o WFF marcará o servidor como não-íntegro e o removerá do farm.

Eu tentei desativar o provisionamento de aplicativos desmarcando "Enable Application Provisioning" no módulo de provisionamento de aplicativos, mas a operação ainda parece ser acionada a cada 30 segundos.

Então - dois problemas realmente:

  1. Como resolver o problema de bloqueio de arquivo no arquivo temporário do pool de aplicativos.

  2. Como desativar a operação de provisionamento automatizado de aplicativos em servidores secundários? (esta é realmente uma segunda solução alternativa no caso de não haver solução para o problema 1)

    TIA

por Matthew Evans 07.11.2011 / 10:20

3 respostas

2

Consegui contornar o problema atualizando a lista de ignorados em c: \ windows \ system32 \ inetsrv \ conf \ applicationHost.config no controlador de farm da web. Eu atualizei a seção web farm para pular o fornecimento das pastas appPool e logFiles, isso parece ter corrigido o problema para mim.

<webFarm>
    <applicationProvision offlineWhileSync="true" syncWebServerFromPrimary="true" periodicSync="00:00:30">
        <clear />
        <skipDirectives>                   
            <skip name="appPools" skipDirective="objectName=dirPath,absolutePath=.*appPools.*" />
            <skip name="logFiles" skipDirective="objectName=dirPath,absolutePath=.*LogFiles.*" />
        </skipDirectives>
    </applicationProvision>
</webFarm>
    
por 09.01.2012 / 02:19
0

A reinicialização do servidor ARR fez com que o servidor parasse de tentar provisionar repetidamente os servidores secundários (em outras palavras, aplicou a opção "Ativar provisionamento de aplicativos", que eu havia desativado)

Caso contrário, acho que o problema de bloqueio ainda ocorreria. Isso pode não ser um problema, pois você pode desativar o Serviço de Ativações de Processo do Windows durante o provisionamento inicial do serviço e durante qualquer fornecimento de aplicativo subsequente destinado a sincronizar os servidores.

O provisionamento automatizado em uma programação ainda será um problema, eu suspeito.

    
por 09.11.2011 / 11:04
0

Eu posso provisionar com sucesso o servidor secundário desligando o provisionamento de aplicativos, mas no meu cenário eu preciso que o conteúdo seja replicado, então não é realmente uma solução, apenas um sinalizador de qual parte do serviço está falhando. O aprovisionamento de plataformas parece bem.

Estou recebendo o mesmo erro com arquivos tmp bloqueados - executados em instâncias limpas no EC2 da Amazon.

Você ainda está recebendo o problema de arquivo bloqueado? Você conseguiu obter uma resolução para o provisionamento automatizado?

    
por 22.11.2011 / 15:42