Configurando o Dispatcher

Antes de seguir as etapas neste capítulo, consulte o Planejando para Dispatcher. Este capítulo explica como criar uma configuração básica para o componente Dispatcher do Balanceador de Carga.

Nota:
Para as versões anteriores, quando o produto era conhecido como Network Dispatcher, o nome do comando de controle do Dispatcher era ndcontrol. O nome do comando de controle do Dispatcher é agora dscontrol.

Visão Geral das Tarefas de Configuração

Antes de iniciar as etapas de configuração nesta tabela, assegure-se de que a máquina do Dispatcher e todas as máquinas servidor estejam conectadas à rede, tenham endereços IP válidos e estejam aptas a executar ping entre si.

Tabela 1. Tarefas de configuração para a função do Dispatcher
Tarefa Descrição Informações relacionadas
Configure a máquina Dispatcher.

Defina a configuração do balanceamento de carga.

Configurando a Máquina do Dispatcher
Configure as máquinas a ter a carga balanceada. Defina o alias do dispositivo loopback, verifique uma rota extra e exclua qualquer rota extra. Configurando Máquinas Servidor para Balanceamento de Carga

Métodos de Configuração

Existem quatro métodos básicos de configuração do Dispatcher:

Linha de comandos

Este é o meio mais direto de configurar o Dispatcher. Os valores de parâmetro de comando devem ser inseridos em caracteres no idioma inglês. As únicas exceções são nomes de host (usados em comandos de cluster, servidor e alta disponibilidade) e nomes de arquivo (usados em comandos de arquivo).

Para iniciar o Dispatcher a partir da linha de comandos:

  1. Emita o comando dsserver a partir do prompt de comandos. Para parar o serviço, digite: dsserver stop
    Nota:
    Para sistemas operacionais Windows, clique em Iniciar > Painel de Controle > Ferramentas Administrativas > Serviços. Clique com o botão direito do mouse em IBM® Dispatcher e selecione Iniciar. Para parar o serviço, siga as mesmas etapas e selecione Parar.
  2. Em seguida, emita os comandos de controle do Dispatcher que deseja, para definir a configuração. Os procedimentos neste manual supõem o uso da linha de comandos. O comando é dscontrol. Para obter informações adicionais sobre comandos, consulte Referência de Comando para Dispatcher e CBR.

É possível usar uma versão minimizada dos parâmetros do comando dscontrol digitando as letras exclusivas dos parâmetros. Por exemplo, para obter ajuda sobre o comando file save, você poderá digitar dscontrol he f em vez de dscontrol help file.

Para inicializar a interface da linha de comandos: emita dscontrol para receber um prompt de comandos dscontrol.

Para terminar a interface da linha de comandos: emita exit ou quit.

Scripts

É possível inserir comandos para configurar o Dispatcher em um arquivo de script de configuração e executá-los juntos. Consulte Arquivos de Configuração do Balanceador de Carga de Amostra.

Nota:
Para executar rapidamente o conteúdo de um arquivo de script (por exemplo, myscript), use um dos seguintes comandos:

Para salvar a configuração atual em um arquivo de script (por exemplo, savescript), execute o seguinte comando:

dscontrol file save savescript

Esse comando salvará o arquivo script de configuração no seguinte diretório:

GUI

Para obter instruções gerais e um exemplo da Graphical User Interface (GUI), consulte Figura 38.

Para iniciar a GUI, siga estas etapas:

  1. Assegure-se de que o dsserver esteja em execução
  2. Execute uma das seguintes ações, dependendo do sistema operacional:

Para configurar o componente Dispatcher a partir da GUI, é necessário primeiro selecionar Dispatcher na estrutura em árvore. Você pode iniciar o executor e o gerenciador após se conectar a um Host. Também é possível criar clusters que contêm portas e servidores e iniciar orientadores para o gerenciador.

A GUI pode ser usada para fazer qualquer coisa que você faria com o comando dscontrol. Por exemplo, para definir um cluster que usa a linha de comandos, você inseriria o comando dscontrol cluster add cluster. Para definir um cluster a partir da GUI, clique com o botão direito do mouse no Executor, em seguida, no menu pop-up, clique com o botão esquerdo em Incluir Cluster. Insira o endereço do cluster na janela pop-up, em seguida, clique em OK.

