1 Red Hat Linux Virtual Server (LVS). 2 1 - Visão Geral do Linux Virtual Server Configuração...

Post on 17-Apr-2015

160 views 3 download

Transcript of 1 Red Hat Linux Virtual Server (LVS). 2 1 - Visão Geral do Linux Virtual Server Configuração...

1

Red Hat Linux Virtual Server (LVS)

2

1 - 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

3

Uma configuração básica do LVS

4

Visã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.

5

Linux 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

6

Algoritmos 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

7

Topologias

• NAT LVS Network– Vantagens– desvantagens

• LVS via Direct Routing– Vantagens

• mais rápido

– Desvantages• Problema com o ARP (usar o arptables_jf ou

iptables ...)

8

Persistence 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

9

Persistence• 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)

10

Firewall 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

11

Componentes do LVSO 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

12

Componentes do LVS

13

2 – 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

14

Configuraçã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)

15

Configurando 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

16

Piranha

Antes de usarmos o Piranha, é necessário definir um password.

Para isso, uso o comando:

# /usr/sbin/piranha-passwd

17

Piranha - 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 start|restart

Para inicializar o serviço.

• Para acessar o software, abra o browser em http://localhost:3636

18

Habilitando o encaminhamento de pacotes

• Faça

# /sbin/sysctl net.ipv4.ip_forward=1

Verifique

# /sbin/sysctl net.ipv4.ip_forward

# 1

19

3 – 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

20

Configurando 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

21

The NAT LVS Network

• Layout da Rede (Network layout)

• Hardware

• Software

22

LVS via Direct Routing (DR)

• Layout da Rede (Network Layout)

• Hardware

• Software

23

Serviços que usam múltiplas portas e o LVS

24

Configurando 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

25

Como 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.

26

Gravando 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

27

4 – 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

28

Softwares Necessários

• O software piranha-gui deve estar rodando no roteador LVS primário

• Verifique através do comando:# service piranha-gui status

29

Logando na Ferramenta de Configuração Piranha

• http://localhost:3636

• Username: piranha

• Password: piranha

30

Control/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)

31

Controle de Monitoramento

32

Painel Control/Monitoring

• Auto update

• Update information now

• Change Password

33

Global Settings

34

Parâmetros Globais

• O painel GLOBAL SETTINGS é onde você define os detalhes de rede para as interfaces pública e privada do roteador do LVS

35

Parâ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)

36

Configuração NAT

– NAT Router IP:– NAT Router Netmask:– NAT Router device:

37

Redundância

• O painel REDUNDANCY permite que configuremos o endereço IP do nó backup do roteador LVS

38

Redundância

39

Redundâ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

40

Servidores 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

41

Virtual Servers

42

Virtual Servers

• Cada servidor exibido no painel VIRTUAL SERVERS pode ser configurado em telas ou subseções subsequentes

43

Sub-Sessões de Virtual Servers

• VIRTUAL SERVER

• REAL SERVER

• MONITORING SCRIPTS

44

VIRTUAL 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

45

Linux Virtual Server

46

Virtual Server

47

Virtual 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

48

REAL SERVER

• É o servidor que fica na retaguarda e executa os serviços reais de redes, tais como: Web, FTP, DNS, streaming, LDAP, VOIP

49

REAL SERVER

50

Configuraçã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

51

Real Server

52

Painel 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

53

MONITORING SCRIPTS

• São os scripts de monitoramento dos serviços oferecidos pelo servidor

54

Script de Monitoramento

55

The edit monitoring scripts

• Sending Program:

• Send:

• Expect:

56

Sincronizando 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 BACKUP=<IP do roteador backup>

# scp /etc/sysconfig/ha/lvs.cf $BACKUP: /etc/sysconfig/ha/lvs.cf

57

Iniciando 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

58

Iniciando o LVS (2)

• Monitore a janela de logs

• Quando a mensagem “gratuitous lvs arps finished” aparecer significa que o daemon pulse iniciou sem problemas

59

Iniciando o LVS - roteador backup

• Repita as mesma instruções executadas para iniciar o LVS no roteador primário.

60

Apêndice A – Usando o LVS com o Red Hat Cluster

61

Apê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

62

Configuraçõ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

63

Camadas

• 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

64

Backup

65

Papé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

66

Piranha

• É uma ferramenta de configuração gráfica (GUI) usada para estabelecer, monitorar e administrar um cluster LVS (Linux Virtual Server)