Como construir um compartilhamento de arquivos do Windows tolerante a falhas?

1

Eu tenho um servidor Windows 2008 primário e de backup e um monte de clientes Windows XP que mapeiam uma unidade para um compartilhamento no servidor principal. Se o servidor principal ficar inativo, quero que essas máquinas clientes mapeiem automaticamente sua unidade para o servidor de backup, para que possam continuar acessando os arquivos.

Devo tentar escrever um script vbscript ou python ou algo que detecte se o servidor primário está inoperante e emite o "net use m: \ server \ share ..." apropriado, mas preciso que esse script seja executado a cada minuto, não importa quem está logado. Posso fazer isso com o Windows "tarefas agendadas"?

Eu sou um cara do Unix e poderia usar qualquer dica que você tiver para oferecer ao realizar isso. Existe uma solução melhor?

muito obrigado, -Ian

    
por SturdyErde 08.12.2009 / 23:02

5 respostas

5

Experimente o DFS. Aqui está um artigo que encontrei em detalhes.

Atualização 7-12-2016: Como o URL acima está quebrado, veja a própria página da Microsoft no DFS: link

    
por 08.12.2009 / 23:09
2

O DFS pode certamente fornecer um grau de alta disponibilidade, bem como outros recursos, no entanto, se tudo o que você deseja fazer é configurar um cluster de servidor flie redundante, consulte este technet artigo passo a passo

Você não pode fazer DFS de domínio sem acesso ao domínio. Você não pode configurar um cluster sem acesso ao AD. Outra opção é:

  1. escreva um script para replicar os arquivos manualmente em um determinado intervalo no servidor (ou se você acha que está fazendo alterações na pasta) e escreva um script em que os usuários possam clicar se tiverem problemas.

  2. Você deve marcar as pastas compartilhadas como disponíveis para acesso off-line e, em seguida, os sistemas xp (quando disponibilizados off-line) serão armazenados em cache e serão direcionados para o servidor caso se tornem indisponíveis. Uma vez marcada como off-line disponível, a cópia é apenas para o caso de o servidor principal realmente morrer e não poder ser reativado, então você tem uma cópia de backup.

por 08.12.2009 / 23:28
0

Se você puder manter o conteúdo desses dois servidores de arquivos em sincronia, você pode considerar usar um CNAME e apenas apontá-lo para o servidor que está avbl.

um pouco mais distante - mas também tente atribuir o registro do DNS aos dois servidores, enquanto atribui uma prioridade mais baixa ao servidor de failover.

todos os itens acima são baseados em DNS.

hth's

    
por 08.12.2009 / 23:15
0

A funcionalidade "remapear automaticamente" vai ser o espinho do seu lado. Você nunca vai conseguir que isso funcione.

Investigue o software de failover de terceiros ou junte sua própria solução ao servidor (veja abaixo). Fazer isso do lado do cliente, no entanto, está apenas pedindo dificuldade.

Você pode considerar um script ou procedimento manual para adicionar uma nome do alias para o computador do servidor em espera que permite que ele atenda ao servidor com falha. Você terá que reiniciar o serviço "Servidor" no computador em espera (e atualizar o DNS / WINS, conforme necessário) para que ele comece a responder por esse nome. Os clientes também terão o nome para o mapeamento de IP em cache local, portanto, convém considerar a atribuição do endereço IP do computador do servidor com falha ao servidor em espera como parte desse procedimento. (Mesmo assim, os clientes terão o MAC para o mapeamento IP armazenado em cache em seus caches ARP, portanto, a menos que você também atribua o endereço MAC do servidor com falha à NIC do servidor em espera, não obterá failover instantâneo.)

    
por 08.12.2009 / 23:08
0

Isso pode ser um pouco simplista, mas e quanto a isso:

Se você tiver uma boa comunicação com seus usuários, o suficiente para explicar o que está acontecendo e como um failover será tratado, você poderá fazer um failover manual.

No servidor de backup, crie a pasta de backup e nomeie-a como algo inutitivo, como Arquivos de backup. Mapeie uma unidade nos PCs dos usuários para a unidade de backup. Execute um script no servidor de backup ou gosto de usar o robocopy para buscar os arquivos do primário. Deixe claro para os usuários que os arquivos de backup estão sobrescritos, portanto, se eles forem modificados, eles perderão as alterações.

Quando algo dá errado, declare um failover, pare o script de busca no servidor de backup e faça com que os usuários usem o mapeamento de unidade para a pasta de backup.

Quando tudo estiver bem, copie as alterações de volta para o primário (novamente, o robocopy faz isso muito bem) e declare um retorno com os usuários voltando para o primário.

Não é automático, então um pouco de lixo, mas deve funcionar manualmente com o mínimo de esforço. Eu não consigo pensar em nada que não tenha sido sugerido.

    
por 09.12.2009 / 14:36