Os arquivos de configuração do Dispatcher pré-existente podem ser carregados usando as opções Carregar Nova Configuração(para substituir completamente a configuração atual) e Anexar na Configuração Atual (para atualizar a configuração atual) apresentadas no menu pop-up Host. Você deverá salvar a configuração do Dispatcher em um arquivo usando periodicamente a opção Salvar Arquivo de Configuração Como também apresentada no menu pop-up Host. O menu Arquivo localizado na parte superior da GUI permitirá salvar as conexões do host atual em um arquivo ou restaurar conexões em arquivos existentes por meio de todos os componentes do Balanceador de Carga.

Os comandos de configuração também podem ser executados remotamente. Para obter informações adicionais, consulte Remote Method Invocation (RMI).

Para executar um comando a partir da GUI: realce o nó Host na árvore da GUI e selecione Enviar comando.... no menu pop-up Host. No campo de entrada do comando, digite o comando que deseja executar, por exemplo: executor report. Os resultados e o histórico dos comandos são executados na sessão atual e são exibidos na janela fornecida.

É possível acessar a Ajuda clicando no ícone ponto de interrogação no canto superior direito da janela do Balanceador de Carga.

Para obter informações adicionais sobre como usar a GUI, consulte Apêndice A. GUI: Instruções Gerais.

Configurando com o Assistente de Configuração

Se estiver utilizando o assistente para configuração, siga estas etapas:

  1. Inicie o dsserver no Dispatcher:

  2. Inicie a função do assistente do Dispatcher, dswizard.

O assistente guia você passo a passo pelo processo de criação de uma configuração básica para o componente Dispatcher. Serão feitas perguntas a você sobre sua rede. Você será guiado por meio da configuração de um cluster para que o Dispatcher faça o balanceamento de carga do tráfego entre um grupo de servidores.

Configurando a Máquina do Dispatcher

Antes de configurar a máquina do Dispatcher, é necessário ser o usuário root (para sistemas AIX, HP-UX, Linux ou Solaris) ou o Administrador nos sistemas Windows.

Em todas as plataformas suportadas, o Balanceador de Carga pode ter um instalado em execução. Instalação significa que o Balanceador de Carga pode residir fisicamente em uma máquina servidor com balanceamento de carga.

Para a máquina do Dispatcher, ao usar o método de encaminhamento mac, você vai precisar de pelo menos dois endereços IP válidos. Para o método de encaminhamento cbr ou nat, você vai precisar de pelo menos três endereços IP válidos:

Apenas sistemas Solaris:

Assegure-se de que o encaminhamento de IP não esteja ativado para o protocolo TCP/IP.

O Figura 15 mostra um exemplo de configuração do Dispatcher com um único cluster, duas portas e três servidores.

Figura 15. Exemplo dos endereços IP necessários para a máquina do Dispatcher

Para ajudar com os comandos usados neste procedimento, consulte Referência de Comando para Dispatcher e CBR.

Para obter um arquivo de configuração de amostra, consulte o Arquivos de Configuração do Balanceador de Carga de Amostra.

Etapa 1. Iniciar a Função do Servidor

Sistemas AIX, HP-UX, Linux ou Solaris: Para iniciar a função de servidor, digite dsserver.

Sistemas Windows: A função de servidor é iniciada automaticamente como um serviço.

Nota:
Um arquivo de configuração padrão (default.cfg) é carregado automaticamente durante o início do dsserver. Se o usuário decidir salvar a configuração do Dispatcher em default.cfg, em seguida, tudo o que for salvo nesse arquivo será automaticamente carregado da próxima vez que o dsserver for iniciado.

Etapa 2. Iniciar a Função de Executor

Para iniciar a função do executor, insira o comando dscontrol executor start. Você também poderá alterar várias configurações do executor neste momento. Consulte Referência de Comando para Dispatcher e CBR.

Etapa 3. Definir o Nonforwarding Address (se Diferente do Nome do Host)

O nonforwarding address é usado para se conectar à máquina para propósitos administrativos, como usar Telnet ou SMTP para essa máquina. Por padrão, esse endereço é o nome do host.

Para definir o nonforwarding address, insira o comando dscontrol executor set nfa IP_address ou edite o arquivo de configuração de amostra. O IP_address é o nome simbólico ou o endereço IP.

Etapa 4. Definir um Cluster e Configurar as Opções do Cluster

