<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<?
include ("inc/header.inc");
?>
<head>
<title>SCOP: Ajuda</title>
</head>
<body>
<h2 align="left">SCOP: Ajuda</h2>
<h2 align="center">Administração do <i>SCOP</i></h2>
<p align="justify">O <i>software</i> SCOP é uma ferramenta de administração de cluster (HeartBeat/IPVS). É baseado em Web, escrito em linguagem de programação PHP, permitindo a sua utilização com um simples navegador. O <i>software</i> SCOP tem licenciamento GPL e permite configurar os diversos componentes do <i>cluster</i>.</p>
<p align="justify">Esta página de ajuda é construída como uma FAQ a fim de proporcionar fácil acesso a informação. Onde quer que você veja um <i>link</i>, você pode clicar nele para ser direcionado para a parte relevante desta página.</p>
<h3>
<a href="#1">1. Ver Configuração</a></h3>
<a href="#1-1">1.1 Arquivo de configuração do balanceador de carga</a><br>
<a href="#1-2">1.2 Arquivo de configuração do balanceador de carga (HAProxy Camada 7)</a><br>
<a href="#1-3">1.3 Arquivo de configuração do balanceador de carga (SLL Termination Pound)</a><br>
<a href="#1-4">1.4 Configuração atual da rede</a><br>
<a href="#1-5">1.5 Recursos do Heartbeat</a><br>
<a href="#1-6">1.6 Tabela de roteamento atual</a><br>
<a href="#1-7">1.7 Regras de firewall atuais</a><br><br>
<h3>
<a href="#2">2. Editar Configuração</a></h3>
<h4>
<a href="#2-1">2.1 Configuração lógica do balanceador de carga</a></h4>
<a href="#2-1-1">2.1.1 Modificar Servidores Virtuais lógicos</a><br>
<a href="#2-1-1-1">2.1.1.1 Editar Servidor Virtual</a><br>
<a href="#2-1-1-2">2.1.1.2 Rótulo do Servidor Virtual</a><br>
<a href="#2-1-1-3">2.1.1.3 Servidor Virtual</a><br>
<a href="#2-1-1-4">2.1.1.4 Conexões persistentes: Você quer conexões persistentes (sticky connections) ?</a><br>
<a href="#2-1-1-5">2.1.1.5 Tempo limite de persistência: Por quanto tempo você quer que as conexões sejam persistentes ?</a><br>
<a href="#2-1-1-6">2.1.1.6 Escalonador</a><br>
<a href="#2-1-1-7">2.1.1.7 Servidor de Apoio (Fallback)</a><br>
<a href="#2-1-1-8">2.1.1.8 Tipo de checagem</a><br>
<a href="#2-1-1-9">2.1.1.9 Serviço a ser checado</a><br>
<a href="#2-1-1-10">2.1.1.10 Checagem de porta</a><br>
<a href="#2-1-1-11">2.1.1.11 Virtualhost</a><br>
<a href="#2-1-1-12">2.1.1.12 Login</a><br>
<a href="#2-1-1-13">2.1.1.13 Senha</a><br>
<a href="#2-1-1-14">2.1.1.14 Protocolo</a><br>
<a href="#2-1-1-15">2.1.1.15 Granularidade (para MegaProxies)</a><br>
<a href="#2-1-1-16">2.1.1.16 Arquivo a ser checado</a><br>
<a href="#2-1-1-17">2.1.1.17 Resposta esperada</a><br>
<a href="#2-1-1-18">2.1.1.18 Método de encaminhamento (Forwarding)</a><br>
<a href="#2-1-1-19">2.1.1.19 Método de retorno (Feedback)</a><br><br>
<a href="#2-1-2">2.1.2 Modificar Servidores Virtuais lógicos (HAProxy Camada 7)</a><br>
<a href="#2-1-2-1">2.1.2.1 Editar Servidor Virtual (HAProxy Camada 7)</a><br><br>
<a href="#2-1-3">2.1.3 Modificar Servidores Reais lógicos</a><br>
<a href="#2-1-4">2.1.4 Modificar Servidores Reais lógicos (HAProxy Camada 7)</a><br>
<a href="#2-1-5">2.1.5 Modificar configuração global</a><br><br>
<h4>
<a href="#2-2">2.2 Configuração física do balanceador de carga</a></h4>
<a href="#2-2-1">2.2.1 Modificar IPs Reais físicos (RIPs)</a><br>
<a href="#2-2-2">2.2.2 Modificar a configuração física da rede</a><br>
<a href="#2-2-3">2.2.3 Modificar IPs Virtuais físicos (VIPs)</a><br>
<a href="#2-2-4">2.2.4 (SSL Termination Pound)</a><br>
<h4>
<a href="#2-3">2.3 Serviços</a></h4>
<a href="#2-3-1">2.3.1 Reiniciar HAProxy</a><br>
<a href="#2-3-2">2.3.2 Reiniciar Pound-SSL</a><br>
<a href="#2-3-3">2.3.3 Reiniciar Heartbeat</a><br>
<a href="#2-3-4">2.3.4 Reiniciar Ldirectord</a><br>
<h4>
<a href="#2-4">2.4. Controle de Energia (Liga/Desliga)</a></h4>
<a href="#2-4-1">2.4.1 Reiniciar o servidor</a><br>
<a href="#2-4-2">2.4.2 Desligar o servidor</a><br>
<h4>
<a href="#2-5">2.5 Avançado</a></h4>
<a href="#2-5-1">2.5.1 Executar um comando shell</a><br><br>
<h3>
<a href="#3">3. Manutenção</a></h3>
<h4>
<a href="#3-1">3.1 Manter Servidores Reais</a></h4>
<a href="#3-1-1">3.1.1 Tornar um Servidor Real inativo (offline) ou ativo (online)</a><br>
<h4>
<a href="#3-2">3.2 Cópia de segurança (Backup) e Recuperação</a></h4>
<a href="#3-2-1">3.2.1 Fazer uma cópia de segurança (backup) online da configuração</a><br>
<a href="#3-2-2">3.2.2 Restaurar a última cópia de segurança (backup) online da configuração</a><br>
<a href="#3-2-3">3.2.3 Opções de recuperação de falhas</a><br>
<h4>
<a href="#3-3">3.3 Segurança e Manutenção</a></h4>
<a href="#3-3-1">3.3.1 Alterar senhas</a><br>
<a href="#3-3-2">3.3.2 Modificar a página de manutenção deste balanceador de carga</a><br>
<a href="#3-3-3">3.3.3 Firewall lock down wizard</a><br>
<a href="#3-3-4">3.3.4 Modificar o script do firewall deste balanceador de carga</a><br>
<a href="#3-3-5">3.3.5 Inicializar base de dados de estatísticas (rrdtool)</a><br>
<a href="#3-3-6">3.3.6 Reinicializar a base de dados de estatísticas</a><br>
<a href="#3-3-7">3.3.7 Correç&otile;es de Segurança e Atualizações do Aplicativo online</a><br><br>
<h3>
<a href="#4">4. Relatórios</a></h3>
<a href="#4-1">4.1 Status</a><br>
<a href="#4-2">4.2 Status (HAProxy Camada 7)</a><br>
<a href="#4-3">4.3 Taxa de tráfego por segundo</a><br>
<a href="#4-4">4.4 Quantidade de tráfego</a><br>
<a href="#4-5">4.5 Conexões atuais</a><br>
<a href="#4-6">4.6 Conexões atuais (resolve nome de computador - hostname)</a><br>
<a href="#4-7">4.7 Estatísticas gráficas ao longo do tempo</a><br><br>
<h3>
<a href="#5">5. Logs</a></h3>
<a href="#5-1">5.1 Ldirectord</a><br>
<a href="#5-2">5.2 SCOP</a><br>
<a href="#5-3">5.3 Heartbeat</a><br>
<a href="#5-4">5.4 Zerar todos os contadores de pacotes</a><br>
<a href="#5-5">5.5 Mudar o fuso horário</a><br><br>
----------------------------------------<br>
<h3>
<a name="1">1. Ver Configuração</a></h3>
<a name="1-1" style="font-weight: bold;">1.1 Arquivo de configuração do balanceador de carga</a><br>Exibe o conteúdo do arquivo <i>/etc/ha.d/conf/ldirectord.cf</i>. Este é um dos principais arquivos de configuração do balanceador de carga.<br>É uma boa prática guardar uma cópia deste arquivo.<br><br>
<a name="1-2" style="font-weight: bold;">1.2 Arquivo de configuração do balanceador de carga (HAProxy Camada 7)</a><br>Exibe o conteúdo do arquivo <i>/etc/haproxy/haproxy.cfg</i>. Este é um dos principais arquivos de configuração do balanceador de carga.<br>É uma boa prática guardar uma cópia deste arquivo.<br><br>
<a name="1-3" style="font-weight: bold;">1.3 Arquivo de configuração do balanceador de carga (SSL Termination Pound)</a><br>Exibe o conteúdo do arquivo <i>/usr/local/etc/pound.cfg</i>. Este é um dos principais arquivos de configuração do balanceador de carga.<br>É uma boa prática guardar uma cópia deste arquivo.<br><br>
<a name="1-4" style="font-weight: bold;">1.4 Configuração atual da rede</a><br>Esta opção exibe a saída do comando <i>ifconfig</i>, que você pode usar para checar quais endereços IPs o balanceador de carga está usando atualmente.<br><br>
<a name="1-5" style="font-weight: bold;">1.5 Recursos do Heartbeat</a><br>O arquivo de recursos do Heartbeat (<i>haresources</i>) especifica o nó master do balanceador de carga <i>lbmaster</i> e um ou mais endereços IPs Virtuais (VIPs) compartilhados.<br>Estes endereços IPs são ativados apenas no servidor master do balanceador de carga.<br><br>
<a name="1-6" style="font-weight: bold;">1.6 Tabela de roteamento atual</a><br>Esta opção exibe a saída do comando <i>route -v</i>, que você pode usar para certificar-se que seu gateway padrão (default gateway) está correto.<br><br>
<a name="1-7" style="font-weight: bold;">1.7 Regras de firewall atuais</a><br><br>
<h3>
<a name="2">2. Editar Configuração</a></h3>
<h4>
<a name="2-1">2.1 Configuração lógica do balanceador de carga</a></h4>
<a name="2-1-1" style="font-weight: bold;">2.1.1 Modificar Servidores Virtuais lógicos</a><br>Esta opção permite especificar quais Servidores Virtuais estão disponíveis e como eles estão configurados.<br>O cliente PC somente consegue acessar um Servidor Real se ele foi configurado como um membro ativo de um grupo de Servidores Virtuais e o VIP especificado é configurado como um endereço IP Físico compartilhado no balanceador de carga.<br><br>
<a name="2-1-1-1" style="font-weight: bold;">2.1.1.1 Editar Servidor Virtual</a><br>Este formulário permite editar um Servidor Virtual.<br><br>
<a name="2-1-1-2" style="font-weight: bold;">2.1.1.2 Rótulo do Servidor Virtual</a><br>O rótulo é apenas um nome legível para o VIP especificado. Exemplo: MeuPrincipal_HTTP_VIP<br><br>
<a name="2-1-1-3" style="font-weight: bold;">2.1.1.3 Servidor Virtual</a><br>Este é o endereço que os clientes irão conectar antes de serem redirecionados para os Servidores Reais no grupo.<br>O Servidor Virtual deve ser especificado como uma combinação de endereço IP:Porta (10.0.0.21:80) ou como um Firewall Mark (1).<br>O VIP especificado deve estar no arquivo <i>haresources</i> (endereço IP Virtual Físico) e ativo como um apelido (<i>alias</i>) no servidor master do balanceador de carga.<br>Se estiver usando <i>Firewall Marks</i>, o 'firewall mark' especificado deve estar presente no script <i>rc.firewall</i>.<br>Por que não há uma listagem de portas ? Porque pareceu apenas confundir as pessoas. Mas aqui estão alguns exemplos de números de portas se você está enferrujado ou não tem acesso ao Google.<br>
<ul>
<li> 21 : FTP</li>
<li> 25 : SMTP</li>
<li> 80 : HTTP</li>
<li> 110 : POP</li>
<li> 143 : IMAP</li>
<li> 443 : SSL</li>
<li> 1443: MS-SQL</li>
<li> 389 : LDAP</li>
<li> 119 : NNTP</li>
<li> 3389: Terminal Server</li>
</ul>
<a name="2-1-1-4" style="font-weight: bold;">2.1.1.4 Conexões persistentes: Você quer conexões persistentes (sticky connections) ?</a><br>Conexões persistentes (sticky connections) são necessárias para FTP, alguns clientes quando utilizam SSL e, infelizmente, algumas vezes necessárias com HTTP se sua aplicação web não consegue conservar o estado entre os Servidores Reais.<br>OBS.: Se seus Servidores Reais não conseguem manter sessões persistentes, então tudo que você irá conseguir com o balanceador de carga será desempenho e NÃO tolerância à falhas.<br><br>
<a name="2-1-1-5" style="font-weight: bold;">2.1.1.5 Tempo limite de persistência: Por quanto tempo você quer que as conexões sejam persistentes ?</a><br>O tempo de persistência é em segundos e é inicializado a cada conexão, ou seja, 5 minutos de persistência durarão para sempre se você continuar clicando repetidamente no link dentro daqueles 5 minutos.<br><br>
<a name="2-1-1-6" style="font-weight: bold;">2.1.1.6 Escalonador</a><br>Qual método usar no roteamento para os Servidores Reais:<br>
<ul>
<li> rr (Round Robin): associa jobs igualmente entre os Servidores Reais disponíveis, não considerando capacidade de processamento, quantidade de conexões ou tempo de resposta dos servidores;</li>
<li> wrr (Weighted Round Robin): combina o método Round Robin com um peso para cada nó; associa jobs para os Servidores Reais proporcionalmente ao peso dos Servidores Reais. Servidores com pesos mais altos receberão novos jobs primeiro e receberão mais jobs do que servidores com pesos mais baixos. Servidores com pesos iguais obterão uma distribuição igual dos novos jobs. <i>Este é o método padrão se nenhum método for selecionado;</i></li>
<li> lc (Least-Connection): associa mais jobs para Servidores Reais com menos jobs ativos;</li>
<li> wlc (Weighted Least-Connection): combina o método Least-Connection com um peso para cada nó; associa mais jobs para os Servidores Reais com menos jobs e proporcionalmente ao peso dos Servidores Reais;</li>
<li> lblc (Locality-Based Least-Connection): associa jobs destinados para o mesmo endereço IP para o mesmo servidor se o servidor não está sobrecarregado e está disponível; caso contrário, associa jobs para servidores com menos jobs e mantém esta informação para associações futuras;</li>
<li> lblcr (Locality-Based Least-Connection with Replication): associa jobs destinados para o mesmo endereço IP para o nó com menos conexões no conjunto de servidores para aquele endereço IP. Se todos os nós no conjunto de servidores estão sobrecarregados, ele seleciona um nó com menos jobs no cluster e adiciona ele no conjunto de servidores para o endereço IP destino. Se o conjunto de servidores não tem sido modificado durante um período de tempo especificado, o nó mais sobrecarregado é removido do conjunto de servidores a fim de evitar um alto grau de replicação;</li>
<li> dh (Destination Hashing): associa jobs para os servidores através da pesquisa em uma tabela hash estática de endereços IP de destino;</li>
<li> sh (Source Hashing): associa jobs para os servidores através da pesquisa em uma tabela hash estática de endereços IP de origem.</li>
</ul>
<a name="2-1-1-7" style="font-weight: bold;">2.1.1.7 Servidor de Apoio (Fallback)</a><br>Servidor que responderá pelo serviço quando todos os Servidores Reais do grupo falharem na checagem de sanidade.<br>O servidor padrão é 127.0.0.1:VipPortNo (localhost), a instalação local do servidor Apache (configurado para sempre exibir a página <i>index.html</i>).<br>Você pode configurar o Servidor de Apoio para ser um mecanismo de tolerância à falhas (<i>Hot Spare</i>) se necessário.<br><br>
<a name="2-1-1-8" style="font-weight: bold;">2.1.1.8 Tipo de checagem</a>
<ul>
<li> Negociação (<i>Negotiate</i>): Pesquisa a resposta especificada na página especificada;</li>
<li> Conexão (<i>Connect</i>): Executa uma conexão simples no serviço especificado;</li>
<li> Off: Todos Servidores Reais estão Off;</li>
<li> On: Todos Servidores Reais estão On (sem checagem);</li>
<li> 5: Executa 5 testes de Conexão e 1 de Negociação;</li>
<li> 10: Executa 10 testes de Conexão e 1 de Negociação.</li>
</ul>
<a name="2-1-1-9" style="font-weight: bold;">2.1.1.9 Serviço a ser checado</a><br>O serviço a ser checado deve normalmente combinar com o número da porta; se seu serviço não está presente use <i>none</i>.<br><br>
<a name="2-1-1-10" style="font-weight: bold;">2.1.1.10 Checagem de porta</a><br>Se você deseja checar, digamos, o serviço HTTPS, mas não na porta padrão (443) então você pode especificar a porta aqui.<br><br>
<a name="2-1-1-11" style="font-weight: bold;">2.1.1.11 Virtualhost</a><br>Se o Servidor Real irá responder somente a uma URL ou <i>virtualhost</i> ao invés de um endereço IP.<br>Você pode especificar o <i>virtualhost</i> para requisição aqui.<br><br>
<a name="2-1-1-12" style="font-weight: bold;">2.1.1.12 Login</a><br>O nome de usuário (<i>login</i>) para acessar contas IMAP, POP3 ou FTP (checagem de Negociação).<br><br>
<a name="2-1-1-13" style="font-weight: bold;">2.1.1.13 Senha</a><br>A senha (<i>password</i>) a ser utilizada.<br><br>
<a name="2-1-1-14" style="font-weight: bold;">2.1.1.14 Protocolo</a><br>
<ul>
<li> tcp: <i>Este é o protocolo padrão se nenhum protocolo for selecionado;</i></li>
<li> udp: Para DNS, etc.</li>
<li> ops: Para UDP com Escalonamento de Um Pacote (<i>One Packet Scheduling</i>);</li>
<li> fwm: Use esta opção para utilizar <i>Firewall Marks</i>.</li>
</ul>
<a name="2-1-1-15" style="font-weight: bold;">2.1.1.15 Granularidade (para MegaProxies)</a><br>Não preocupe-se com megaproxy a menos que seus servidores necessitem de persistência. E não acredite em jogadas de marketing sobre persistência de cookie e aceleração de SSL. TODOS ESTES MÉTODOS SÃO FUNDAMENTALMENTE FALHOS. A ÚNICA solução é um banco de dados do estado das sessões compartilhadas para todos os seus servidores web.<br><br>Alguns grandes provedores utilizam proxies clusterizados; isso significa que o endereço IP de origem do cliente pode ficar mudando.<br>Se você deseja persistência de HTTP e isto está causando problemas então você pode configurar uma máscara maior no endereço IP de origem para persistência, por exemplo, 255.255.255.0 para uma subrede classe C inteira.<br>OBS: IP 255.255.255.255 único é o padrão.<br><br>
<a name="2-1-1-16" style="font-weight: bold;">2.1.1.16 Arquivo a ser checado</a><br>Especifique o arquivo a ser checado se você está usando 'Negociação' no Tipo de Checagem.<br>Você pode especificar um único arquivo na raiz do servidor web - "checkfile.html" - ou especificar um caminho - "/test/database/isbackendup.php".<br><br>
<a name="2-1-1-17" style="font-weight: bold;">2.1.1.17 Resposta esperada</a><br>Esta é a resposta que deve ser recebida para a negociação ter sucesso. A checagem de Negociação será bem sucedida se a resposta esperada - ex: "OK" - é encontrada em algum lugar na resposta do servidor web quando o <i>arquivo a ser checado</i> é requisitado.<br><br>
<a name="2-1-1-18" style="font-weight: bold;">2.1.1.18 Método de encaminhamento (Forwarding)</a><br>O método que o balanceador de carga utiliza para endereçar os Servidores Reais:<br>
<ul>
<li> gate: <i>Este é o método padrão: Roteamento Direto (Direct Routing)</i>;</li>
<li> ipip: Este é para conexões WAN: Encapsulamento (Tuneling);</li>
<li> masq: Este é para NAT: Tradução de Endereços de Rede (Network Address Translation).</li>
</ul>
<span style="font-weight: bold;">Roteamento Direto (Direct Routing)</span>: Este é o método padrão porque é fácil de entender e implementar com dois balanceadores de carga em modo tolerante à falhas (<i>failover</i>) (a configuração sugerida para o balanceador de carga). Ele requer apenas um endereço IP Virtual externo na mesma subrede que seu cluster web e apenas uma placa de rede.<br>Obviamente ele requer que você use seu próprio firewall e faça sua própria tradução de endereços (NAT) de IPs públicos para IPs internos mas eu não sei porque alguém arriscaria usar um balanceador de carga como um firewall quando eles não são especializados para isso.<br> O Roteamento Direto simplesmente altera o endereço MAC do pacote para redirecionar ele para um servidor no cluster, então quando ele chega ao servidor, este diz "Oi, eu estou procurando pelo VIP." O servidor web DEVE PRETENDER ser o VIP mas NÃO DIZ PARA O RESTANTE DA REDE ! Este é chamado o problema ARP ("ARP problem") porém é muito simples de resolver, colocando o VIP no adaptador loopback de cada servidor.<br>A outra vantagem do Roteamento Direto é que cada servidor web pode responder às requisições através de seu próprio gateway padrão (default gateway), com grande velocidade, sem necessitar que os pacotes retornem através do balanceador de carga.<br><br><span style="font-weight: bold;">Encapsulamento (Tuneling)</span>: Este método é algo limitado à medida que ele requer um encapsulamento IP entre o balanceador de carga e o Servidor Real; uma vez que o VIP é o endereço destino muitos roteadores irão eliminar o pacote assumindo que ele tem sido forjado (<i>spoofing</i>). Entretanto ele É útil para redes privadas com Servidores Reais em múltiplas subredes.<br><br><span style="font-weight: bold;">Tradução de Endereços de Rede (Network Address Translation)</span>: Este método tem a vantagem que você pode fazer o balanceamento de carga de qualquer dispositivo sem ter que lidar com o problema ARP ("ARP problem"). Os Servidores Reais precisam que seus gateway padrão (default gateway) sejam alterados para o endereço VIP interno do balanceador de carga. Como o balanceador de carga manipula o pacote de retorno você obterá estatísticas mais detalhadas porém com velocidade mais lenta do que com Roteamento Direto ou Encapsulamento. O método NAT pode também ser implementado com uma única placa de rede (NIC-Network Interface Card); apenas use o script do firewall para configurar um apelido (<i>alias</i>) na interface <i>eth0</i>.<br><br>
<a name="2-1-1-19" style="font-weight: bold;">2.1.1.19 Método de retorno (Feedback)</a><br>O método que o balanceador de carga utiliza para medir o desempenho dos Servidores Reais:<br>
<ul>
<li> agent: Um telnet simples na porta 3333 do Servidor Real;</li>
<li> http: Um simples HTTP GET na porta 3333 do Servidor Real;</li>
<li> none: Sem informação de retorno (<i>esta é a configuração padrão se nenhuma for selecionada</i>).</li>
</ul>
O balanceador de carga espera como resposta um inteiro de 0-99 do agente usualmente informando o estado ocioso da CPU, ou seja, uma resposta de 92 implicaria que a CPU dos Servidores Reais está 92% ociosa. O balanceador de carga então usará a fórmula (92/10*peso_requisitado) para calcular um novo peso otimizado. Usando este método um Servidor Real ocioso receberá 10 vezes mais conexões do que um servidor sobrecarregado.<br><br>
<a name="2-1-2" style="font-weight: bold;">2.1.2 Modificar Servidores Virtuais lógicos (HAProxy Camada 7)</a><br>HAProxy é um <i>software</i> livre, muito rápido e confiável, oferecendo alta disponibilidade, balanceamento de carga e proxy para aplicações baseadas em TCP e HTTP. Ele é particularmente apropriado para sítios web congestionados com carga muito alta e que necessitam persistência ou processamento na Camada 7. As características <b>poll</b>/<b>epoll</b> do HAProxy suportam um número muito grande de sessões, IPv6 no lado do cliente, cookies de aplicação, reconfiguração dinâmica (<i>hot-reconfiguration</i>), regulação de carga dinâmica avançada (<i>advanced dynamic load regulation</i>), <i>TCP keepalive</i>, <i>source hash</i> e balanceamento de carga ponderado (<i>weighted load balancing</i>).<br><br>A funcionalidade do HAProxy é inteiramente separada da funcionalidade do balanceador de carga baseada na Camada 4 do LVS (Linux Virtual Server).<br><br><span style="font-weight: bold; color: rgb(255, 0, 0);">IMPORTANTE: Quaisquer alterações na configuração do HAProxy não são ativadas até que você manualmente reinicie o serviço HAProxy.</span><br><br>
<a name="2-1-2-1" style="font-weight: bold;">2.1.2.1 Editar Servidor Virtual (HAProxy Camada 7)</a><br>O Servidor Virtual (Camada 7 HaProxy) deve ser especificado no formato usual <i>ipaddress:port</i>.<br> O Servidor de Apoio (<i>Fallback</i>) pode ser qualquer servidor e você pode também alterar a porta se necessário (ou seja, redirecionamento de porta).<br>Se o <i>mode</i> do Servidor Virtual é <i>http</i> e <i>persistence</i>=yes então o proxy irá automaticamente inserir um cookie para cada servidor no grupo e assegurar que todas as requisições com aquele cookie irão para o servidor correto. Se o <i>mode</i> é <i>tcp</i> então a persistência é baseada no endereço IP de origem.<br><br>
<a name="2-1-3" style="font-weight: bold;">2.1.3 Modificar Servidores Reais lógicos</a><br>Esta opção permite especificar quais Servidores Reais estão disponíveis para cada Servidor Virtual, ou seja, quando o cliente PC faz uma requisição para VIP:Porta para qual RIP:Porta ele será redirecionado ?<br>Servidores Reais podem ser especificados com um peso relativo, ou seja, 1 para um Servidor Real mais rápido e 10 para um Servidor Real mais lento.<br><i>OBS: Configurar um peso '0' tornará o Servidor Real offline.</i><br><br>
<a name="2-1-4" style="font-weight: bold;">2.1.4 Modificar Servidores Reais lógicos (HAProxy Camada 7)</a><br>Esta opção permite ao administrador especificar quais Servidores Reais estão disponíveis para cada Servidor Virtual de Camada 7, ou seja, quando o cliente PC faz uma requisição para VIP:Porta para qual RIP:Porta ele será redirecionado ?<br>Servidores Reais podem ser especificados com um peso relativo, ou seja, 1 para um Servidor Real mais rápido e 10 para um Servidor Real mais lento.<br><i>OBS. Configurar um peso '0' tornará o Servidor Real offline.</i><br><br>
<a name="2-1-5" style="font-weight: bold;">2.1.5 Modificar configuração global</a><br>Três configurações globais para Servidores Virtuais são configuradas aqui:<br>
<ul>
<li> Intervalo de Checagem (<i>Check Interval</i>): Número de segundos entre checagens de sanidade nos Servidores Reais;</li>
<li> Tempo limite de Chegagem (<i>Check Timeout</i>): Número de segundos antes de uma checagem de sanidade exceder o tempo limite;</li>
<li> Quiescente (<i>Quiescent</i>): 'yes' indica que o peso deve ser mudado para 0 quando a checagem de sanidade falha;<br>'no' indica para remover completamente o Servidor Real.</li>
</ul>
<i>OBS: Se você está usando conexões persistentes (sticky connections) e Quiescente está configurado para 'yes', quando um Servidor Real torna-se inativo (offline) ele ainda receberá conexões dos clientes.</i><br><br>
<h4>
<a name="2-2">2.2 Configuração física do balanceador de carga</a></h4>
<a name="2-2-1" style="font-weight: bold;">2.2.1 Modificar IPs Reais físicos (RIPs)</a><br>O endereço IP Real (RIP) do balanceador de carga é o endereço que você usa para administração.<br>Normalmente você necessitará somente uma única interface <i>eth0</i> para ser configurada.<br>Se você não pode modificar seus Servidores Reais para resolver o problema do protocolo ARP (ARP problem), então você pode configurar o balanceador de carga para conexões NAT entre duas redes separadas (como um firewall). Neste caso você irá querer configurar <i>eth0</i> como a rede interna e <i>eth1 </i> como a rede externa.<br>Todos os Servidores Reais e Virtuais então necessitam ser configurados para usar o método MASQ ao invés de GATE.<br><i>OBS: Você também precisará dois endereços IPs Virtuais (VIPs) e todos os servidores internos precisarão que seus gateways padrão (default gateway) sejam configurados para o endereço IP Virtual interno.</i><br><br>
<a name="2-2-2" style="font-weight: bold;">2.2.2 Modificar a configuração física da rede</a><br>Este formulário permite alterar:<br>
<ul>
<li> Nome do computador (Hostname): <i>lbmaster</i> ou <i>lbslave</i>;</li>
<li> Balanceador de carga escravo (<i>slave</i>): O endereço IP do balanceador de carga escravo (usado para replicação);</li>
<li> Gateway Padrão (Default Gateway): Acesso a internet a partir do balanceador de carga;</li>
<li> Força sincronismo total com o servidor escravo: Se esta opção for marcada, então transfere imediatamente todos arquivos de configuração para o servidor escravo;</li>
<li> Servidor de Nomes de Domínio: Servidor DNS padrão (default).</li>
</ul>
Se você está configurando dois balanceadores de carga, então esteja certo que ambos tem o nome de computador (hostname) correto e que o servidor master conhece o endereço IP do servidor escravo. Uma vez que isto esteja configurado todas as mudanças serão automaticamente replicadas do servidor master para o servidor escravo (<i>slave</i>).<br><br>
<a name="2-2-3" style="font-weight: bold;">2.2.3 Modificar IPs Virtuais físicos (VIPs)</a><br>Este formulário permite modificar o arquivo <span style="font-style: italic;">haresources</span>, o qual especifica quais endereços IPs de recursos o servidor master do balanceador de carga controla.<br>Quando você adiciona ou remove endereços IPs compartilhados você deve reiniciar o Heartbeat para que as mudanças tenham efeito.<br>Se você tem dois balanceadores de carga você deve se certificar que o arquivo <i>haresources</i> é o mesmo em ambos os servidores.<br><span style="font-style: italic;">OBS. Uma vez que o servidor master saiba o endereço IP do servidor escravo (<i>slave</i>), todas as configurações são automaticamente replicadas.</span><br><br>
<a name="2-2-4" style="font-weight: bold;">2.2.4 (SSL Termination Pound)</a><br>Pound é um pequeno e rápido servidor proxy-reverso e um envoltório SSL: <em>Pound</em> decripta as requisições HTTPS do navegador do cliente e passa elas como texto plano HTTP para os servidores back-end. O balanceador de carga usa o Pound para decriptar o tráfego SSL e passar ele para o servidor HaProxy, o qual pode então inserir cookies para obter persistência na Camada 7.<br><br>A configuração do Pound consiste de endereços IPs Virtuais para o tráfego SSL de entrada, ou seja, <span style="font-style: italic;">ipadress:443</span> e um back-end para o qual passar o tráfego decriptado, ou seja, <i>ipaddress:80</i>. Estes serão usualmente o mesmo VIP com uma porta diferente.<br><br>Por padrão, o SSL usa um certificado auto-assinado no formato PEM.<br><i>OBS: Você necessitará gerar seu próprio certificado usando um provedor confiável.</i><br><br><span style="font-weight: bold; color: rgb(255, 0, 0);">IMPORTANTE: Quaisquer alterações na configuração do Pound não são ativadas até que você manualmente reinicie o serviço Pound.</span><br><br>Tenha certeza que o arquivo do certificado inclui:<br>
<ul>
<li> (opcional) uma corrente (<i>chain</i>) de certificados de uma autoridade certificadora para o certificado do seu servidor;</li>
<li> o certificado do servidor;</li>
<li> a chave privada; a chave NÃO pode ser protegida por senha.</li>
</ul>
O arquivo deve estar no formato PEM. O comando OpenSSL para gerar um certificado auto-assinado na forma correta seria algo como:<br><br><i>openssl req -x509 -newkey rsa:1024 -keyout test.pem -out test.pem -days 365 -nodes</i><br><br>
<h4>
<a name="2-3">2.3 Serviços</a></h4>
<a name="2-3-1" style="font-weight: bold;">2.3.1 Reiniciar HAProxy</a><br><br>
<a name="2-3-2" style="font-weight: bold;">2.3.2 Reiniciar Pound-SSL</a><br><br>
<a name="2-3-3" style="font-weight: bold;">2.3.3 Reiniciar Heartbeat</a><br>Se você fizer quaisquer alterações em <i>haresources</i> (Endereços IPs Virtuais Físicos) você deve reiniciar o serviço Heartbeat (em ambos os nós) para que as mudanças tenham efeito. Se o servidor escravo (<i>slave</i>) está corretamente configurado, ele reiniciará o serviço Heartbeat simultaneamente.<br><i>AVISO: Isto pode desabilitar seu VIP por alguns instantes.</i><br><br>
<a name="2-3-4" style="font-weight: bold;">2.3.4 Reiniciar Ldirectord</a><br>Se você cometer algum erro durante a configuração, o Ldirectord do balanceador de carga (que faz a checagem de sanidade) pode terminar; ele irá auto-reinicializar após alguns instantes mas você pode querer forçá-lo a reiniciar.<br><i>OBS: O balanceador de carga continuará a executar seu trabalho se o serviço Ldirectord cair exceto se a configuração não fizer nenhum sentido.</i><br><br>
<h4>
<a name="2-4">2.4 Controle de Energia (Liga/Desliga)</a></h4>
<a name="2-4-1" style="font-weight: bold;">2.4.1 Reiniciar o servidor</a><br>Reiniciar o servidor do balanceador de carga.<br><br>
<a name="2-4-2" style="font-weight: bold;">2.4.2 Desligar o servidor</a><br>Desligar o servidor do balanceador de carga (para manutenção).<br><i>OBS: O computador não desligará; ele apenas irá parar o sistema (halt).</i><br><br>
<h4>
<a name="2-5">2.5 Avançado</a></h4>
<a name="2-5-1" style="font-weight: bold;"">2.5.1 Executar um comando shell</a><br>Esta opção permite executar um comando shell como usuário privilegiado no servidor (seja cuidadoso!) e verifique a saída. Alguns exemplos:
<ul>
<li> <i>free -m</i>: verificar o uso de memória;</li>
<li> <i>ps -ef</i>: visualizar utilização de processos;</li>
<li> <i>/etc/rc.d/init.d/sshd restart</i>: para reiniciar o serviço <i>sshd</i> se você terminou o processo por engano;</li>
<li> <i>uptime</i>: para ver o número de meses/anos de tempo de execução (uptime) e carga do processador.</li>
</ul><br>
<h3>
<a name="3">3. Manutenção</a></h3>
<h4>
<a name="3-1">3.1 Manter Servidores Reais</a></h4>
<a name="3-1-1" style="font-weight: bold;">3.1.1 Tornar um Servidor Real inativo (offline) ou ativo (online)</a><br>Este formulário permite a você tornar Servidores Reais individuais inativos (offline) ou torná-los ativos (online) novamente.<br>Isto é útil se você necessita tornar um servidor inativo para manutenção.<br>A tela de manutenção mostra ambos os estados requisitado - ONLINE ou OFFLINE - e atual - ATIVO ou INATIVO (o qual será obtido através da checagem do servidor em tempo real).<br>Quando você solicita que um servidor mude o estado para ativo (online) ou inativo (offline), esta operação normalmente levará 5 segundos para entrar em vigor.<br><i>OBS. Se VOCÊ requisitou que TODOS os Servidores Reais fiquem inativos (OFFLINE), então o Servidor de Apoio (Fallback) NÃO será ativado.</i><br><br>
<h4>
<a name="3-2">3.2 Cópia de segurança (Backup) e Recuperação</a></h4>
<a name="3-2-1" style="font-weight: bold;">3.2.1 Fazer uma cópia de segurança (backup) online da configuração</a><br>Esta opção faz uma cópia de segurança (<i>backup/snapshot</i>) das configurações atuais; é desejável fazer isto antes de uma mudança significativa para o caso de acontecerem problemas.<br><br>
<a name="3-2-2" style="font-weight: bold;">3.2.2 Restaurar a última cópia de segurança (backup) online da configuração</a><br>Esta opção recupera instantaneamente a última cópia de segurança (<i>backup/snapshot</i>) das configurações (seja cuidadoso!).<br><i>OBS: Você pode necessitar reiniciar os serviços Heartbeat e/ou Ldirectord em alguns casos.</i><br><br>
<a name="3-2-3" style="font-weight: bold;">3.2.3 Opções de recuperação de falhas</a><br>Este formulário permite a você fazer backups offline da configuração atual do balanceador de carga.<br>É altamente recomendado que você faça isto uma vez que seu cluster esteja configurado.<br><br>
<h4>
<a name="3-3">3.3 Segurança e Manutenção</a></h4>
<a name="3-3-1" style="font-weight: bold;">3.3.1 Alterar senhas</a><br>Este formulário permite criar, editar e excluir usuários da interface web do balanceador de carga.<br>Você pode mudar as senhas dos usuários administradores do balanceador de carga aqui.<br>Quando você edita um usuário você pode especificar se eles são:<br>
<ul>
<li> <i>maint</i>: Habilitados a visualizar relatórios e tornar Servidores Reais ativos (online) ou inativos (offline);</li>
<li> <i>report</i>: Habilitados apenas para visualizar os relatórios;</li>
<li> <i>config</i>: Acesso total como super usuário.</li>
</ul>
<a name="3-3-2" style="font-weight: bold;">3.3.2 Modificar a página de manutenção deste balanceador de carga</a><br>Quando todos os Servidores Reais falham na checagem de sanidade o balanceador de carga direcionará para a sua a página de manutenção local; você pode editar esta página para dizer: "Sinto muito, sítio fechado para manutenção.", etc.<br><br>
<a name="3-3-3" style="font-weight: bold;">3.3.3 Firewall lock down wizard</a><br><br>
<a name="3-3-4" style="font-weight: bold;">3.3.4 Modificar o script do firewall deste balanceador de carga</a><br>Este formulário permite você editar o arquivo <i>rc.firewall</i> (seja cuidadoso!).<br>Ele pode usado para apoiar a segurança (você poderia também configurar seu próprio firewall !)<br>Ou ele pode ser usado para criar grupamentos customizados de Servidores Virtuais usando <i>firewall marks</i>.<br>Por exemplo, ao invés de agrupar VIP:Porta, você poderia agrupar com Fwmark e definir a marca como:<br># VIP2="192.168.0.67"<br># /sbin/iptables -t mangle -A PREROUTING -p tcp -d $VIP2 -j MARK --set-mark 2<br>ou seja, QUALQUER pacote destinado para 192.168.0.67<br><br>
<a name="3-3-5" style="font-weight: bold;">3.3.5 Inicializar base de dados de estatísticas (rrdtool)</a><br>Esta opção irá analisar os Servidores Virtuais e Reais atuais e criar um novo banco de dados rrdtool e <i>cron jobs</i> relevantes para produzir estatísticas gráficas para conexões ativas e inativas através do balanceador de carga.<br><br>
<a name="3-3-6" style="font-weight: bold;">3.3.6 Reinicializar a base de dados de estatísticas</a><br>Se você faz mudanças na sua configuração, isto reinicializará os gráficos sem recriar as bases de dados do zero.<br><i>OBS: Se você adicionou um IP Virtual, você precisará fazer uma inicialização completa.</i><br><br>
<a name="3-3-7" style="font-weight: bold;">3.3.7 Patches de Segurança e Atualizações de Software online</a><br><br>
<h3>
<a name="4">4. Relatórios</a></h3>
<a name="4-1" style="font-weight: bold;">4.1 Status</a><br>Este relatório online mostra o número atual de conexões ativas e inativas para cada Servidor Real configurado.<br>Ele também mostra o peso atual de cada Servidor Real.<br>Se o peso é 0 ou o Servidor Real não está aparecendo (QUIESCENT=no), isto significa que a checagem de sanidade falhou para este Servidor Real; verifique o arquivo de log do Ldirectord para confirmar se necessário.<br><i>OBS: A tela de manutenção mostra claramente o status em tempo real dos Servidores Reais e Virtuais usando os dados deste relatório.</i><br><br>
<a name="4-2" style="font-weight: bold;">4.2 Status (HAProxy Camada 7)</a><br>Este relatório é obtido através da instância <i>stats</i> do HAProxy cujo padrão é <i>physicalipaddress:7777</i>.<br>Esta página web contém o estado ativo atual de todos os Servidores Reais e Virtuais configurados na HAProxy Camada 7.<br><br>
<a name="4-3" style="font-weight: bold;">4.3 Taxa de tráfego por segundo</a><br>Este relatório mostra as <i>conexões atuais por segundo</i> e <i>bytes por segundo</i> para cada Servidor Real.<br><br>
<a name="4-4" style="font-weight: bold;">4.4 Quantidade de tráfego</a><br>Este relatório mostra o volume de tráfego para cada Servidor Real desde o momento que os contadores foram inicializados pela última vez.<br><br>
<a name="4-5" style="font-weight: bold;">4.5 Conexões atuais</a><br>Este relatório lista todas as conexões TCP através do balanceador de carga mostrando o IP de origem, IP Virtual e IP Real.<br><br>
<a name="4-6" style="font-weight: bold;">4.6 Conexões atuais (resolve nome de computador - hostname)</a><br>O mesmo que acima mas também resolve o nome do computador (hostname) através do endereço IP.<br><br>
<a name="4-7" style="font-weight: bold;">4.7 Estatísticas gráficas ao longo do tempo</a><br>As estatísticas gráficas são atualizadas a cada 5 minutos e permitem que você analise o padrão de tráfego diário, semanal, mensal e até anual. Tudo isto é feito usando RRDTOOL, então você pode mudar os gráficos como necessário..<br><br>
<h3>
<a name="5">5. Logs</a></h3>
<a name="5-1" style="font-weight: bold;">5.1 Ldirectord</a><br>O log do Ldirectord mostra a saída do daemon de checagem de sanidade; isto é útil para checar o nível de sanidade dos seus Servidores Reais ou identificar quaisquer erros de configuração. Estes logs podem ser bem extensos mas mostram claramente o que o daemon de checagem de sanidade está fazendo.<br><br>
<a name="5-2" style="font-weight: bold;">5.2 SCOP</a><br>O log do SCOP mostra quaisquer mudanças feitas através do sistema de administração. Útil para provar que alguém alterou algo que não deveria.<br><br>
<a name="5-3" style="font-weight: bold;">5.3 Heartbeat</a><br>O log do Heartbeat mostra o estado do Heartbeat entre os nó master e escravo (<i>slave</i>).<br> Não se preocupe com as várias mensagens de uso de memória neste log; eles são a prova que tudo está funcionando bem.<br><br>
<a name="5-4" style="font-weight: bold;">5.4 Zerar todos os contadores de pacotes</a><br>Esta opção zera todos os contadores de pacotes para os relatórios do balanceador de carga.<br><br>
<a name="5-5" style="font-weight: bold;">5.5 Mudar o fuso horário</a><br>O relógio local do balanceador de carga é atualizado uma vez ao dia utilizando <i>ntp</i>; isto requer que seu gateway padrão (default gateway) e DNS estejam configurados corretamente.<br>Este formulário permite ajustar o fuso horário que é informado nos logs.
</body>
<?
include ("inc/footer.inc");
?>
</html>