Win2K8 R2 Tolerância de falha de tarefa agendada

3

Eu tenho dois servidores idênticos executando o Windows 2008 R2. Estou usando a Replicação DFS para manter alguns compartilhamentos em sincronia entre os dois servidores. Cada servidor é um controlador de domínio e cada servidor pode funcionar caso o outro se torne indisponível, incluindo DHCP, DNS e uma série de outras coisas em que confiamos.

Também temos uma estação de trabalho remota que cria uma série de arquivos de saída e os coloca em um compartilhamento usando o namespace DFS. É essencialmente para fins de backup e relatórios.

Eu tenho um trabalho em lote que eu posso agendar para executar todas as noites que examina esses arquivos, faz várias coisas com eles e, em seguida, exclui os arquivos de backup com mais de 30 dias (se não processados) como uma das tarefas finais. É um roteiro único.

Eu gostaria que essa tarefa fosse executada apenas uma vez em um dos servidores, mas fosse executada no outro servidor se o servidor "preferencial" estivesse indisponível. Esta capacidade é possível? Dois ou mais servidores WIN2K8 podem lidar com essa situação?

Eu poderia executar o trabalho em ambos os servidores a cada noite, já que é reentrant safe, mas se eu fizesse isso, provavelmente causaria dores de cabeça de replicação DFS; a parte em questão está em uma configuração de malha completa.

Se não for possível, quaisquer truques inteligentes para fazer isso funcionar ou se houver ferramentas de terceiros.

Uma ideia é simplesmente executar o trabalho a partir da estação de trabalho em que os arquivos de dados são criados e copiados para os servidores. O único problema em fazer isso é que é uma estação de trabalho do usuário e às vezes esquecem e desligam a máquina à noite, evitando que os relatórios diários sejam processados.

    
por Kilo 09.08.2012 / 03:59

1 resposta

2

Sim.

Crie o trabalho para referenciar o namespace DFS relevante em vez de um servidor específico. Ele será excluído do servidor sempre que o destino DFS ativo da máquina for executado (se você executá-lo em um dos servidores, obviamente, esse servidor deve se direcionar) ea exclusão será replicada para a outra via DFS.

Então, em vez de excluir, diga C:\somefolder\somefile.foo , você excluiria \dfsnamespaceforsomefolder\somefile.foo

É claro que, se você executar isso em um dos servidores DFS e ficar indisponível, a tarefa provavelmente não poderá ser iniciada com êxito no outro servidor DFS, porque o computador que executa a tarefa está sendo indisponível. Uma solução alternativa para isso seria fazer com que seu script em um dos servidores verifique se o outro servidor está disponível antes da execução e configure essa tarefa para ser executada após a primeira. Se o outro servidor estiver disponível, break , se não estiver disponível, execute o script.

    
por 09.08.2012 / 04:43