O Dispatcher fará o balanceamento dos pedidos enviados para o endereço do cluster para os servidores configurados nas portas para esse cluster.

O cluster é o nome simbólico, o endereço decimal pontuado ou o endereço especial 0.0.0.0 que define um cluster curinga. Para definir um cluster, emita o comando dscontrol cluster add. Para configurar opções do cluster, emita o comando dscontrol cluster set ou é possível usar a GUI para emitir comandos. Os clusters curinga podem ser usados para corresponder múltiplos endereços IP para pacotes recebidos a ter a carga balanceada. Consulte Usar Cluster Curinga para Combinar Configurações do Servidor, Usar Cluster Curinga para Balanceamento de Carga de Firewalls e Usando Cluster Curinga com Caching Proxy para Proxy Transparente para obter mais informações.

Etapa 5. Criar o Alias da Placa da Interface de Rede

Quando o cluster tiver sido definido, você deverá configurar normalmente o endereço do cluster em uma das placas da interface de rede da máquina do Dispatcher. Para fazer isso, emita o comando dscontrol executor configure cluster_address. Ele procurará um adaptador com um endereço existente que pertence à mesma rede que a do endereço do cluster. Em seguida, ele emitirá o comando de configuração do adaptador do sistema operacional para o endereço do cluster, usando o adaptador localizado e a máscara de rede para o endereço existente localizado nesse adaptador. Por exemplo:

dscontrol executor configure 204.67.172.72 

Circunstâncias nas quais você não quer configurar o endereço do cluster incluem clusters incluídos em um servidor de espera no modo de alta disponibilidade ou clusters incluídos em um dispatcher de longa distância agindo como servidor remoto. Você também não precisa executar o comando executor configure, se no modo independente, você usar o script goIdle de amostra. Para obter informações sobre o script goIdle, consulte Utilizando Scripts.

Em casos raros você poderá ter um endereço do cluster que não corresponde a nenhuma sub-rede de endereços existentes. Neste caso, use a segunda forma do comando de configuração do executor e forneça explicitamente o nome da interface e a máscara de rede. Use dscontrol executor configure cluster_address interface_name netmask.

Alguns exemplos incluem:

dscontrol executor configure 204.67.172.72 en0 255.255.0.0 
(sistemas AIX)
dscontrol executor configure 204.67.172.72 eth0:1 255.255.0.0 
(sistemas Linux)
dscontrol executor configure 204.67.172.72 eri0 255.255.0.0 
(sistemas Solaris)
dscontrol executor configure 204.67.172.72 en1 255.255.0.0 
(sistemas Windows)

Sistemas Windows

Para usar a segunda forma do comando executor configure em sistemas Windows, você deve determinar o nome da interface a ser usada. Se você tiver apenas uma placa de Ethernet em sua máquina, o nome da interface será en0. Se você tiver apenas uma placa de Token Ring, o nome da interface será tr0. Se você tiver diversas placas de qualquer tipo, será preciso determinar o mapeamento das placas. Use as seguintes etapas:

  1. Na linha de comandos, inicie o executor: dscontrol executor start
  2. Execute o comando: dscontrol executor xm 1

A saída será exibida na tela. Para determinar o nome da interface a ser usado para a configuração do Load Balancer, procure o endereço IP da sua máquina do Load Balancer nas listas que seguem o Número de Registros NIC.

Os endereços IP da máquina do Load Balancer serão listados como: ia->ia_addr. O nome da interface associado será listado como: ifp->if_name.

Os nomes de interface designados pelo comando executor configure são mapeados para nomes de interface listados nesse comando.

Após você obter essas informações de mapeamento, é possível criar um alias na interface de rede para o endereço de cluster.

Usando Comandos ifconfig para Configurar Aliases de Clusters

Nos sistemas Linux ou UNIX, o comando de configuração do executor executa comandos ifconfig.

Sistemas Solaris e HP-UX

Ao usar aplicativos do servidor específicos à ligação que se ligam a uma lista de endereços IP que não contêm o IP do servidor, use o comando arp publish, em vez do ifconfig para configurar dinamicamente um endereço IP na máquina do Balanceador de Carga. Por exemplo:

 arp -s <cluster> <Balanceador de Carga MAC address> pub

Etapa 6. Definir Portas e Configurar Opções de Porta

