Estratégia de backup do IIS 7

4

Eu notei este post , mas estou procurando mais detalhes.

Eu tenho 2 servidores executando o Windows 2008 Server Web Edition e estou executando sites em ambos. Eu gostaria de ser capaz de espelhar as configurações do IIS em cada caixa do outro para que, no caso de um 'servidor 1' falhar, eu possa entrar no 'servidor 2' e obter rapidamente todos os sites que estavam em execução no 'servidor 1' funcionando. Este não é um espelho simples, como eu já tenho sites no 'servidor 2' que precisam ficar em execução, então basicamente eu quero adicionar os sites do 'servidor 1'.

Tenho certeza de que receberei alguns comentários sobre isso, então, sim, nossos servidores podem lidar com o aumento de carga. Eu também quero ficar longe de discutir o DNS, então, por favor, não vamos fazer isso. Eu também percebo que precisaria adicionar IPs específicos ao adaptador de rede 'server 2' e estou bem com isso também, contanto que eu possa reduzir as outras tarefas manuais para obter um tempo de operação melhor e reduzir os erros manuais.

Atualmente, estou fazendo backup de bancos de dados e código em cada caixa para o outro, mas como você pode imaginar, a restauração é um processo lento, manual e trabalhoso que está propenso a erros.

Estou procurando a capacidade de recuperar facilmente todas as configurações que acompanham cada site. Por exemplo: Certificados SSL, IPs, caminho físico para o código do site, ligações, mapeamentos de manipulador etc. Espero ter todos os pools de aplicativos restaurados também, assim como estavam no outro servidor com a versão de estrutura correta & modo de pipeline.

Pelo que entendi, o applicationHost.config abriga a maioria dessas coisas. Mas se eu estou adicionando sites para um servidor web já executando outros, eu diria que eu não poderia substituir este arquivo, pois isso significaria perder todas as minhas configurações atuais. Eu também não estou muito interessado em modificar manualmente este arquivo.

Depois de olhar em volta, encontrei um candidato a lançamento da Ferramenta de implantação da Web da Microsoft (learn.iis.net/page.aspx/346/web-deployment-tool/). Então, finalmente, agora que você tem um monte de experiência, vem a pergunta:

Alguém tem alguma experiência com a adição rápida e (principalmente) automática de sites ao IIS 7 que já está executando outros sites? Alguém já fez isso com a abordagem "appcmd add backup" e [Web Deployment Tool] [2] e, em caso afirmativo, com que dificuldades você surgiu?

    
por Mario 18.08.2009 / 01:21

3 respostas

2

Acabei usando a Ferramenta de Implantação da Web RC1 (MSDeploy). É muito granular e tem uma tonelada de opções. Permite backup e transferência por site. Você pode fazer backup de um site para um arquivo zip usando a linha de comando ou GUI, ou você pode sincronizar / mover um site para outro servidor imediatamente (acho que isso usa serviços da web para transferir e instalar tudo). Essa ferramenta mantém todas as suas configurações (ligações, ips, certificados ssl, mapeamentos de manipulador etc.). Você pode olhar para dependências (código no gac etc) e até mesmo mover bancos de dados.

Restauração de um arquivo é um piscar de olhos. Eu recomendaria essa ferramenta para quem quiser recuperar sites rapidamente.

    
por 21.09.2009 / 23:25
2

Com o IIS7, fica muito mais fácil. O que você está procurando é "Configuração compartilhada". Você pode definir isso no nível global no servidor. Com isso, você pode ter quente, quente ou quente como você descreveu.

No servidor principal, use "export" na configuração compartilhada. Isso salvará a chave do computador do servidor (diferente da machineKey do ASP.NET). Isso garante que todos os dados criptografados possam estar prontos no novo servidor. Ele também salvará applicationHost.config e administration.config. Depois de fazer uma importação no segundo servidor, applicationHost.config e administration.config podem (e devem) ser 100% iguais entre os dois servidores.

Assim, você pode usar o DFS-R para manter as configurações 100% sincronizadas automaticamente ou usar algo como o robocopy para fazê-lo em intervalos regulares, dependendo da sua ferramenta favorita.

Você também não precisa apontar para um caminho diferente em seu servidor principal. Basta usar a exportação para o segundo servidor.

A Ferramenta de Implantação da Web é ótima, mas, para o que você está falando, a Configuração Compartilhada é mais adequada.

Deve-se observar que os certificados não são armazenados nesses arquivos, portanto, é necessário executá-los manualmente ao configurá-los ou usar outra coisa (como o Web Deployment Tool) para mantê-los sincronizados.

Outra coisa que você pode considerar para um balanceador de carga barato, mas poderoso, é a nova tecnologia ARR da Microsoft. (Roteiro de Solicitação de Aplicativo)

    
por 20.08.2009 / 19:26
1

Eu sei que isso vai parecer loucura, mas por que não mover os bancos de dados para um terceiro servidor e configurar todos os sites nos dois servidores da Web para que todos os sites sejam redundantes?

    
por 18.08.2009 / 03:36