Title: Red Hat Linux Virtual Server (LVS)
1Red Hat Linux Virtual Server (LVS)
21 - Visão Geral do Linux Virtual Server
- Configuração básica do LVS
- Uma configuração em três camadas
- Visão geral do escalonador do LVS
- Métodos de Roteamento
- NAT (Network Address Translator)
- Direct Routing (DR)
- Persistência e Firewall Marks
- LVS Diagrama de Blocos
3Uma configuração básica do LVS
4Visão Geral do Linux Virtual Server (LVS)
- LVS é um conjunto integrado de componentes de
software para balancear a carga de pacotes IP
através de um conjunto de servidores reais. - O LVS roda em um par de computadores configurados
igualmente um que representa o roteador LVS
ativo (active LVS router) e um que é o backup LVS
router.
5Linux Virtual Server (LVS)
- LVS desempenha balanceamento de carga através
técnicas de roteamento especializadas que
disparam o tráfego a um conjunto de servidores
6Algoritmos de Escalonamento
- Round-Robin Scheduling
- Weighted Round-Robin Scheduling
- Least-Connection
- Weighted Least-Connection (default)
- Locality-Based Least-Connection Scheduling
- Locality-Based Least-Connection Scheduling with
Replication Scheduling - Destination Hash Scheduling
- Source Hash Scheduling
7Topologias
- NAT LVS Network
- Vantagens
- desvantagens
- LVS via Direct Routing
- Vantagens
- mais rápido
- Desvantages
- Problema com o ARP (usar o arptables_jf ou
iptables ...)
8Persistence e Firewall Marks
- Em certas situações, é desejável que o cliente
reconecte repetidamente ao mesmo servidor real.
Exemplos de tais situações incluem formulários
web de várias páginas, cookies, conexões SSL e
FTP - Nesses casos, o cliente não funcionará
apropriadamente a menos que a transação seja
manuseada pelo mesmo servidor a fim de manter o
contexto. - LVS provê duas features diferentes para manusear
isso persistência e firewall marks
9Persistence
- A persistência age como um temporizador, quando
habilitada. - Quando um cliente conecta-se a um serviço, o LVS
lembra-se a última conexão por um tempo
especificado. - Se o mesmo cliente usando o mesmo endereço IP
conectar-se novamente dentro do perÃodo
especificado, ele é enviado ao mesmo servidor
conectado previamente - sobrepondo o mecanismo de
balanceamento de carga - Quando a conexão ocorre fora do perÃodo de tempo
especificado, ele é tratado de acordo com as
regras de escalonamento que estiverem em vigor. - Grouping connections destinadas a diferentes
portas podem ser importante para protocolos que
usam mais de uma porta de comunicação, como o
protocolo FTP (usa as portas 20 e 21)
10Firewall Marks
- Firewall Marks ? é uma maneira fácil e eficiente
para agrupar portas usadas por um protocolo ou
grupo de protocolos relacionados - Por exemplo, se um LVS é distribuÃdo para
executar uma aplicação de e-commerce, firewall
marks pode ser usado para empacotar as conexões
usando as portas 80 (HTTP) e 443 (HTTPS) - Atribuindo o mesmo firewall mark ao servidor
virtual para cada protocolo, a informação de
estado para a transação pode ser preservada
porque o roteador LVS encaminha todas as
requisições ao mesmo servidor real depois que a
conexão é aberta - Pela sua eficiencia e facilidade de uso, os
administrador do LVS devem usar Firewall Marks ao
invés de Persistence sempre que possivel para
agrupar as conexões. Contudo, os administradores
devem ainda adicionar persistencia aos servidores
virtuais em conjunto com firewall marks para
garantir que os clientes são reconectados ao
mesmo servidor por um tempo adequado de tempo
11Componentes do LVS
- O LVS usa uma coleção de programas para monitorar
os membros e serviços de um cluster - pulse ? é um deamon que executa tanto no nó
principal quanto no nó backup. É responsável pelo
controle dos outros deamons e manipula o failover
entre as caixas de roteamento do IPVS - lvs ? é um deamon que roda no nó ativo ele
gerencia a tabela de roteamento do IPVS através
da ferramenta ipvsadm - ipvsadm ? IP Virtual Server Administrator
- nanny ? esse processo verifica o estado de um
serviço configurado em um servidor real e diz ao
deamon lvs se o serviço estiver com problemas. - /etc/sysconfig/ha/lvs.cf ? é o arquivo de
configuração do LVS - Piranha Configuration Tool (piranha-gui)
- send_arp
12Componentes do LVS
132 Configuração inicial do LVS
- Configurando os serviços nos roteadores LVS
- Configurando a password para o Piranha
- Iniciando o Piranha
- Limitando o acesso ao Piranha
- Ligando o encaminhamento de pacotes
- Configurando os Serviços nos servidores reais
14Configuração de Serviços
- Há três serviços que precisam ser habilitados
durante o boot - O serviço piranha-gui (apenas no nó primário)
- O serviço pulse
- O serviço sshd (normalmente já está instalado)
15Configurando os serviços para iniciarem durante o
boot
- /sbin/chkconfig --level 35 daemon on
- Onde daemon deve ser substituido por cada um dos
serviços (pulse, piranha-gui) - /sbin/chkconfig --level 35 pulse on
- /sbin/chkconfig --level 35 piranha-gui on
- Use o comando
- /sbin/chkconfig --list
- Para obter uma lista de todos os serviços
disponÃveis
16Piranha
- Antes de usarmos o Piranha, é necessário definir
um password. - Para isso, uso o comando
- /usr/sbin/piranha-passwd
17Piranha - Inicialização
- Inicie ou reinicie o serviço piranha-gui
localizado em /etc/rc.d/init.d/piranha-gui - Use o comando
- /sbin/service piranha-gui startrestart
- Para inicializar o serviço.
- Para acessar o software, abra o browser em
http//localhost3636
18Habilitando o encaminhamento de pacotes
- Faça
- /sbin/sysctl net.ipv4.ip_forward1
- Verifique
- /sbin/sysctl net.ipv4.ip_forward
- 1
193 Setting Up LVS
- A rede NAT LVS
- LVS via Direct Routing
- Colocando as configurações juntas
- Serviços multiportas e LVS
- Configurando o FTP
- Armazenando as configurações do Network Packet
Filter
20Configurando o LVS
- O LVS consiste de dois grupos fundamentais
- Grupo de roteadores LVS
- Active LVS
- Backup LVS (modo Hot standby)
- Grupo de servidores reais
- Servidor real 1
- ...
- Servidor real n
- Obs para prevenir um ponto único de falha, cada
grupo deve conter pelo menos dois membros no
sistema
21The NAT LVS Network
- Layout da Rede (Network layout)
- Hardware
- Software
22LVS via Direct Routing (DR)
- Layout da Rede (Network Layout)
- Hardware
- Software
23Serviços que usam múltiplas portas e o LVS
24Configurando o FTP
- Como o FTP trabalha
- Como isso afeta o roteamento do LVS
- Criando Network Packet Filter Rules
- Regras para Active Connections
- Regras para Passive Connections
25Como o FTP trabalha
- Porta de Controle do FTP 21
- Dois tipos de conexão de dados
- Active Connection
- Passive Connection
- O cliente determina o tipo da conexão e não o
servidor.
26Gravando a configuração do Network Packet Filter
- /sbin/service iptables save
- Este comando armazena a configuração em
/etc/sysconfig/iptables - de forma que que esta configuração seja
restabelecida em tempo de boot - /sbin/sevice iptables start stop
274 Configurando os roteadores LVS o Piranha
- Softwares necessários
- Logando na Piranha
- Controlando/Monitorando
- Settings globais
- Servidores Virtuais
- Sincronizando os arquivos de configuração
- Iniciando o LVS
28Softwares Necessários
- O software piranha-gui deve estar rodando no
roteador LVS primário - Verifique através do comando
- service piranha-gui status
29Logando na Ferramenta de Configuração Piranha
- http//localhost3636
- Username piranha
- Password piranha
30Control/Monitoring
- O painel Control/Monitoring apresenta um status
limitado da execução do LVS - Ele exibe
- Status do daemon pulse
- A tabela de roteamento do LVS
- Processos nanny espalhados pelo LVS (LVS-spanned
nanny processes)
31Controle de Monitoramento
32Painel Control/Monitoring
- Auto update
- Update information now
- Change Password
33Global Settings
34Parâmetros Globais
- O painel GLOBAL SETTINGS é onde você define os
detalhes de rede para as interfaces pública e
privada do roteador do LVS
35Parâmetros Globais
- Primary server public IP endereço IP real do nó
LVS primário - Primary server private IP
- Use network type selecione entre NAT e Direct
Routing (DR)
36Configuração NAT
- NAT Router IP
- NAT Router Netmask
- NAT Router device
37Redundância
- O painel REDUNDANCY permite que configuremos o
endereço IP do nó backup do roteador LVS
38Redundância
39Redundância
- Redundant server public IP entre o endereço IP
real e público para o nó backup do roteador LVS - Redundant server private IP
- Heartbeat interval (seconds) estabelece o número
de segundos entre os heartbeats - é o intervalo
que o nó backup irá verificar o status funcional
do nó primário do LVS - Assume dead after (seconds) se o nó LVS
primário não responder após esse número de
segundos, então o nó do roteador LVS backup irá
iniciar o processo de failover - Heartbeat runs on port estabelece a porta pela
qual o heartbeat comunica-se com o nó LVS primário
40Servidores Virtuais
- O painel VIRTUAL SERVERS exibe informações sobre
cada servidor virtual definido - Cada entrada na tabela exibe o status do servidor
virtual, seu nome, o IP atribuÃdo ao servidor, a
máscara do IP virtual, o nº da porta através da
qual o serviço se comunica, o protocolo usado, e
a interface do dispositivo virtual
41Virtual Servers
42Virtual Servers
- Cada servidor exibido no painel VIRTUAL SERVERS
pode ser configurado em telas ou subseções
subsequentes
43Sub-Sessões de Virtual Servers
- VIRTUAL SERVER
- REAL SERVER
- MONITORING SCRIPTS
44VIRTUAL SERVER
- É um servidor altamente escalável e disponÃvel
construÃdo em um cluster (agrupamento) de
servidores reais - A arquitetura do Server Cluster (agrupamento de
servidores) é completamente transparente aos
usuários finais, e os usuários interagem com o
sistema de cluster como se ele fosse somente um
único servidor virtual de alta performance
45Linux Virtual Server
46Virtual Server
47Virtual Server
- Name entre com um nome descritivo para
identificar o servidor virtual - Application Port entre o número atraves da qual
o servidor de aplicação irá ouvir - Protocol selecione um dos protocolos TCP ou UDP
- Virtual IP Address enter com o endereço VIP
nesse campo - Virtual IP Network Mask estabelece a máscara de
rede para o servidor virtual - Firewall Mark
- Device
- Re-entry Time
- Service Timeout
- Quiesce server
- Load monitoring tool
- Scheduling (Escalonamento) seleciona o tipo de
algoritmo de escalonamento - Persistence
- Persistence Network Mask
48REAL SERVER
- É o servidor que fica na retaguarda e executa os
serviços reais de redes, tais como Web, FTP,
DNS, streaming, LDAP, VOIP
49REAL SERVER
50Configuração de Servidores Reais
- Clique no botão Add para adicionar um novo
servidor real - Clique no botão Delete para remover um servidor
real - Selecione o radio button e pressione o botão Edit
para alterar as informações sobre um servidor
real - Clique no botão (De)activate para
ativar/desativar um servidor real
51Real Server
52Painel de configuração do servidor real
- Name (Nome) um nome descritivo para o servidor
real (o nome não é o hostname da máquina,
portanto faça-o descritÃvel e de facilmente
identificável) - Address (Endereço IP) o endereço IP real do
servidor - Weight (peso) um número inteiro que indica a
capacidade relativa desse host com relação aos
outros hosts do pool
53MONITORING SCRIPTS
- São os scripts de monitoramento dos serviços
oferecidos pelo servidor
54Script de Monitoramento
55The edit monitoring scripts
- Sending Program
- Send
- Expect
56Sincronizando os arquivos de configuração
- Copiar a configuração do roteador ativo para o
roteador backup - Execute os comandos abaixo a partir do servidor
primário - export BACKUPltIP do roteador backupgt
- scp /etc/sysconfig/ha/lvs.cf BACKUP
/etc/sysconfig/ha/lvs.cf
57Iniciando o LVS
- Abra duas janelas de terminal como root
- Em um terminal monitore as mensagens do log do
kernel usando o comando - tail -f /var/log/messages
- No outro terminal, inicie o LVS
- /sbin/service pulse start
58Iniciando o LVS (2)
- Monitore a janela de logs
- Quando a mensagem gratuitous lvs arps finished
aparecer significa que o daemon pulse iniciou sem
problemas
59Iniciando o LVS - roteador backup
- Repita as mesma instruções executadas para
iniciar o LVS no roteador primário.
60Apêndice A Usando o LVS com o Red Hat Cluster
61Apêndice A Usando LVS com o Red Hat Cluster
- Roteadores LVS podem ser usados juntamente com o
Red Hat Cluster para prover um site de e-commerce
de alta disponibilidade que provê balanceamento
de carga, integridade de dados e disponibilidade
da aplicação
62Configurações
- Uma configuração three-tier (3-camadas) é
requerida a fim de prover conteúdo dinâmico - Uma configuração two-tier (2-camadas) é
apropriado se o servidor web prover somente
conteúdo estático
63Camadas
- Cada camada prove as seguintes funções
- Primeira camada roteadores LVS fazendo o
balanceamento de carga requisições web
distribuÃdas - Segunda camada um conjunto de servidores Web
para servir as requisições - Terceira camada um Cluster Red Hat para prover
dados aos servidores Web
64Backup
65Papéis desempenhados pela LVS ativo e backup
- Papéis do LVS ativo
- Balancear a carga entre os servidores reais
- Verificar a integridade de serviços da cada
servidor real - Papéis do LVS backup
- Monitora o LVS ativo e toma o seu lugar no caso
dele falhar
66Piranha
- É uma ferramenta de configuração gráfica (GUI)
usada para estabelecer, monitorar e administrar
um cluster LVS (Linux Virtual Server)