Para definir uma porta, insira o comando dscontrol port addcluster:port, edite o arquivo de configuração de amostra ou use a GUI. Cluster é um nome simbólico ou o endereço IP. Port é o número da porta que você está usando para esse protocolo. Você também poderá alterar várias configurações de porta neste momento. É necessário definir e configurar todos os servidores para uma porta. Consulte Referência de Comando para Dispatcher e CBR.

O número da porta 0 (zero) é usado para especificar uma porta curinga. Esta porta aceitará o tráfego de uma porta que não é destinada a nenhuma das portas definidas no cluster. A porta curinga é usada para configurar regras e servidores para qualquer porta. Essa função também pode ser usada, se você tiver um servidor idêntico e uma configuração de regra para várias portas. Portanto, o tráfego em uma porta pode afetar as decisões de balanceamento de carga para o tráfego em outras portas. Consulte Usar Porta Curinga para Direcionar Tráfego de Porta Não Configurada para obter informações adicionais sobre quando poderá desejar usar uma porta curinga.

Etapa 7. Definir Máquinas Servidor com Carga Balanceada

Para definir uma máquina servidor com carga balanceada, insira o comando dscontrol server add cluster:port:server, edite o arquivo de configuração de amostra ou use a GUI. Cluster e Server são o nome simbólico ou o endereço IP. Port é o número da porta que você está usando para esse protocolo. É necessário definir mais de um servidor para uma porta em um cluster, para executar o balanceamento de carga.

Servidores específicos à ligação: Se o componente Dispatcher estiver com balanceamento de carga para servidores específicos à ligação, os servidores deverão ser configurados para serem ligados ao endereço do cluster. Como o Dispatcher encaminha os pacotes sem alterar o endereço IP de destino, quando os pacotes acessam o servidor, eles ainda conterão o endereço de cluster como o destino. Se um servidor for configurado para ligar um endereço IP diferente do endereço de cluster, o servidor não poderá aceitar os pedidos destinados para o cluster.

Para determinar se o servidor é específico de ligação, emita o comando netstat -an e procure server:port. Se o servidor não for específico à ligação, o resultado desse comendo será 0.0.0.0:80. Se o servidor for específico à ligação, você verá um endereço, como 192.168.15.103:80.

Nota:
Para sistemas Solaris e Linux: Ao usar os orientadores, os servidores específicos à ligação não deverão ser instalados.

Instalação de Múltiplos Endereços: Em uma configuração instalada, o endereço da máquina servidor instalada não precisa ser idêntico ao nonforwarding address (NFA). Você poderá usar outro endereço, se a sua máquina tiver sido definida com múltiplos endereços IP. Para o componente Dispatcher, a máquina servidor colocada deve ser definida como colocada usando o comando dscontrol server. Para obter informações adicionais sobre servidores instalados, consulte Usando Servidores Instalados.

Para obter informações adicionais sobre a sintaxe de comando do servidor dscontrol, consulte dscontrol server — configurar servidores.

Etapa 8. Iniciar a Função de Gerenciador (Opcional)

A função de gerenciador melhora o balanceamento de carga. Para iniciar o gerenciador, insira o comando dscontrol manager start, edite o arquivo de configuração de amostra ou use a GUI.

Etapa 9. Iniciar a Função de Orientador (Opcional)

Os orientadores fornecem ao gerenciador mais informações sobre a habilidade das máquinas servidor com balanceamento de carga para responder a pedidos. Um orientador é específico a um protocolo. Por exemplo, para iniciar o orientador HTTP, emita o seguinte comando:

dscontrol advisor start http port
Para obter uma lista de orientadores juntamente com suas portas padrão, consulte Referência de Comando para Dispatcher e CBR. Para obter uma descrição de cada orientador, consulte Lista de Orientadores.

Etapa 10. Configurar Proporções do Cluster Conforme Necessário

Se você iniciar os orientadores, poderá modificar a proporção da importância fornecida às informações do orientador que está sendo incluído nas decisões de balanceamento de carga. Para configurar as proporções do cluster, emita o comando dscontrol cluster set cluster proportions. Para obter informações adicionais, consulte o Proporção de Importância Fornecida às Informações de Status.

Configurando Máquinas Servidor para Balanceamento de Carga

Execute as seguintes etapas, se uma destas condições for verdadeira:

