Publicado em: 1 de setembro de 2003
Clique aqui para a Parte 2 (em inglês)
Nesta página
Introdução
Tópicos Discutidos Neste Documento
Objetivos do Microsoft.com
Razões para Utilizar o Balanceamento de Carga de Rede
Diagrama Geral do Cluster Microsoft.com
Conjunto de Clusters em Balanceamento de carga de rede executando o IIS 6.0
Diagrama do Host do balanceamento de carga de rede
Configuração dos Clusters em balanceamento de carga de rede do Microsoft.com
Monitorando o Cluster
Práticas Recomendadas no balanceamento de carga de rede
Sumário
Links Relacionados
Introdução
Alta disponibilidade, confiabilidade e desempenho são objetivos importantes para sites Web. Este documento descreve em detalhes como a Microsoft usa o Balanceamento de Carga de Rede para alcançar estes objetivos em seu site Microsoft.com. Você pode usar estas informações para alcançar objetivos similares em seu site Web.
Este documento discute cluster baseados em Balanceamento de carga de Rede (NLB) que suportam o site Microsoft.com. Ele fornece informações detalhadas sobre configurações de hardware, software e o NLB e razões para os quais as configurações foram escolhidas. Inclui ainda uma lista de práticas recomendadas no uso do balanceamento de carga de rede, assim como informações sobre vários procedimentos operacionais que a Microsoft utiliza para ajudar os sites a tornarem-se confiáveis e altamente disponíveis. Administradores de sites Web podem usar a implementação da Microsoft como um exemplo de implementação baseada em balanceamento de carga de rede.
Nota: Este é o primeiro de dois documentos que descrevem o uso do clustering da Microsoft. O segundo documento, que é chamado Using Clustering with Exchange 2003: An Example, descreve como o departamento de TI interno da Microsoft implementou clusters de servidores para gerenciar seus Exchange Servers. Este documento está disponível no site da Microsoft em (http://go.microsoft.com/fwlink/?LinkId=18652), em inglês.
Foco: Clusters baseados em Balanceamento de Carga em Rede
O foco primário deste documento está em clusters baseados em balanceamento de carga de rede que o site da Microsoft utiliza. Outros aspectos do Microsoft.com, como a estrutura de domínios e configuração do Active Directory, são apenas descritos nos pontos que afetam a implementação do cluster.
Use Este Documento Apenas como um Exemplo
A informação presente neste documento sobre clusters baseados em balanceamento de carga de rede que são usados no Microsoft.com é apresentada como um exemplo. Os passos e configurações em computadores e dispositivos em sua rede serão diferentes. Este documento mostra apenas a configuração que é especificamente relacionada aos objetivos descritos neste documento. Este documento não cobre outros procedimentos e dispositivos que são necessários em um ambiente de produção.
Tópicos Discutidos Neste Documento
-
Para informações sobre os objetivos técnicos e de negócios do Microsoft.com, veja a seção Objetivos do Microsoft.com.
-
Para diagramas dos clusters e hosts do balanceamento de carga de rede do Microsoft.com, veja:
-
Diagrama Geral do Cluster Microsoft.com
-
Conjunto de Cluster baseados em balanceamento de carga de rede executando IIS 6.0
-
Diagrama de Hosts em balanceamento de carga de rede
-
Para uma discussão sobre as soluções específicas de clustering que o Microsoft.com implementou, assim como os motivos para esta particular solução ser escolhida, leia Razões para Utilizar o balanceamento de carga de rede.
-
Para configurações detalhadas sobre os servidores balanceados executando o IIS, leia Configuração dos Clusters em balanceamento de carga de rede do Microsoft.com.
-
Para recomendações e dicas de produtos em balanceamento de carga de rede, incluindo práticas usadas pelo Microsoft.com, leia Práticas Recomendadas no balanceamento de carga de rede.
Objetivos do Microsoft.com
Este documento descreve como a Microsoft usa o balanceamento de carga de rede e procedimentos relacionados para alcançar os seguintes objetivos no site Web Microsoft.com:
-
Alta Disponibilidade. Fornecer conteúdo Web sempre disponível para os usuários.
-
Eficiência. Entregar conteúdo Web para o usuário rapidamente, independente do número de sessões simultâneas.
-
Escalabilidade. Permitir que administradores do sistema adicionem servidores conforme necessário de forma transparente para usuários.
-
Facilidade de manutenção. Permitir aos administradores do sistema manter o site Web facilmente através de um processo transparente para os usuários.
Estes objetivos se aplicam ao conjunto de clusters baseados em balanceamento de carga de rede descritos neste documento. Estes objetivos são similares a maioria dos sites Web. Portanto as implementações de cluster apresentadas aqui podem ser úteis para negócios com objetivos similares.
Razões para Utilizar o Balanceamento de Carga de Rede
A Microsoft usa o balanceamento de carga de rede para alcançar seus objetivos técnicos e de negócios no site Web Microsoft.com. Esta seção discute recursos específicos que o balanceamento de carga de rede oferece para ajudar a Microsoft alcançar estes objetivos.
Este documento discute o conjunto de cluster em balanceamento de carga de rede no site Microsoft.com que executam o IIS 6.0. Este conjunto de clusters consiste de seis clusters. Cada um deles possui 10 servidores executando o IIS.
O balanceamento de carga de rede fornece aumento de desempenho, a capacidade de adicionar servidores conforme necessário e a capacidade de realizar manutenção em qualquer um dos servidores sem nenhum impacto para os clientes ou alterações de configurações. Usando uma combinação de balanceamento de carga de rede e múltiplos e redundantes clusters, o Microsoft.com pode adicionar e remover cluster com um impacto mínimo nos clientes.
A seguir uma lista dos recursos do balanceamento de carga de rede é detalhada:
-
Escalabilidade
-
O balanceamento de carga de rede pode balancear requisições para conexões TCP/IP individuais através do cluster.
-
O balanceamento de carga de rede pode balancear múltiplas requisições de servidores, a partir do mesmo cliente ou a partir de muitos clientes através de múltiplos hosts no cluster.
-
Alta Disponibilidade
-
O balanceamento de carga de rede pode automaticamente detectar e recuperar-se de um computador offline ou que tenha falhado.
-
O balanceamento de carga de rede pode automaticamente redistribuir a carga de rede quando hosts são adicionados ou removidos.
-
Gerenciamento
-
Facilidade de Uso
-
O balanceamento de carga de rede é instalado como um componente padrão de rede do Windows.
-
O balanceamento de carga de rede não exige alterações no hardware para ser executado.
-
O balanceamento de carga de rede permite que clientes acessem o cluster com um nome lógico único na Internet e um endereço IP virtual (também conhecido como endereço IP do cluster) enquanto retém nomes para cada computador. Este recurso pode ser usado para propósitos administrativos.
-
O balanceamento de carga de rede permite que aplicações no servidor sejam executadas em um cluster baseado em NLB sem modificações necessárias.
-
O balanceamento de carga de rede pode ser configurado para automaticamente adicionar um host que tenha falhado quando ele retornar ao funcionamento. O host adicionado poderá iniciar e aceitar requisições dos clientes.
-
O balanceamento de carga de rede permite que administradores de sistema tornem offline computadores para manutenção preventiva sem prejudicar as operações do cluster em outros hosts.
Razões para Múltiplos Clusters
Adicionalmente ao balanceamento de carga de rede, o site Microsoft.com usa múltiplos clusters para tornar o site Web mais fácil de ser mantido. Por exemplo, se um IP virtual inicia um problema, os administradores podem parar o tráfego roteado para o cluster todo (um processo externo ao balanceamento de carga de rede). Os administradores podem então realizar procedimentos corretivos ou de manutenção no software e equipamentos associados com o IP virtual que falhou enquanto continua a responder as requisições de clientes na Internet.
Para mais informações sobre o design e a arquitetura dos clusters baseados em balanceamento de carga de rede e hosts individuais, veja o diagrama do cluster Microsoft.com, Conjunto de Clusters em balanceamento de carga de rede executando o IIS 6.0 e o diagrama de Hosts em balanceamento de carga de rede neste documento. Para detalhes sobre o hardware e software usado no cluster, assim como configurações de hardware e software usados para obter vantagens deste recurso, leia a Configuração dos Clusters em balanceamento de carga de rede do Microsoft.com neste documento.
Diagrama Geral do Cluster Microsoft.com
O diagrama 1 mostra uma visão geral de como três conjuntos de clusters atuam juntos para suportar o site Microsoft.com. Este documento descreve os clusters de servidores Web baseados no balanceamento de carga de rede. Este conjunto de clusters consiste de seis clusters. Cada um deles é feito de 10 servidores executando o IIS 6.0.
Diagrama 1
Conjunto de Clusters em Balanceamento de carga de rede executando o IIS 6.0
O Diagrama 2 descreve os clusters de servidores Web em balanceamento de carga de rede que suportam o site Microsoft.com. Este conjunto de clusters consiste de seis clusters em balanceamento de carga de rede. Cada cluster possui 10 servidores executando o IIS 6.0.
Diagrama 2
Cada um dos seis clusters possui um endereço IP virtual único (VIP). Entretanto, todos os seis clusters são acessíveis através da URL www.microsoft.com. O tráfego Internet é inicialmente roteado para um dos seis VIPs através da técnica round robin. Round robin é um mecanismo simples usado por servidores DNS para compartilhar e distribuir carga para recursos de rede. Aqui, o round robin foi usado para rodar a ordem de VIPs que são usados para responder a uma consulta a partir da Internet para www.microsoft.com.
Cada host dentro de cada um dos seis clusters possui dois adaptadores de rede: o adaptador de cluster, que se conecta a Internet e é mapeado a um dos VIPs, e o adaptador de gerenciamento, que conecta a rede corporativa da Microsoft através de uma rede de perímetro. Todos os 10 hosts em cada cluster possuem o mesmo VIP que é mapeado ao adaptador de cluster (mostrado na linha vermelha). Em contrapartida, a linha azul representa o conjunto de 10 endereços únicos (um para cada host no cluster) que é mapeado ao adaptador de gerenciamento. Para mais informações sobre os dois adaptadores de rede, veja o Diagrama 3.
Para mais informações sobre as considerações no design e detalhes de configuração destes clusters, leia Razões para Utilizar Balanceamento de carga de rede, neste documento, e Configuração dos Clusters em balanceamento de carga de rede do Microsoft.com, neste documento.
Diagrama do Host do balanceamento de carga de rede
O Diagrama 3 descreve a configuração do adaptador de rede para cada host no balanceamento de carga de rede.
Diagrama 3
Este conjunto de clusters consiste de seis clusters em balanceamento de carga de rede individuais. Cada cluster possui 10 hosts. Cada host no cluster possui dois adaptadores de rede. O adaptador de cluster, ou adaptador front-end (chamado FE pelos administradores do site), é conectado a Internet. O adaptador de gerenciamento, ou adaptador back-end (chamado de BE pelos administradores), é conectado a rede corporativa da Microsoft.
O adaptador FE está mapeado tanto ao endereço IP virtual (VIP) como a um IP dedicado único (DIP). Todo tráfego Internet chega ao adaptador FE usando o VIP. O DIP neste adaptador é tipicamente usada apenas pelo ClusterSentinel, que é a ferramenta de gerenciamento e monitoramento usada pelo Microsoft.com. Outro tráfego destinado especificamente ao host em particular é tratado pelo adaptador BE.
O adaptador BE em cada host possui um endereço IP único e é usado para o tráfego do gerenciamento do host e do cluster, que tipicamente é originado na rede corporativa da Microsoft. Para mais informações sobre as considerações de design e detalhes de configuração do Cluster 1, leia Razões para Utilizar o balanceamento de carga de rede e Configuração dos Clusters em balanceamento de carga de rede do Microsoft.com, neste documento.
Configuração dos Clusters em balanceamento de carga de rede do Microsoft.com
Esta seção descreve os detalhes de hardware, software e configurações de balanceamento de carga de rede dos clusters de servidores Web que suportam o site Microsoft.com. Como o propósito deste documento é focar nos detalhes das implementações de clustering, apenas informações limitadas são fornecidas sobre configurações gerais de hardware de rede e outras configurações não relacionadas especificamente com o balanceamento de carga de rede.
-
Para informações sobre configurações de hardware, leia Configuração de Hardware para Hosts em balanceamento de carga de rede.
-
Para informações sobre configurações de software, leia Configuração de Software para Hosts em balanceamento de carga de rede.
-
Para informações sobre a configuração do balanceamento de carga de rede, leia Configuração do balanceamento de carga de rede.
Configuração de Hardware dos Hosts em balanceamento de carga de rede
Cada host nos clusters do Microsoft.com possui o mesmo hardware. Os servidores são Compaq Proliant ML570s (7U) com a seguinte configuração:
|
Processadores
|
4 x Pentium III XEON 700 Mhz; 1-MB cache
|
|
Memória
|
2 GB, 100 Mhz SDRAM
|
|
Controladora
|
Controladora Smart array 5302/64: PCI; 64-bit/66 MHz; 2-canais; U160; 64-MB cache
|
|
Discos Rígidos
|
10 x 18.2 GB hot-plug; 15K RPM 2 x 36.4 GB hot-plug; 15K RPM
|
|
Adaptadores de Rede
|
2 x NC3134 adaptadores Fast Ethernet; 32/64-bit PCI; 33/66 MHz; dual-base 10/100
|
|
Fonte de energia
|
Fonte redundante Hot-plug
|
Explicação
Este hardware fornece a capacidade de processamento necessária para picos inesperados de tráfego Web no site Microsoft.com. No momento que este documento foi escrito, estes eram um dos computadores mais rápidos de quatro processadores disponíveis. Com 2GB de RAM, os computadores podem tratar muitos processos do IIS 6.0 de uma vez, além de fornecer plena capacidade dos recursos de cache.
Configurações de Armazenamento para Cada Host
Cada host possui as seguintes configurações de armazenamento (storage):
-
Capacidade de 120-GB
-
Capacidade de logging de 34-GB
-
Disco virtual 1: volume de sistema espelhado que contém o sistema operacional e aplicações
-
Disco virtual 2: volume de logging que contém os arquivos de log do IIS
-
Disco virtual 1: Volume em RAID-5 que contém o conteúdo Web
Diagrama 4
O Diagrama 4 mostra a configuração de armazenamento para cada host. Cada host possui 12 discos físicos, configurados em três discos virtuais. Os discos virtuais 1 e 2 estão espelhados (RAID-1) e o terceiro está configurado com RAID-5. O disco virtual 3 é distribuído através de uma controladora RAID de dois canais.
Explicação
O site Microsoft.com implementou esta configuração de armazenamento para cada host para alcançar alta capacidade e redundância. O Windows Server 2003, Enterprise Edition e o Windows Server 2003, Datacenter Edition, suportam configurações RAID-0, RAID-1 e RAID-5. O propósito de configurações RAID-1 e RAID-5 é proteger o sistema contra perda de dados no evento de uma falha catastrófica de disco. O Microsoft.com usou configurações RAID-1 e RAID-5 para fornecer a tolerância à falhas necessária com um mínimo custo.
Os discos virtuais e físicos foram distribuídos entre dois canais devido as limitações de espaço em disco. Apesar de cada canal RAID acomodar apenas seis discos rígidos, cada servidor possui espaço para 12. Por isso, eles foram distribuídos entre dois canais.
Este design é um compromisso entre minimizar custos e otimizar performance. Com apenas dois canais e uma única controladora, o Microsoft.com escolheu colocar o conteúdo Web em um único canal e, portanto, teve que colocar o sistema operacional e os logs do IIS juntos em outro canal. A solução ideal de alta disponibilidade, que inclui armazenamento em discos espelhados em cada canal, requer custos de hardware adicionais.
Configuração de Software dos Hosts em balanceamento de carga de rede
Cada host nos cluster do balanceamento de carga de rede no Microsoft.com possui o seguinte software:
Adaptadores de Rede
Cada servidor possui dois adaptadores de rede instalados. O adaptador de cluster é chamado de FE (pelos administradores do site) para front-end. O adaptador de gerenciamento é chamado de BE para back-end.
Os adaptadores de rede possuem a seguinte configuração:
|
|
Adaptador de Rede "FE"
|
Adaptador de Rede "BE"
|
|
Protocolos
|
Internet protocol (TCP/IP) Driver de monitor de rede
|
Internet protocol (TCP/IP) Driver de monitor de rede
|
|
Clientes
|
Balanceamento de carga de rede
|
Cliente para Redes Microsoft Compartilhamento de Arquivos e Impressoras para Redes Microsoft
|
|
Endereços IP
|
Endereço IP virtual estático (VIP) Endereço IP dedicado estático (DIP)
|
Endereço estático IP
|
Explicação
Os adaptadores são rotulados para fácil identificação. O adaptador FE é o adaptador do cluster, que é usado para o tráfego Interne, enquanto o adaptador BE é o adaptador de gerenciamento, usado para replicação de conteúdo e administração. Como prática recomendada, você deve usar dois adaptadores de rede em todas as implementações de balanceamento de carga de rede. Neste caso, os dois adaptadores fornecem segurança adicional por fisicamente separarem o tráfego Internet da rede de perímetro (também conhecida como DMZ, zona desmilitarizada ou sub-rede de borda). Além disso, eles endereçam a restrição que o cluster operando em modo unicast não pode distinguir entre adaptadores únicos ou hosts individuais. Portanto, para se comunicar entre hosts do cluster, cada host precisa ter pelo menos 2 adaptadores de rede.
Configuração TCP/IP
-
A cada adaptador de rede é atribuído um endereço IP estático e um servidor DNS estático. O endereço IP estático do adaptador FE é conhecido como endereço IP dedicado (DIP).
-
Adicionalmente ao DIP, o adaptador FE também possui o endereço IP virtual (também conhecido como endereço IP do cluster, ou VIP), que é usado por todos os clientes na Internet que se conectam ao site Microsoft.com.
-
O NetBIOS é desativado no adaptador FE através da opção Avançado da caixa de diálogo Propriedades do TCP/IP.
Explicação
Cada adaptador que tem o balanceamento de carga de rede ativado (neste caso o adaptador FE em cada host) possui um endereço IP dedicado (DIP) além do endereço IP virtual (veja o Diagrama 5). O IP dedicado deve ser estático e único para cada host. O DIP não pode ser um endereço fornecido por DHCP. O DIP é apenas usado para permitir conexões remotas a um host específico através do adaptador do balanceamento de carga de rede. O tráfego com destino ao DIP nunca é balanceado.
Lembre-se de você deve sempre entrar com o endereço IP dedicado primeiramente nas propriedades do TCP/IP, antes do IP virtual.
Diagrama 5
O Balanceamento de carga de rede referencia o endereço IP dedicado (DIP) apenas quando um único adaptador de rede é usado para tratar tanto o tráfego cliente-cluster como outros tráfegos que precisam chegar especificamente ao IP dedicado; por exemplo, Telnet acessando um host dentro do cluster. No site Microsoft.com, o DIP é primariamente usado pelo ClusterSentinel. Todas as outras comunicações administrativas, como replicação de conteúdo, ocorrem através do adaptador BE.
A comunicação sobre a porta direta do host, assim como outras portas que forem consideradas necessárias, é restrita a listas de controle de acesso do roteador. O NetBIOS é desativado no adaptador FE para fornecer uma camada secundária de proteção conta atividades maliciosas. Entretanto, mesmo com o NetBIOS desativado, o hosting direto de tráfego SMB (Server Message Block) ainda está ativado. Para mais informações sobre hosting direto, leia o artigo 204279, Direct Hosting of SMB Over TCP/IP, na Base de Conhecimento Microsoft (em inglês) (http://go.microsoft.com/fwlink/?LinkId=4441).
Configuração do balanceamento de carga de rede
Esta seção descreve os parâmetros que foram configurados no clusters baseados no balanceamento de carga de rede, os parâmetros específicos de cada host no cluster e as regras de portas que controlam como o cluster funciona.
Parâmetros do Cluster
Estes parâmetros aparecem na guia Parâmetros do Cluster que está disponível quando você configura as propriedades do balanceamento de carga de rede. Estes parâmetros devem ser idênticos em cada host do cluster. A maneira mais fácil de alcançar isso é usar o Gerenciador do balanceamento de carga de rede quando implementar e configurar os hosts.
|
Configuração
|
Explicação
|
|
Balanceamento de carga de rede é ativado no adaptador chamado FE.
|
O balanceamento de carga de rede é ativado apenas no adaptador FE porque o adaptador BE é usado exclusivamente para tráfego administrativo e para comunicação entre hosts. Os adaptadores BE também tratam a replicação de conteúdo entre os hosts. O adaptador BE não trata tráfego dos cluster a partir de clientes.
|
|
Endereço IP é definido para o endereço IP do cluster (VIP). NEste documento, estes endereços são 0.0.0.x.* Leia Conjunto de Clusters em balanceamento de carga de rede executando o IIS 6.0 (Diagrama 2) e o Diagrama de Hosts em balanceamento de carga de rede (Diagrama 3), neste documento, para mais informações.
Máscara de sub-rede é definida para a máscara de sub-rede do endereço IP do cluster. * Estes não são os VIPs verdadeiros do Microsoft.com
|
Note que cada cluster possui apenas um endereço IP virtual. O Microsoft.com não usou o recurso de Cluster Virtual do Windows Server 2003, Enterprise Edition, que permite a você ativar múltiplos endereços IP virtuais em cada cluster.
|
|
Unicast é selecionado.
|
O modo Unicast é tipicamente o modo preferido de operação do cluster. Enquanto o modo multicast pode em alguns casos ser usado como uma alternativa e oferecer certas vantagens, ele não é suportado por todos os roteadores e frequentemente oferecem complexidade adicional. O modo Unicast com múltiplos adaptadores é um modelo ideal para clusters como o descrito neste documento, a qual a comunicação de rede entre os hosts do cluster é necessária ou desejável e um segundo adaptador de gerenciamento está disponível para esta comunicação.
|
|
Controle Remtoo é ativado.
|
O controle remoto é ativado para permitir a administradores usarem o ClusterSentinel para controle do cluster.
|
Nota: Apesar de utilizado no site Microsoft.com, a opção de controle remoto é desencorajada porque sua presença significa exposição de segurança incluindo a possibilidade de alteração de dados, negação de serviço e quebra de sigilo. Nós recomendamos fortemente que sites utilizem outras ferramentas de gerenciamento remoto como o Gerenciador do balanceamento de carga de rede ou WMI (Windows Management Instrumentation). Se você escolher ativar o controle remoto, é vital que você restrinja acesso especificando uma senha muito forte. Além da senha, é imperativo que você utilize um firewall que proteja as portas de controle UDP do balanceamento de carga de rede (as portas que recebem os comandos) de intrusão (veja o Diagrama 6). Por padrão, estas portas são as 1717 e 2504 no IP virtual. A equipe do Microsoft.com implementou estas medidas.
Diagrama 6:
Parâmetros do Host
Estes parâmetros aparecem na guia Parâmetros do Host que está disponível quando você configura o balanceamento de carga de rede. Alguns destes parâmetros são únicos para cada host, mas na maioria das vezes são idênticos em todos os hosts do cluster.
|
Configuração
|
Explicação
|
|
Prioridade (ID único do host) é atribuída ao ID do host que o servidor em particular representa no cluster.
|
A Prioridade (ID único do host) determina qual host trata certo tráfego no cluster. O host com a menor prioridade númerica entre os membros trata todo o tráfego de rede no cluster que não foi coberto por regras de portas. Cada host precisa ter um valor diferente de Prioridade. Se o Gerenciador de balanceamento de carga de rede for utilizado, ele garantirá que cada host possui uma prioridade única.
|
|
Status inicial do host é definido como parado e a opção Manter-se suspenso não é selecionada.
|
Status inicial do host é definido como Parado para permitir que os administradores realizem vários testes no host uma vez que ele tenha sido reiniciado, e antes de uní-lo ao cluster. Isso permite que administradores tenham a certeza que o host está funcionando corretamente antes de ser incluído na rotação do balanceamento de carga de rede.
|
|
Endereço IP dedicado e Máscara de subrede é definido pelo endereço IP e a máscara de subrede do adaptador FE.
|
Novamente, é importante distinguir entre o endereço IP dedicado (DIP), que é configurado nesta guia, e o endereço IP virtual (VIP), que é o IP do cluster e é configurado na guia Parâmetros do Cluster. Se você usar o Gerenciador do balanceamento de carga de rede para configurar o cluster, o endereço IP dedicado irá conter o endereço correto. Os endereços configurados nesta guia (e na guia Parâmetros do Cluster) são atribuídos ao adaptador de rede FE.
|
Regras de Portas
Regras de portas são definidas para controlar como cada porta trata o tráfego de rede endereçado pelo cluster. O número e tipo de regras devem ser exatamente o mesmo para cada host no cluster. Nós recomendamos que você utilize o Gerenciador de balanceamento de carga de rede para configurar estas regras. Se você estiver usando o Gerenciador de balanceamento de carga de rede, quando você adicionar hosts, eles irão automaticamente herdar as regras de portas do cluster. Se você não usar o Gerenciador do balanceamento de carga de rede e um host tentar se unir ao cluster com um número diferente de regras, ou com regras diferentes dos outros hosts, ele não será aceito como parte do cluster. O resto do cluster continuará então a tratar o tráfego como antes. Ao mesmo tempo, uma mensagem será gerada no log de eventos do Windows.
Entenda que todo o tráfego de rede que é endereçado pelo cluster e não é governado pelas regras de portas é tratado pelo host com a menor prioridade entre os membros atuais do cluster. Este host único trata todo o tráfego do cluster não governado por uma regra de portas, com outro host tratando o tráfego somente no caso do host com a maior prioridade falhar ou se tornar offline. Este comportamento padrão garante que o balanceamento de carga de rede não afeta o tráfego de rede do cluster em portas que você não especificou no mecanismo do balanceamento de carga de rede. Ele ainda fornece alta disponibilidade para o tratamento do tráfego de rede do cluster.
Regras de Portas Configuradas no site Microsoft.com
O Microsoft.com possui apenas duas regras de portas configuradas:
Explicação
A faixa de portas que é especificada em cada uma das regras inclui apenas portas tratadas pelo IP virtual do cluster (VIP). Por isso, elas são as únicas portas que tratam o tráfego gerenciado pelo balanceamento de carga de rede. Entenda, entretanto, que isso não previne o tráfego de rede de ocorrer em cada IP dedicado do host ou outras portas no VIP. O Microsoft.com usa listas de controle de acesso em roteadores (ACLs) para gerenciar este tipo de tráfego. Você pode ainda desativar as portas restantes criando regras de portas que incluem todas as outras portas, e então usar a opção Desativar na caixa de diálogo Configuração de Regras de Portas. Apesar desta configuração fornecer proteção adicional para o host, não use regras de portas como substituto para o firewall.
O Microsoft.com não usa clusters virtuais neste documento, portanto as regras de portas são configuradas como globais através da opção Todos para o endereço IP virtual
O TCP é o único tipo de tráfego que o cluster trata.
Definir o modo de filtro para múltiplos hosts permite que todos os hosts no cluster tratem o tráfego de rede para a regra de porta associada. Este modo de filtro fornece desempenho escalonável e tolerância a falhas distribuindo a carga de rede entre múltiplos hosts. Você pode especificar de que forma a carga é distribuída entre os hosts ou que cada host trata uma carga específica. O site Microsoft.com especificou a opção carga igual para cada host.
A Afinidade é definida como Nenhuma, o que especifica que múltiplas conexões a partir do mesmo endereço IP cliente podem ser tratadas por diferentes hosts do cluster (ou seja, não há afinidade com o cliente).
Nota: Apesar de não usada pela Microsoft.com, a Classe C ou afinidade única é recomendada tipicamente para transmissões em Secure Sockets Layer (SSL) na porta 443 para tornar mais eficiente o uso dos recursos do servidor. Conexões SSL são associadas com um IP particular da sessão, que (dentro de um tempo especificado) podem ser reutilizados na comunicação. Se o computador cliente apresentar o ID da sessão para um host diferente, a sessão será rejeitada e uma nova sessão será negociada. (Este processo é transparente para o usuário). A negociação requer recursos adicionais do host e aumenta a carga do servidor. Portanto, usando Classe C ou afinidade única, você pode minimizar a frequência com que estas sessão são renegociadas.
Isso conclui a sessão de configuração deste documento. Conforme descrito anteriormente, a informação fornecida aqui cobre apenas aqueles detalhes relacionados ao balanceamento de carga de rede no site Microsoft.com. Outros detalhes de software e hardware que são necessários para um site em produção não foram descritos.
Monitorando o Cluster
Esta sessão discute as ferramentas que os administradores do site Microsoft.com usam para monitorar a condição e a configuração dos cluster e dos hosts. O MOM (Microsoft Operations Manager) foi instalado em cada servidor executando o IIS e é usado para monitorar logs de eventos e executar scripts remotamente. Além do MOM, o site usa uma variedade de outras ferramentas para monitoramento e relatórios incluindo o ClusterSentinel, HTTP Monitoring Tool, Data Center Warehouse e RMS. A Microsoft desenvolveu estas quatro ferramentas de monitoramento para uso dentro da companhia. Entretanto, outros produtos disponíveis comercialmente, como o Microsoft Application Center, fornecem funcionalidade similar.
ClusterSentinel
O ClusterSentinel é uma ferramenta usada para monitorar e controlar os hosts do cluster. Os administradores utilizam o ClusterSentinel para:
-
Determinar e relatar o estado dos hosts do cluster, como em convergência ou suspensos.
-
Controlar manualmente os hosts usando os comandos do balanceamento de carga de rede, como Stop, Start, Drain e Drainstop.
-
Monitorar e relatar a saúde das aplicações. Se for determinado que uma aplicação está com problemas em um host específico, o host é automaticamente removido do cluster.
O tráfego do ClusterSentinel é tratado pelo endereço IP dedicado no adaptador FE dos hosts. Para mais informações sobre as configurações dos adaptadores de rede no cluster, leia o Diagrama dos Hosts do balanceamento de carga de rede neste documento.
O Gerenciador do balanceamento de carga de rede, um novo recurso da família de produtos Windows Server 2003, pode ser usado para as primeiras duas tarefas realizadas pelo ClusterSentinel. O Gerenciador do balanceamento de carga de rede não possui, entretanto, a capacidade de monitorar a condição da aplicação.
HTTP Monitoring Tool
O HTTP Monitoring Tool (HTTPMon) é um utilitário do Resource Kit que está incluído no Microsoft Windows NT 4.0 e no Microsoft Windows 2000 Resource Kit. O HTTPMon é uma ferramenta multithread que monitora a atividade HTTP em seus servidores e pode notificá-lo se houver alterações na atividade. Você pode ainda configurar a ferramenta para remover automaticamente um host de um cluster dependendo da disponibilidade de uma aplicação específica, como o IIS, ou da disponibilidade de um site Web em particular.
O HTTPMon roda através de uma série de testes remotos em nível de aplicação e coleta informações a cada 30 segundos, procurando por falhas na camada de aplicação, que são mais comuns do que falhas de sistema, mas mais difíceis de serem detectadas. Problemas na camada de aplicação podem ir do IIS sendo sobrecarregado até uma aplicação não respondendo e necessitando de uma reinicialização do servidor. O HTTPMon procura por erros consistentes com a RFC 1945. Por exemplo, um código de status 200 indica bom desempenho, enquanto um código 500 indica um erro. Os resultados destes testes são armazenados em uma base de dados SQL.
Se o HTTPMon determinar que um servidor está tendo problemas na camada de aplicação (por exemplo, com o IIS), o HTTPMon direciona o balanceamento de carga de rede a remover o host do cluster. Um minuto depois, o HTTPMon checa novamente para ver se o servidor foi recuperado. Se ele foi, o servidor é retornado ao serviço. Se o servidor ainda não responde, um técnico é solicitado para verificar o computador, determinar a natureza do problema e após corrigi-lo, torná-lo on-line.
Data Center Warehouse
O Data Center Warehouse (DCW) é uma ferramenta que compila todas as informações do ClusterSentinel, HTTPMon e vários monitores de performance, como requisições ASP por segundo e apresenta-os em uma única página Web. Ele exibe uma visão global de cada servidor e cluster. Administradores podem então analisar a informação coletada de forma global ou limitar a visão a certos erros, como servidores com aplicações falhando ou servidores em funcionamento que não foram ativados no cluster.
Figura 1:
A Figura 1 mostra o tipo de informação disponível no DCW.
RMS
RMS é outra aplicação usada para monitorar a configuração de software. Ela compara a configuração do cluster e cada host do cluster com uma predefinida, padrão. A configuração padrão inclui informações como registro, versões de programas, metadados do IIS, versões de sistemas operacional e Service Packs instalados. Se diferenças são encontradas, o Microsoft Operations Manager (MOM) é utilizado para inserir a informação na base de dados SQL.
Retendo e monitorando o dado coletado por todas estas ferramentas, o site Microsoft.com pode rapidamente corrigir qualquer problema e também usar relatórios históricos para monitorar e analisar tendências que podem indicar futuros problemas.
Práticas Recomendadas no balanceamento de carga de rede
O site Microsoft.com implementou muitas das práticas recomendadas a seguir, como ilustrado neste documento. Práticas adicionais foram incluídas também. Os administradores devem analisar estas práticas para garantir que o balanceamento de carga de rede está sendo usado de forma mais efetiva.
Proteja Corretamente os Hosts do balanceamento de carga de rede e as Aplicações balanceadas.
-
O balanceamento de carga de rede não fornece segurança adicional para hosts balanceados e não pode ser usado como um firewall. Portanto, é importante garantir a segurança das aplicações e host. Para descobrir mais sobre procedimentos de segurança para aplicações, leia a documentação de cada aplicação em particular. Por exemplo, se você está utilizando o balanceamento de carga de rede com o IIS, siga os procedimentos e recomendações para proteção do IIS. Para visualizar a documentação do IIS instale-o, abra a interface de usuário do IIS e selecione Ajuda.
-
Para evitar interferências de pacotes de heartbeat não autorizados, você deve proteger fisicamente a subrede do balanceamento de carga de rede da intrusão por computadores e dispositivos não autorizados.
-
Se você usa a lista de hosts opcional com o Gerenciador de balanceamento de carga de rede, certifique-se de que apenas usuários do grupo local Administradores possam acessar a lista de hosts.
Use Dois ou Mais Adaptadores de Rede em Cada Host do Cluster Quando Possível. Dois Adaptadores de Rede, entretanto, não é um requisito.
-
Se o cluster estiver operando em modo unicast (o padrão), o balanceamento de carga de rede não poderá distinguir entre adaptadores únicos em hosts individuais. Portanto, para tornar a comunicação entre hosts possível ,cada cluster precisa ter pelo menos dois adaptadores de rede.
-
Apesar de você poder configurar o balanceamento de carga de rede em mais de um adaptador de rede, certifique-se de instalar o balanceamento de carga de rede em apenas um adaptador (chamado adaptador do cluster) se você usar um segundo adaptador para seguir esta recomendação.
Use Apenas TCP/IP no Adaptador do Cluster.
Use o Gerenciador do balanceamento de carga de rede para configurar opções.
-
Você pode configurar muitas opções do balanceamento de carga de rede usando o Gerenciador do NLB ou a caixa de diálogo Propriedades do balanceamento de carga de rede acessível através de Conexões de Rede. Entretanto, o Gerenciador do balanceamento de carga de rede é o método preferido. Nós recomendamos que você não use ambos para alterar as propriedades. Você deve ainda usar apenas uma instância do Gerenciador de balanceamento de carga de rede para configurar um mesmo cluster.
Não ative o Controle Remoto do balanceamento de carga de rede.
-
A opção de controle remoto do balanceamento de carga de rede apresenta muitos riscos de segurança, incluindo possibilidade de alteração de dados, negação de serviço e quebra de sigilo. Nós recomendamos fortemente que você não ative o controle remoto. Em vez disso, use outras ferramentas de gerenciamento remoto como o Gerenciador do balanceamento de carga de rede ou Windows Management Instrumentation (WMI).
Se você escolher ativar o controle remoto, é vital que restrinja acesso especificando uma senha muito forte. É imperativo também proteger o balanceamento de carga de rede usando um firewall para proteger as portas de controle UDP (as portas que recebem os comandos). Por padrão, estas portas são as 1717 e 2504 no endereço IP virtual. Use o controle remoto apenas a partir de um computador seguro e confiável na rede dentro do firewall.
Diagrama 7
Ative o log do Gerenciador de balanceamento de carga de rede.
-
Você pode configurar o Gerenciador do balanceamento de carga de rede para registrar cada evento. Este log pode ser muito útil para resolução de problemas ou erros usando o Gerenciador de balanceamento de carga de rede. Ative o log da ferramenta clicando em Log Settings no menu Options. Selecione a opção Enable logging e especifique um nome e local para armazenar o arquivo de log.
O arquivo de log contém informações importantes sobre os clusters e host do balanceamento de carga de rede, portanto devem estar seguros. Por padrão, o arquivo de log herda as configurações de segurança do diretório que ele foi criado, portanto é provável que você tenha que alterar as permissões deste arquivo para restringir a leitura e escrita. Um indivíduo usando o Gerenciador de balanceamento de carga de rede não precisa de controle total neste arquivo de log.
Verifique se as opções de configuração para os Parâmetros do Cluster, Regras de Portas e Parâmetros do Host estejam como abaixo:
-
Certifique-se de que todos os hosts em um cluster tenham parâmetros de cluster idênticos e regras de portas idênticas para cada endereço IP virtual.
Cada endereço IP virtual único deve ser configurado com as mesmas regras de portas para cada host que serve o endereço virtual. Entretanto, se você tiver múltiplos endereços IP configurados em um host, cada um destes endereços IP virtuais podem ter um conjunto de regras diferentes.
-
Verifique se as regras de portas estão definidas para todas as portas usadas pela aplicação balanceada. Por exemplo, FTP usa a porta 20, 21 e portas 1024-65535.
-
Verifique se o endereço IP dedicado é único para cada host e o endereço IP virtual é adicionado para cada host do cluster.
-
Se a fragmentação do tráfego de rede é uma possibilidade e você estiver usando UDP ou Ambos como protocolo, verifique se a afinidade foi definida para Única ou Classe C.
Verifique se as aplicações balanceadas estão iniciadas em todos os hosts do cluster
Verifique se as opções de configuração do IP dedicado e do IP virtual estão configuradas como abaixo:
-
Certifique-se de que o endereço IP virtual (VIP) e opcionalmente o DIP foram configurados na instalação nas Propriedades do balanceamento de carga de rede e também nas Propriedades de TCP/IP. Certifique-se de que os endereços estão em ambos os locais. Isso é alcançado mais facilmente usando o Gerenciador do balanceamento de carga de rede para criar e gerenciar o cluster.
Se você omitir este passo, o cluster irá convergir e aparecerá funcionando corretamente mas o host do cluster não irá aceitar e tratar o tráfego do cluster.
Para mais informações sobre convergência, acesse os tópicos do Centro de Ajuda e Suporte na Web na documentação do produto Windows Server 2003 (http://go.microsoft.com/fwlink/?LinkId=4299). Você pode ainda abrir o Centro de Ajuda e Suporte no computador executando o produto clicando em Iniciar, Ajuda e Suporte. Procure os tópicos sobre balanceamento de carga de rede, que podem ser encontrados em Disponibilidade e Escalabilidade \ Windows Clustering \ balanceamento de carga de rede ou pesquisando a Ajuda.
-
Verifique se o DIP (se presente) é sempre listado primeiro (antes do IP virtual) nas propriedades do TCP/IP. Isso garante que as conexões que se originarem do host irão retornar para o mesmo host.
-
Verifique se tanto o IP dedicado como o virtual são estáticos. Eles não podem ser automáticos (DHCP).
Certifique-se que todos os hosts do cluster pertençam a mesma subrede e que os clientes do cluster sejam capazes de acessar a subrede.
Realize alterações no host do cluster de acordo com as seguintes recomendações:
-
Se você mover um host de cluster de um cluster para outro na mesma subrede mudando seu IP virtual, primeiro remova o balanceamento de carga de rede e remova o IP virtual do TCP/IP. Então, reative o balanceamento de carga de rede após alterar os endereços IP. Isso previne um conflito de endereço IP.
Verifique se todos os hosts do cluster estão operando em modo unicast ou multicast, mas não em ambos.
Não ative o balanceamento de carga de rede em um computador que é parte de um cluster (Windows Clustering)
Evite desinstalar o balanceamento de carga de rede.
Sumário
O uso do balanceamento de carga de rede no site Microsoft.com é uma implementação típica da tecnologia de clustering, portanto este material serve como um exemplo. Administradores de sites Web podem usar os detalhes deste documento como um exemplo para suas próprias implementações. Podem ainda analisar a seção de práticas recomendadas para garantirem que estão usando o recurso de forma mais efetiva.
Links Relacionados
Acesse as páginas abaixo para mais informações:
-
Para informações atualizadas sobre balanceamento de carga de rede, pesquise na Base de Conhecimento Microsoft (http://go.microsoft.com/fwlink/?LinkId=4441). Pesquisa usando Network Load Balancing e NLB.
-
Para mais informações sobre como o departamento de TI interno da Microsoft implementou uma tecnologia relacionada, clusters de servidores, leia o documento chamado Using Clustering with Exchange 2003: An Example, que está disponível em (http://go.microsoft.com/fwlink/?LinkId=18652).
-
Para informações sobre balanceamento de carga de rede e clusters de servidores, leia o tópico Disponibilidade e Escalabilidade/Windows Clustering no Centro de Ajuda e Suporte. Para acessá-lo, clique em Iniciar e em Ajuda e Suporte.
-
Para mais informações sobre os tópicos abaixo, leia Planning Server Deployments, no site do Microsoft Windows Server 2003 Deployment Kit (http://go.microsoft.com/fwlink/?LinkId=4298):
-
O processo de design do balanceamento de carga de rede
-
Implementando balanceamento de carga de rede, instalações não atendidas e atualizando clusters existentes de balanceamento de carga de rede
-
Planejando para alta disponibilidade (disponível apenas neste site)
-
Para informações mais recentes sobre a família Windows Server 2003, leia a seção Windows Server 2003 do site http://go.microsoft.com/fwlink/?LinkId=4299.