Durante o uso de um método de encaminhamento mac, o Dispatcher só fará o balanceamento de carga em servidores que permitem que o adaptador de loopback seja configurado com um endereço IP adicional, para o qual o servidor backend nunca responderá a solicitações de ARP (protocolo de resolução de endereço). Siga as etapas nesta seção para configurar as máquinas servidor com balanceamento de carga.

Etapa 1. Criar o Alias do Dispositivo Loopback

Para que as máquinas servidor com balanceamento de carga funcionem, você deve configurar o dispositivo loopback (ou preferivelmente alias) (frequentemente denominado lo0) como o endereço do cluster. Durante o uso do método de encaminhamento mac, o componente Dispatcher não altera o endereço IP de destino no pacote TCP/IP antes de encaminhar o pacote para uma máquina servidor TCP. Configurando ou criando o alias do dispositivo loopback para o endereço do cluster, as máquinas servidor com balanceamento de carga aceitarão um pacote que foi endereçado ao endereço do cluster.

Se você tiver um sistema operacional que suporta a criação do alias da interface de rede (como os sistemas AIX, HP-UX, Linux, Solaris ou Windows), deverá criar o alias do dispositivo loopback para o endereço do cluster. O benefício de usar um sistema operacional que suporta aliases é que você pode configurar as máquinas servidores com carga balanceada para atender vários endereços de cluster.

IMPORTANTE: Para sistemas Linux, consulte Alternativas de Criação de Alias de Loopback do Linux ao Usar Encaminhamento mac do Load Balancer.

Se você tiver um servidor com um sistema operacional que não suporta aliases, deverá configurar o dispositivo loopback para o endereço do cluster.

Use o comando para seu sistema operacional, conforme mostrado em Tabela 2 para configurar ou criar o alias do dispositivo loopback.

Tabela 2. Comandos para criar o alias do dispositivo loopback (lo0) para Dispatcher
AIX,
AIX 4.3 ou anterior:
ifconfig lo0 alias cluster_address netmask netmask
Nota:
Use a máscara de rede do adaptador primário.
AIX 5.x ou mais recente:
ifconfig lo0 alias cluster_address netmask 255.255.255.255
HP-UX
ifconfig lo0:1 cluster_address up
Nota:
Se você usa aplicativos do servidor específicos de conexão que se conectam a uma lista de endereços IP que não contêm o IP do servidor, use o comando arp publish, em vez do ifconfig para configurar dinamicamente um endereço IP na máquina do Balanceador de Carga.

Por exemplo:

arp -s cluster_address Load Balancer's_MAC_address pub
Linux Escolha um dos seguintes comandos:
  • Use o comando IP:
    ip -4 addr add cluster_address/32 dev lo
  • Use o comando ifconfig:
    ifconfig lo:1 cluster_address  netmask 255.255.255.255 up
IMPORTANTE: Depois de emitir um dos comandos de configuração na sua máquina, useconsistentemente o mesmo comando de configuração (ip ou ifconfig), ou podem ocorrer resultados inesperados.
OS/2 ifconfig lo cluster_address
OS/390 Configurando um alias do loopback no sistema OS/390
  • No membro de parâmetro IP (arquivo), um Administrador precisará criar uma entrada na lista de endereços Inicial. Por exemplo,
    HOME
    ;Address                   Link
    192.168.252.11             tr0
    192.168.100.100            1tr1
    192.168.252.12             loopback
  • Vários endereços podem ser definidos para o loopback.
  • O endereço de loopback 127.0.0.1 é configurado por padrão.
Solaris
Solaris 7
ifconfig lo0:1 cluster_address 127.0.0.1 up
Solaris 8 e mais recente
ifconfig lo0:1 plumb cluster_address netmask netmask up
Windows
Windows NT
  1. Clique em Iniciar e em Configurações.
  2. Clique em Painel de Controle e dê um clique duplo em Rede.
  3. Se você ainda não tiver feito isso, inclua o MS Loopback Adapter Driver.
    1. Na janela Rede, clique em Adaptadores.
    2. Selecione MS Loopback Adapter e clique em OK.
    3. Quando for solicitado, insira o CD de instalação ou discos.
    4. Na janela Rede, clique em Protocolos.
    5. Selecione Protocolo TCP/IP e clique em Propriedades.
    6. Selecione MS Loopback Adapter e clique em OK.
  4. Configure o endereço de loopback para o endereço do cluster. Aceite a máscara e subrede padrão (255.0.0.0), e não insira um endereço de gateway.
Nota:
Você pode precisar sair e reinserir Configurações de Rede antes de o MS Loopback Driver aparecer em Configuração TCP/IP.
Outras versões do Windows (incluindo Windows Server 2003 e mais recente)
  1. Use o comando ipconfig para determinar o nome da interface para o dispositivo de loopback:
    ipconfig /all
    Esse comando localiza a conexão com uma descrição do Microsoft Loopback Adapter. O exemplo a seguir é a saída do comando ipconfig /all, em que o Microsoft Loopback Adapter é o adaptador Ethernet Local Area Connection 2, assim a conexão é Local Area Connection 2:
    Windows IP Configuration
    
     Host Name . . . . . . . . . . . . : ndserv10
     Primary Dns Suffix . . . . . . .  : rtp.somewhere.ibm.com
     Node Type . . . . . . . . . . . . : Unknown
     IP Routing Enabled. . . . . . . . : No
     WINS Proxy Enabled. . . . . . . . : No
     DNS Suffix Search List. . . . . . : rtp.somewhere.ibm.com
    
    Ethernet adapter Local Area Connection 2:
    
     Connection-specific DNS Suffix  . :
     Description . . . . . . . . . . . : Microsoft Loopback Adapter
     Physical Address. . . . . . . . . : 02-00-4C-4F-4F-50
     DHCP Enabled. . . . . . . . . . . : No
     IP Address. . . . . . . . . . . . : 9.42.92.158
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.160
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Default Gateway . . . . . . . . . :
     DNS Servers . . . . . . . . . . . : 127.0.0.1
  2. Inclua o endereço de cluster no loopback usando o comando netsh. Por exemplo:
    netsh interface ipv4 add address "Local Area Connection 2"
        9.42.92.161
    Nota:
    Se estiver usando uma configuração de alta disponibilidade, e a máquina estiver executando como a máquina primária, não crie o alias para o dispositivo de loopback, porque esse cenário evita que o tráfego para o endereço do cluster seja roteado pela máquina do Balanceador de Carregamento.
  3. Emita o seguinte comando ipconfig novamente, e você deve ver o endereço incluído no adaptador de loopback. Por exemplo, emita o seguinte comando:
    ipconfig /all
    Você deve visualizar uma saída semelhante à seguinte:
    Ethernet adapter Local Area Connection 2:
    
     Connection-specific DNS Suffix  . :
     Description . . . . . . . . . . . : Microsoft Loopback Adapter
     Physical Address. . . . . . . . . : 02-00-4C-4F-4F-50
     DHCP Enabled. . . . . . . . . . . : No
     IP Address. . . . . . . . . . . . : 9.42.92.158
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.161
     IP Address. . . . . . . . . . . . : 9.42.92.160
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Default Gateway . . . . . . . . . :
     DNS Servers . . . . . . . . . . . : 127.0.0.1
  4. Ative o encaminhamento para todas as interfaces na máquina que usa o seguinte comando:
    netsh interface ipv4 show interface
    Quaisquer interfaces listadas com um nome Local Area Connection devem possuir um encadeamento de IP ativado. Por exemplo:
    netsh interface ipv4>show interface
    Querying active state...
    
    Idx  Met  MTU   State         Name
    ---  ---- ----- ------------  -----
    6    2    1280  Disconnected  Teredo Tunneling Pseudo-Interface
    5    0    1500  Connected     Local Area Connection
    4    0    1500  Connected     Local Area Connection 2
    2    1    1280  Connected     Automatic Tunneling Pseudo-Interface
    1    0    1500  Connected     Loopback Pseudo-Interface
    
    netsh interface ipv4>set interface "Local Area Connection"
       forwarding=enabled
    Ok.
    
    netsh interface ipv4>set interface "Local Area Connection 2"
       forwarding=enabled
    Ok.
  5. Verifique se os pacotes de encaminhamento para cada Local Area Connection estão configurados para "Yes." Utilize os seguintes comandos:
    netsh interface ipv4>show interface "Local Area Connection"
    
    netsh interface ipv4>show interface "Local Area Connection 2"

Etapa 2. Verificar uma Rota Extra

Em alguns sistemas operacionais, uma rota padrão pode ter sido criada e precisa ser removida.

Exemplo do Windows:

  1. Após o comando route print ser inserido, uma tabela semelhante ao seguinte exemplo será exibida. (Esse exemplo mostra a localização e a remoção de uma rota extra para o cluster 9.67.133.158 com uma máscara de rede padrão de 255.0.0.0.)
    Active Routes:
     
    Network Address    Netmask            Gateway Address       Interface          Metric
    0.0.0.0            0.0.0.0            9.67.128.1            9.67.133.67         1
    9.0.0.0    255.0.0.0   9.67.133.158  9.67.133.158     1
    9.67.128.0         255.255.248.0      9.67.133.67           9.67.133.67         1
    9.67.133.67        255.255.255.255    127.0.0.1             127.0.0.1           1
    9.67.133.158       255.255.255.255    127.0.0.1             127.0.0.1           1
    9.255.255.255      255.255.255.255    9.67.133.67           9.67.133.67         1
    127.0.0.0          255.0.0.0          127.0.0.1             127.0.0.1           1
    224.0.0.0          224.0.0.0          9.67.133.158          9.67.133.158        1
    224.0.0.0          224.0.0.0          9.67.133.67           9.67.133.67         1
    255.255.255.255    255.255.255.255    9.67.133.67           9.67.133.67         1  
  2. Localize o endereço do cluster na coluna “Gateway Address” . Se você tiver uma rota extra, o endereço do cluster será exibido duas vezes. No exemplo fornecido, o endereço do cluster (9.67.133.158) é exibido na linha 2 e na linha 8.
  3. Localize o endereço de rede em cada linha na qual o endereço de cluster é exibido. Você precisa de uma dessas rotas e precisará excluir a outra rota, que é estranha. A rota extra a ser excluída é aquela cujo endereço de rede começa com o primeiro dígito do endereço de cluster, seguido por três zeros. No exemplo mostrado, a rota extra é aquela na linha dois, que tem um endereço de rede de 9.0.0.0:
              9.0.0.0    255.0.0.0   9.67.133.158  9.67.133.158     1 
     

Etapa 3. Excluir Qualquer Rota Extra

Você deve excluir a rota extra. Se o comando para o sistema operacional mostrado em Tabela 3 para excluir a rota extra.

Exemplo: Para excluir a rota extra, conforme mostrado na tabela de exemplo "Active Routes" para a Etapa 2, insira:

route delete 9.0.0.0 9.67.133.158
Tabela 3. Comandos para excluir qualquer rota extra para Dispatcher
HP-UX route delete cluster_address cluster_address
Windows route delete network_address cluster_address (em um prompt MS-DOS)
Nota:
Você deve excluir a rota extra sempre que reinicializar o servidor.

No Windows 2003, não é possível excluir rotas. Quaisquer rotas extras deverão ser ignoradas no Windows 2003. Se forem encontrados problemas com o roteamento após a criação do alias, remova o alias e inclua-o novamente usando uma máscara de rede diferente.

Usando o exemplo mostrado em Figura 15, e configurando uma máquina servidor que está em execução e os sistemas AIX, o comando será:

  route delete -net  204.0.0.0  204.67.172.72

Etapa 4. Verificar se o Servidor Está Configurado Corretamente

Para verificar se um servidor backend está configurado corretamente, execute as seguintes etapas a partir de uma máquina diferente na mesma sub-rede quando o Balanceador de Carga não estiver em execução e o cluster estiver desconfigurado:

  1. Emita o comando:
    arp -d cluster
  2. Emita o comando:
    ping cluster
    Não deve haver nenhuma resposta. Se houver uma resposta para o ping, assegure-se de que você não executou ifconfig no endereço do cluster para a interface. Assegure-se de que nenhuma máquina tenha uma entrada ARP publicada no endereço do cluster.
  3. Execute ping no servidor backend e emita imediatamente o comando:
    arp -a
    Na saída do comando, o endereço MAC do seu servidor deverá ser exibido. Emita o comando:
    arp -s cluster server_mac_address
  4. Efetue ping do cluster. Você deve obter uma resposta. Emita uma solicitação http, telnet ou outra que seja endereçada para o cluster que você quer que seja tratado por seu servidor backend. Certifique-se de que ele funcione corretamente.
  5. Emita o comando:
    arp -d cluster
  6. Efetue ping do cluster. Não deve haver nenhuma resposta.
    Nota:
    Se houver uma resposta, emita uma instrução arp cluster para obter o endereço MAC da máquina mal configurada. Em seguida, repita as etapas de 1 a 6.

Alternativas de Criação de Alias de Loopback do Linux ao Usar Encaminhamento mac do Load Balancer

Algumas versões dos sistemas Linux emitem respostas do ARP para qualquer endereço IP configurado na máquina em qualquer interface presente na máquina. É possível escolher também um endereço IP de origem do ARP para consultas who-has do ARP baseadas em todos os endereços IP presentes na máquina, independentemente das interfaces, nas quais esses endereços estão configurados. Isso faz com que todo o tráfego do cluster seja direcionado para um único servidor de uma maneira indeterminada.

Ao usar o método de encaminhamento Mac do Dispatcher, um mecanismo deve ser implementado para assegurar que o tráfego endereçado para cluster possa ser aceito pelas pilhas dos servidores de back-end, incluindo a máquina padrão com alta disponibilidade, quando ambas, a alta disponibilidade e a disposição, estão em uso.

Na maioria dos casos, você deve criar um alias para o endereço do cluster no loopback; portanto, servidores de back-end devem ter o cluster com alias no loopback, e se você usar a alta disponibilidade e a disposição, os servidores de balanceamento de carga em espera devem ter clusters com alias no loopback.

Para garantir que sistemas Linux não publiquem endereços no loopback, é possível usar qualquer uma das quatro soluções a seguir para tornar os sistemas Linux compatíveis com o encaminhamento mac do Dispatcher.

  1. Use um kernel que não anuncie os endereços. Esta é a opção preferencial, pois ela não incorre em uma sobrecarga por pacote e não requer a reconfiguração por kernel.
  2. Use as tabelas IP para redirecionar todos o tráfego do cluster recebido para o host local. Se você usar este método, não configure o adaptador loopback com um alias. Em vez disso, use o comando:
     # iptables -t nat -A PREROUTING -d $CLUSTER_ADDRESS -j REDIRECT
    Esse comando faz com que os sistemas Linux façam o NAT de destino em cada pacote, convertendo o endereço do cluster no endereço da interface. Esse método possui cerca de 6,4% de penalidade de rendimento de conexões por segundo. Esse método funciona em qualquer distribuição original suportada; nenhum módulo de kernel ou patch+build+install de kernel é necessário.
  3. Aplique o módulo noarp versão 1.2.0 ou superior. A origem do kernel deve estar disponível e configurada corretamente, e as ferramentas de desenvolvimento (gcc, gnu make, etc) devem estar disponíveis. Você deve construir e instalar o módulo, cada vez que for feito upgrade do kernel. Ele está disponível em http://www.masarlabs.com/noarp/. Como o próprio código do kernel não é modificado, é muito menos invasivo do que a solução nº 4 (listada a seguir), e é muito menos propenso a erros. Ele também deve ser configurado antes que qualquer endereço do cluster esteja com alias no loopback. Por exemplo:
    # modprobe noarp
    # noarpctl add $CLUSTER_ADDRESS nic-primary-addr
    em que nic-primary-addr é um endereço na mesma sub-rede que a do endereço do cluster. Em seguida, os clusters podem estar com alias de maneira normal, como:
     # ifconfig lo:1 cluster address netmask 255.255.255.255 up
    Nota:
    Para configurações de instalação de alta disponibilidade, noarpctl adds e dels devem ser colocados nos scripts go*. Isto garante que o Balanceador de Carga ativo possa usar o ARP para o endereço do cluster e que o Balanceador de Carga em espera, que está agindo como um servidor, não seja iniciado acidentalmente (isto é, indeterminadamente) para receber todo o tráfego do cluster.
  4. Obtenha a correção Julian no seguinte Web site: http://www.ssi.bg/~ja/#hidden. Siga as instruções de distribuição para corrigir e compilar um kernel adequado para uso com essa distribuição. Se este for um Balanceador de Carga de alta disponibilidade instalado, assegure-se de que o uname -r corresponda ao kernel fornecido por distribuição, e garanta que tenha iniciado com o arquivo .config do kernel de distribuição. Após a construção, instale e execute o kernel com a correção oculta Julian, seguindo as instruções na primeira solução listada para ativar a correção.
    Nota:
    As implicações do suporte de distribuição poderão existir, ao executar um kernel customizado.